namespace FrontOffice.Main.Utilities;

public static class RouteConstants
{
    public static class Main
    {
        public const string MainPage = "/";
    }

    public static class Registration
    {
        public const string Wizard = "/register";
    }

    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";
        public const string ChangePassword = "/profile/change-password";
        public const string Tree = "/profile/tree";
        public const string Wallet = "/profile/wallet";
        public const string MagicWallet = "/profile/magic-wallet";
        public const string ChargeDiscountWallet = "/profile/charge-discount-wallet";
        public const string ChargeCreditWallet = "/profile/charge-credit-wallet";
        public const string WithdrawalRequests = "/profile/withdrawal-requests";
    }

    public static class Club
    {
        public const string Membership = "/club/membership";
        public const string Features = "/club/features";
    }

    public static class Network
    {
        public const string Tree = "/network/tree";
        public const string Statistics = "/network/statistics";
    }

    public static class Commission
    {
        public const string Dashboard = "/commission/dashboard";
        public const string History = "/commission/history";
        public const string WeeklyBalance = "/commission/weekly-balance";
    }

    public static class Package
    {
        public const string List = "/packages";
        public const string Detail = "/package/";
        public const string MyPackages = "/my-packages";
        public const string Purchase = "/purchase-package/";
    }

    public static class About
    {
        public const string Index = "/about";
    }

    public static class FAQ
    {
        public const string Index = "/faq";
    }

    public static class Contact
    {
        public const string Index = "/contact";
    }

    public static class Licenses
    {
        public const string Index = "/licenses";
    }

    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";
    }

    public static class Store
    {
        public const string Products = "/products";
        public const string ProductDetail = "/product/"; // usage: /product/{id}
        public const string Cart = "/cart";
        public const string CheckoutSummary = "/checkout-summary";
        public const string Orders = "/orders";
        public const string OrderDetail = "/order/"; // usage: /order/{id}
        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";
    }
}
