diff --git a/src/FrontOffice.Main/Pages/Club/Components/ActivationSection.razor.cs b/src/FrontOffice.Main/Pages/Club/Components/ActivationSection.razor.cs index 6e60a63..496f247 100644 --- a/src/FrontOffice.Main/Pages/Club/Components/ActivationSection.razor.cs +++ b/src/FrontOffice.Main/Pages/Club/Components/ActivationSection.razor.cs @@ -10,6 +10,7 @@ public partial class ActivationSection : ComponentBase [Inject] private ClubMembershipService ClubService { get; set; } = default!; [Inject] private AuthService AuthService { get; set; } = default!; [Inject] private UserContract.UserContractClient UserContract { get; set; } = default!; + [Inject] private PackageService PackageService { get; set; } = default!; [Parameter] public EventCallback OnActivationSuccess { get; set; } @@ -21,6 +22,18 @@ public partial class ActivationSection : ComponentBase private long _packageId = 1; private int _durationMonths = 1; private string? _activationCode; + private long _basePackagePrice; + + protected override async Task OnInitializedAsync() + { + try + { + var packages = await PackageService.GetAllPackagesAsync(); + var basePackage = packages.FirstOrDefault(p => p.IsBasePackage) ?? packages.FirstOrDefault(); + _basePackagePrice = basePackage?.Price ?? 0; + } + catch { /* fallback to 0 */ } + } private async Task HandleActivateAsync() { @@ -75,9 +88,8 @@ public partial class ActivationSection : ComponentBase private string GetEstimatedCost() { - // فرمول تقریبی: 56M per month (base amount from BFF implementation) - var baseAmount = 56_000_000; - var total = baseAmount * _durationMonths; + if (_basePackagePrice <= 0) return "در حال بارگذاری..."; + var total = _basePackagePrice * _durationMonths; return $"{total:N0} تومان"; } } diff --git a/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor b/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor index 9fb7cf7..0315eb8 100644 --- a/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor +++ b/src/FrontOffice.Main/Shared/ClubMembershipContractDialog.razor @@ -9,6 +9,7 @@ @inject AuthService AuthService @inject ISnackbar Snackbar @inject NavigationManager Navigation +@inject PackageService PackageService @@ -123,6 +124,23 @@ private readonly Guid _signGuid = Guid.NewGuid(); private System.Timers.Timer? _timer; private const string TokenStorageKey = "auth:token"; + private string _packageDisplayName = "پکیج پایه"; + private string _packageDisplayPrice = "۵۶ میلیون تومان"; + + protected override async Task OnInitializedAsync() + { + try + { + var packages = await PackageService.GetAllPackagesAsync(); + var basePackage = packages.FirstOrDefault(p => p.IsBasePackage) ?? packages.FirstOrDefault(); + if (basePackage != null) + { + _packageDisplayName = basePackage.Title; + _packageDisplayPrice = $"{basePackage.Price / 10:N0} تومان"; + } + } + catch { /* fallback to defaults */ } + } // این Modal غیرقابل بسته شدن است - Options در ShowAsync تنظیم می‌شوند @@ -242,7 +260,7 @@

۱-۳. پاداش معرفی: مبلغی که به ازای هر معرفی موفق به کاربر تعلق می‌گیرد.

ماده ۲ - شرایط عضویت

-

۲-۱. کاربر با پرداخت مبلغ ۵۶ میلیون تومان (پکیج پایه)، امکان عضویت در باشگاه مشتریان را خواهد داشت.

+

۲-۱. کاربر با پرداخت مبلغ {_packageDisplayPrice} ({_packageDisplayName})، امکان عضویت در باشگاه مشتریان را خواهد داشت.

۲-۲. پس از امضای این قرارداد، لینک دعوت کاربر فعال خواهد شد.

۲-۳. کاربر می‌تواند حداکثر ۲ نفر را مستقیماً دعوت کند (یک نفر در تیم اول و یک نفر در تیم دوم).