Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 4m5s

This commit is contained in:
masoodafar-web
2026-05-01 00:16:24 +03:30
4 changed files with 37 additions and 4 deletions
+6 -2
View File
@@ -22,7 +22,9 @@
PhoneNumber="@_phoneNumber" PhoneNumber="@_phoneNumber"
ResendRemaining="_resendRemaining" ResendRemaining="_resendRemaining"
OnChangePhone="ChangePhoneAsync" OnChangePhone="ChangePhoneAsync"
OnResendOtp="ResendOtpAsync" /> OnResendOtp="ResendOtpAsync"
ReferralCode="@_referralCode"
ReferralCodeChanged="OnReferralCodeChanged" />
</div> </div>
} }
else else
@@ -51,7 +53,9 @@ else
PhoneNumber="@_phoneNumber" PhoneNumber="@_phoneNumber"
ResendRemaining="_resendRemaining" ResendRemaining="_resendRemaining"
OnChangePhone="ChangePhoneAsync" OnChangePhone="ChangePhoneAsync"
OnResendOtp="ResendOtpAsync" /> OnResendOtp="ResendOtpAsync"
ReferralCode="@_referralCode"
ReferralCodeChanged="OnReferralCodeChanged" />
<MudStack Class="mt-4" Spacing="2"> <MudStack Class="mt-4" Spacing="2">
@if (_currentStep == AuthStep.Phone) @if (_currentStep == AuthStep.Phone)
@@ -42,6 +42,9 @@ public partial class AuthDialog : IDisposable
private string? _captchaCode; private string? _captchaCode;
private string? _captchaInput; private string? _captchaInput;
// Referral code field
private string? _referralCode;
[Inject] private ILocalStorageService LocalStorage { get; set; } = default!; [Inject] private ILocalStorageService LocalStorage { get; set; } = default!;
[Inject] private UserContract.UserContractClient UserClient { get; set; } = default!; [Inject] private UserContract.UserContractClient UserClient { get; set; } = default!;
@@ -66,9 +69,20 @@ public partial class AuthDialog : IDisposable
{ {
_phoneRequest.Mobile = storedPhone; _phoneRequest.Mobile = storedPhone;
} }
_referralCode = await LocalStorage.GetItemAsync<string>("referral:code");
// await LocalStorage.RemoveItemAsync(TokenStorageKey); // await LocalStorage.RemoveItemAsync(TokenStorageKey);
} }
private async Task OnReferralCodeChanged(string? value)
{
_referralCode = value;
if (!string.IsNullOrWhiteSpace(value))
await LocalStorage.SetItemAsync("referral:code", value);
else
await LocalStorage.RemoveItemAsync("referral:code");
}
private void GenerateCaptcha() private void GenerateCaptcha()
{ {
_captchaCode = Guid.NewGuid().ToString("N")[..6].ToUpperInvariant(); _captchaCode = Guid.NewGuid().ToString("N")[..6].ToUpperInvariant();
@@ -182,9 +196,12 @@ public partial class AuthDialog : IDisposable
_verifyRequest.Mobile = _phoneNumber; _verifyRequest.Mobile = _phoneNumber;
var storedReferralCode = await LocalStorage.GetItemAsync<string>("referral:code"); var storedReferralCode = await LocalStorage.GetItemAsync<string>("referral:code");
if (!string.IsNullOrWhiteSpace(storedReferralCode)) var effectiveReferralCode = !string.IsNullOrWhiteSpace(_referralCode)
? _referralCode
: storedReferralCode;
if (!string.IsNullOrWhiteSpace(effectiveReferralCode))
{ {
_verifyRequest.ParentReferralCode = storedReferralCode; _verifyRequest.ParentReferralCode = effectiveReferralCode;
} }
var validationResult = true; // _verifyRequestValidator.Validate(_verifyRequest); var validationResult = true; // _verifyRequestValidator.Validate(_verifyRequest);
@@ -36,6 +36,14 @@
Color="Color.Primary" Color="Color.Primary"
Class="mb-2" /> Class="mb-2" />
<MudTextField Value="ReferralCode"
ValueChanged="@((string? v) => ReferralCodeChanged.InvokeAsync(v))"
Label="کد معرف (اختیاری)"
Variant="Variant.Outlined"
Immediate="true"
Placeholder="کد معرف را وارد کنید"
Class="mb-3" />
@if (!string.IsNullOrWhiteSpace(ErrorMessage)) @if (!string.IsNullOrWhiteSpace(ErrorMessage))
{ {
<MudAlert Severity="Severity.Error" Dense="true" Elevation="0" <MudAlert Severity="Severity.Error" Dense="true" Elevation="0"
@@ -29,6 +29,10 @@ public partial class PhoneVerifyForm
[Parameter] public string? PhoneNumber { get; set; } [Parameter] public string? PhoneNumber { get; set; }
[Parameter] public int ResendRemaining { get; set; } [Parameter] public int ResendRemaining { get; set; }
// ── Referral ──
[Parameter] public string? ReferralCode { get; set; }
[Parameter] public EventCallback<string?> ReferralCodeChanged { get; set; }
// ── Verify actions ── // ── Verify actions ──
[Parameter] public EventCallback OnChangePhone { get; set; } [Parameter] public EventCallback OnChangePhone { get; set; }
[Parameter] public EventCallback OnResendOtp { get; set; } [Parameter] public EventCallback OnResendOtp { get; set; }