feat: add club membership contract dialog and city autocomplete

This commit is contained in:
masoodafar-web
2025-12-17 22:46:07 +03:30
parent 3af564be73
commit 27c2c0259b
10 changed files with 462 additions and 23 deletions
@@ -60,6 +60,9 @@ public partial class Index
await LoadUserProfile();
await LoadAddresses();
await LoadWallet();
// نمایش Modal قرارداد باشگاه اگر پکیج خریده ولی باشگاه فعال نشده
await CheckAndShowClubContractModal();
}
}
@@ -78,6 +81,39 @@ public partial class Index
}
StateHasChanged();
}
/// <summary>
/// بررسی و نمایش Modal قرارداد باشگاه مشتریان
/// اگر کاربر پکیج خریده ولی هنوز قرارداد باشگاه را امضا نکرده
/// </summary>
private async Task CheckAndShowClubContractModal()
{
// اگر پکیج خریده ولی باشگاه فعال نیست = باید قرارداد امضا کند
if (_hasPurchasedPackage && !_isClubMemberActive)
{
var options = new DialogOptions
{
BackdropClick = false, // غیرقابل بسته شدن با کلیک بیرون
CloseOnEscapeKey = false, // غیرقابل بسته شدن با Escape
CloseButton = false, // بدون دکمه بستن
MaxWidth = MaxWidth.Medium,
FullWidth = true
};
var dialog = await DialogService.ShowAsync<Shared.ClubMembershipContractDialog>(
"قرارداد باشگاه مشتریان",
options);
var result = await dialog.Result;
// اگر موفق بود، صفحه را refresh کنیم
if (!result.Canceled)
{
await LoadUserAuthInfo();
StateHasChanged();
}
}
}
private string _walletCredit = "-";
private string _walletDiscount = "-";