diff --git a/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor b/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor index 34a492a..e5da011 100644 --- a/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor +++ b/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor @@ -86,11 +86,28 @@ else if (_authLoaded && _needsMagicCeilingConsent && !_allowNormalDespiteMagic && !_redirectingToMagic) { - - - - سقف شارژ جادویی پر است. برای شارژ بدون ضریب باید تأیید کنید... + + + سقف شارژ کیف پول جادویی در این دور پر شده است. + + شارژ از این صفحه بدون ضریب (۱:۱) به موجودی اضافه می‌شود و ضریب جادویی اعمال نمی‌شود. + برای ادامه، تأیید کنید. + + + + ادامه شارژ بدون ضریب + + + بازگشت به کیف جادویی + + } diff --git a/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor.cs b/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor.cs index 8b7ffff..fe0fc00 100644 --- a/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor.cs +++ b/src/FrontOffice.Main/Pages/Profile/ChargeCreditWallet.razor.cs @@ -19,7 +19,6 @@ public partial class ChargeCreditWallet : ComponentBase private bool _redirectingToMagic; private bool _allowNormalDespiteMagic; private bool _needsMagicCeilingConsent; - private bool _magicConsentPrompted; private readonly long[] _presetAmounts = { 500_000, 1_000_000, 5_000_000, 10_000_000, 20_000_000, 50_000_000 }; @@ -65,7 +64,7 @@ public partial class ChargeCreditWallet : ComponentBase } if (_isClubMemberActive) - await EvaluateMagicWalletGateAsync(promptConsent: false); + await EvaluateMagicWalletGateAsync(); } protected override async Task OnAfterRenderAsync(bool firstRender) @@ -73,16 +72,21 @@ public partial class ChargeCreditWallet : ComponentBase if (firstRender && !string.IsNullOrEmpty(_pendingReturnUrl) && _isClubMemberActive && !_redirectingToMagic) await CreditChargeNavigation.SaveReturnUrlAsync(JSRuntime, _pendingReturnUrl); - if (firstRender && _needsMagicCeilingConsent && !_allowNormalDespiteMagic && !_magicConsentPrompted) - { - _magicConsentPrompted = true; - await PromptMagicCeilingConsentAsync(); - StateHasChanged(); - } - await base.OnAfterRenderAsync(firstRender); } + private void AcceptMagicCeilingConsent() + { + _allowNormalDespiteMagic = true; + _redirectingToMagic = false; + } + + private void DeclineMagicCeilingConsent() + { + _redirectingToMagic = true; + Navigation.NavigateTo(RouteConstants.Profile.MagicWallet); + } + private async Task StartCreditCharge() { if (!_isClubMemberActive) @@ -93,10 +97,10 @@ public partial class ChargeCreditWallet : ComponentBase return; } - if (await EvaluateMagicWalletGateAsync(promptConsent: true)) + if (await EvaluateMagicWalletGateAsync()) return; - if (!_allowNormalDespiteMagic && _needsMagicCeilingConsent) + if (_needsMagicCeilingConsent && !_allowNormalDespiteMagic) return; if (_chargeAmount <= 0 || _isProcessing) return; @@ -139,10 +143,10 @@ public partial class ChargeCreditWallet : ComponentBase /// /// Magic با ظرفیت باقی‌مانده → ریدایرکت به MagicWallet. - /// Magic با سقف پر → نیاز به رضایت برای شارژ ۱:۱. + /// Magic با سقف پر → نمایش تأیید روی صفحه برای شارژ ۱:۱. /// true یعنی مسیر شارژ فعلی باید متوقف شود. /// - private async Task EvaluateMagicWalletGateAsync(bool promptConsent) + private async Task EvaluateMagicWalletGateAsync() { if (_allowNormalDespiteMagic) return false; @@ -172,14 +176,7 @@ public partial class ChargeCreditWallet : ComponentBase } _needsMagicCeilingConsent = true; - - if (promptConsent) - { - await PromptMagicCeilingConsentAsync(); - return !_allowNormalDespiteMagic; - } - - return true; + return !_allowNormalDespiteMagic; } catch { @@ -188,25 +185,6 @@ public partial class ChargeCreditWallet : ComponentBase } } - private async Task PromptMagicCeilingConsentAsync() - { - var confirmed = await DialogService.ShowMessageBox( - "شارژ بدون ضریب جادویی", - "سقف شارژ کیف پول جادویی شما در این دور پر شده است. شارژ از این صفحه بدون ضریب (۱:۱) به موجودی اضافه می‌شود و ضریب جادویی اعمال نمی‌شود. آیا مایلید ادامه دهید؟", - yesText: "ادامه شارژ بدون ضریب", - cancelText: "انصراف"); - - if (confirmed == true) - { - _allowNormalDespiteMagic = true; - _redirectingToMagic = false; - return; - } - - _redirectingToMagic = true; - Navigation.NavigateTo(RouteConstants.Profile.MagicWallet); - } - private async Task ContinueShoppingAsync() { var returnUrl = await CreditChargeNavigation.GetReturnUrlAsync(JSRuntime);