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"
ResendRemaining="_resendRemaining"
OnChangePhone="ChangePhoneAsync"
OnResendOtp="ResendOtpAsync" />
OnResendOtp="ResendOtpAsync"
ReferralCode="@_referralCode"
ReferralCodeChanged="OnReferralCodeChanged" />
</div>
}
else
@@ -51,7 +53,9 @@ else
PhoneNumber="@_phoneNumber"
ResendRemaining="_resendRemaining"
OnChangePhone="ChangePhoneAsync"
OnResendOtp="ResendOtpAsync" />
OnResendOtp="ResendOtpAsync"
ReferralCode="@_referralCode"
ReferralCodeChanged="OnReferralCodeChanged" />
<MudStack Class="mt-4" Spacing="2">
@if (_currentStep == AuthStep.Phone)
@@ -42,6 +42,9 @@ public partial class AuthDialog : IDisposable
private string? _captchaCode;
private string? _captchaInput;
// Referral code field
private string? _referralCode;
[Inject] private ILocalStorageService LocalStorage { get; set; } = default!;
[Inject] private UserContract.UserContractClient UserClient { get; set; } = default!;
@@ -66,9 +69,20 @@ public partial class AuthDialog : IDisposable
{
_phoneRequest.Mobile = storedPhone;
}
_referralCode = await LocalStorage.GetItemAsync<string>("referral:code");
// 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()
{
_captchaCode = Guid.NewGuid().ToString("N")[..6].ToUpperInvariant();
@@ -182,9 +196,12 @@ public partial class AuthDialog : IDisposable
_verifyRequest.Mobile = _phoneNumber;
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);
@@ -36,6 +36,14 @@
Color="Color.Primary"
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))
{
<MudAlert Severity="Severity.Error" Dense="true" Elevation="0"
@@ -29,6 +29,10 @@ public partial class PhoneVerifyForm
[Parameter] public string? PhoneNumber { get; set; }
[Parameter] public int ResendRemaining { get; set; }
// ── Referral ──
[Parameter] public string? ReferralCode { get; set; }
[Parameter] public EventCallback<string?> ReferralCodeChanged { get; set; }
// ── Verify actions ──
[Parameter] public EventCallback OnChangePhone { get; set; }
[Parameter] public EventCallback OnResendOtp { get; set; }