feat: full FrontOffice updates - discount store, blog, payment gateway, UI improvements
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 4m55s

- Discount store pages (products, cart, orders, order detail)
- Blog pages and services
- Payment gateway callback page
- AppImage component, EmptyState, LoadingState, PageHeader
- DiscountCartService, DiscountOrderService, DiscountProductService
- BlogCategoryService, BlogPostService, SitePageService, ImageCacheService
- PhoneVerifyForm component
- Profile Hub page
- UI/UX improvements across all pages
- landing.js for homepage
- Config and routing updates
This commit is contained in:
masoodafar-web
2026-02-16 00:51:39 +03:30
parent f0d1156457
commit 6db83ccd90
104 changed files with 7668 additions and 1370 deletions
@@ -23,13 +23,14 @@ public partial class RegisterWizard
private bool _completed;
private AuthDialog? _authDialog;
private MudStepper? _mudStepper;
private UpdateUserRequest _updateUserRequest = new();
private UpdateCustomerProfileRequest _updateUserRequest = new();
private bool _isAuthenticated;
private CancellationTokenSource? _operationCts;
private UserAuthInfo _userAuthInfo;
private Guid signGuid = Guid.NewGuid();
private const string TokenStorageKey = "auth:token";
private readonly DialogOptions _normalWidth = new() { MaxWidth = MaxWidth.ExtraSmall, FullWidth = true };
private bool _initialDataLoaded;
[Inject] private AuthService AuthService { get; set; } = default!;
[Inject] private IDeviceDetector _deviceDetector { get; set; } = default!;
@@ -55,6 +56,7 @@ public partial class RegisterWizard
if (_userAuthInfo.IsSignMainContract)
{
Navigation.NavigateTo(RouteConstants.Profile.Index);
return;
}
if (_activeStep == 0)
@@ -63,8 +65,9 @@ public partial class RegisterWizard
_activeStep = 1;
await InvokeAsync(StateHasChanged);
}
else if (_activeStep == 1)
else if (_activeStep == 1 && !_initialDataLoaded)
{
_initialDataLoaded = true;
try
{
var existUser = await UserContract.GetUserForCustomerAsync(new GetUserForCustomerRequest());
@@ -95,7 +98,6 @@ public partial class RegisterWizard
}
}
await base.OnAfterRenderAsync(firstRender);
}
@@ -355,7 +357,7 @@ public partial class RegisterWizard
_updateUserRequest.NationalCode = _model.NationalCode.PersianToEnglish();
await UserContract.UpdateUserAsync(request: _updateUserRequest);
await UserContract.UpdateCustomerProfileAsync(request: _updateUserRequest);
Snackbar.Add("اطلاعات شخصی با موفقیت ذخیره شد.", Severity.Success);
return true;
}