135 lines
5.7 KiB
Plaintext
135 lines
5.7 KiB
Plaintext
<MudDialog>
|
|
<TitleContent>
|
|
<MudText Typo="Typo.h4" Align="Align.Center">@GetDialogTitle()</MudText>
|
|
</TitleContent>
|
|
<DialogContent>
|
|
@if (_currentStep == AuthStep.Phone)
|
|
{
|
|
<!-- Phone Step -->
|
|
<MudText Typo="Typo.body2" Class="mb-4" Align="Align.Center">لطفاً شماره موبایل خود را وارد کنید تا رمز پویا ارسال شود.</MudText>
|
|
|
|
<MudForm @ref="_phoneForm" Model="_phoneRequest" Validation="@(_phoneRequestValidator.ValidateValue)">
|
|
<MudTextField @bind-Value="_phoneRequest.Mobile"
|
|
For="@(() => _phoneRequest.Mobile)"
|
|
Label="شماره موبایل"
|
|
InputType="InputType.Telephone"
|
|
InputMode="InputMode.tel"
|
|
Variant="Variant.Outlined"
|
|
Immediate="true"
|
|
Required="true"
|
|
RequiredError="وارد کردن شماره موبایل الزامی است."
|
|
HelperText="مثال: 09121234567"
|
|
Class="mb-2" />
|
|
|
|
<MudCheckBox T="bool"
|
|
Label="شرایط و قوانین را میپذیرم"
|
|
Class="mb-1" />
|
|
|
|
@if (!string.IsNullOrWhiteSpace(_errorMessage))
|
|
{
|
|
<MudAlert Severity="Severity.Error" Dense="true" Elevation="0" Class="mb-2">@_errorMessage</MudAlert>
|
|
}
|
|
</MudForm>
|
|
}
|
|
else if (_currentStep == AuthStep.Verify)
|
|
{
|
|
<!-- Verify Step -->
|
|
<MudText Typo="Typo.body2" Class="mb-4" Align="Align.Center">رمز پویا شش رقمی ارسال شده به @_phoneNumber را وارد کنید.</MudText>
|
|
|
|
<MudForm @ref="_verifyForm" Model="_verifyRequest" Validation="@(_verifyRequestValidator.ValidateValue)">
|
|
<MudTextField @bind-Value="_verifyRequest.Code"
|
|
For="@(() => _verifyRequest.Code)"
|
|
Label="رمز پویا"
|
|
InputType="InputType.Telephone"
|
|
InputMode="InputMode.tel"
|
|
Variant="Variant.Outlined"
|
|
Immediate="true"
|
|
Required="true"
|
|
RequiredError="وارد کردن رمز پویا الزامی است."
|
|
HelperText="کد ۶ رقمی"
|
|
Class="mb-2"
|
|
MaxLength="6" />
|
|
|
|
@* <MudText Typo="Typo.body1" Align="Align.Center" Class="mb-2">
|
|
تلاش باقیمانده: @_attemptsLeft از @MaxVerificationAttempts
|
|
</MudText> *@
|
|
|
|
@if (!string.IsNullOrWhiteSpace(_errorMessage))
|
|
{
|
|
<MudAlert Severity="Severity.Error"
|
|
Dense="true"
|
|
Elevation="0"
|
|
Class="mb-2">
|
|
@(_errorMessage)
|
|
</MudAlert>
|
|
}
|
|
|
|
@if (!string.IsNullOrWhiteSpace(_infoMessage))
|
|
{
|
|
<MudAlert Severity="Severity.Success"
|
|
Dense="true"
|
|
Elevation="0"
|
|
Class="mb-2">
|
|
@(_infoMessage)
|
|
</MudAlert>
|
|
}
|
|
|
|
<MudStack Spacing="2">
|
|
<MudButton Variant="Variant.Text"
|
|
Color="Color.Secondary"
|
|
Disabled="_isBusy"
|
|
OnClick="ChangePhoneAsync">
|
|
تغییر شماره
|
|
</MudButton>
|
|
</MudStack>
|
|
|
|
<MudDivider Class="my-2" />
|
|
|
|
@if (_resendRemaining > 0)
|
|
{
|
|
<MudText Typo="Typo.body2" Align="Align.Center" Class="mud-text-secondary">
|
|
امکان ارسال مجدد تا @_resendRemaining ثانیه دیگر
|
|
</MudText>
|
|
}
|
|
else
|
|
{
|
|
<MudButton Variant="Variant.Text"
|
|
Color="Color.Primary"
|
|
Disabled="_isBusy"
|
|
OnClick="ResendOtpAsync">
|
|
ارسال مجدد رمز پویا
|
|
</MudButton>
|
|
}
|
|
</MudForm>
|
|
}
|
|
</DialogContent>
|
|
<DialogActions>
|
|
@if (!HideCancelButton)
|
|
{
|
|
<MudButton Variant="Variant.Text"
|
|
OnClick="Cancel"
|
|
Disabled="_isBusy">لغو</MudButton>
|
|
}
|
|
@if (_currentStep == AuthStep.Phone)
|
|
{
|
|
<MudButton Variant="Variant.Filled"
|
|
Color="Color.Primary"
|
|
OnClick="SendOtpAsync"
|
|
Disabled="_isBusy"
|
|
FullWidth="true">
|
|
ارسال رمز پویا
|
|
</MudButton>
|
|
}
|
|
else if (_currentStep == AuthStep.Verify)
|
|
{
|
|
<MudButton Variant="Variant.Filled"
|
|
Color="Color.Primary"
|
|
OnClick="VerifyOtpAsync"
|
|
Disabled="_isBusy || IsVerificationLocked"
|
|
FullWidth="true">
|
|
تأیید و ورود
|
|
</MudButton>
|
|
}
|
|
</DialogActions>
|
|
</MudDialog>
|