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
@@ -15,6 +15,7 @@ public static class RouteConstants
public static class Profile
{
public const string Index = "/profile";
public const string Hub = "/profile/hub";
public const string Personal = "/profile/personal";
public const string Addresses = "/profile/addresses";
public const string Settings = "/profile/settings";
@@ -66,6 +67,12 @@ public static class RouteConstants
public const string Index = "/contact";
}
public static class Blog
{
public const string Index = "/blog";
public const string Post = "/blog/"; // usage: /blog/{slug}
}
public static class Checkout
{
public const string Index = "/checkout";
@@ -82,4 +89,24 @@ public static class RouteConstants
public const string OrderTracking = "/order-tracking/"; // usage: /order-tracking/{id}
public const string Categories = "/categories";
}
public static class DiscountStore
{
public const string Products = "/discount-store";
public const string ProductDetail = "/discount-store/product/"; // usage: /discount-store/product/{id}
public const string Cart = "/discount-store/cart";
public const string Checkout = "/discount-store/checkout";
public const string Orders = "/discount-store/orders";
public const string OrderDetail = "/discount-store/order/"; // usage: /discount-store/order/{id}
}
/// <summary>
/// Gateway/chooser pages — when a concept exists in both stores
/// </summary>
public static class Gateway
{
public const string StoreChooser = "/stores";
public const string OrdersChooser = "/my-orders";
public const string CartChooser = "/my-cart";
}
}