@attribute [Route(RouteConstants.Profile.ChangePassword)]

<PageTitle>تغییر رمز عبور</PageTitle>

<MudContainer MaxWidth="MaxWidth.Small" Class="py-6">
    <MudStack Spacing="3">
        <PageHeader Title="تغییر رمز عبور" BackHref="@RouteConstants.Profile.Settings" />

        <MudPaper Elevation="2" Class="pa-4 rounded-lg">
            <MudStack Spacing="3">
                @if (_success)
                {
                    <MudAlert Severity="Severity.Success" Variant="Variant.Filled">
                        رمز عبور با موفقیت تغییر کرد
                    </MudAlert>
                }
                else
                {
                    <MudTextField T="string" @bind-Value="_currentPassword" 
                                  Label="رمز عبور فعلی" 
                                  InputType="InputType.Password"
                                  Required="true"
                                  RequiredError="رمز عبور فعلی الزامی است"
                                  Variant="Variant.Outlined" />
                    
                    <MudTextField T="string" @bind-Value="_newPassword" 
                                  Label="رمز عبور جدید" 
                                  InputType="InputType.Password"
                                  Required="true"
                                  RequiredError="رمز عبور جدید الزامی است"
                                  HelperText="حداقل 8 کاراکتر شامل حروف و اعداد"
                                  Variant="Variant.Outlined" />
                    
                    <MudTextField T="string" @bind-Value="_confirmPassword" 
                                  Label="تکرار رمز عبور جدید" 
                                  InputType="InputType.Password"
                                  Required="true"
                                  RequiredError="تکرار رمز عبور الزامی است"
                                  Variant="Variant.Outlined" />

                    @if (!string.IsNullOrEmpty(_error))
                    {
                        <MudAlert Severity="Severity.Error" Variant="Variant.Outlined">@_error</MudAlert>
                    }

                    <MudStack Row="true" Justify="Justify.FlexEnd" Class="mt-2">
                        <MudButton Variant="Variant.Filled" 
                                   Color="Color.Primary" 
                                   OnClick="ChangePasswordAsync" 
                                   Disabled="_saving"
                                   StartIcon="@Icons.Material.Filled.Lock">
                            @if (_saving)
                            {
                                <MudProgressCircular Size="Size.Small" Indeterminate="true" Class="me-2" />
                                <span>در حال ذخیره...</span>
                            }
                            else
                            {
                                <span>تغییر رمز عبور</span>
                            }
                        </MudButton>
                    </MudStack>
                }
            </MudStack>
        </MudPaper>
    </MudStack>
</MudContainer>
