// EN: Sidebar menu configuration per shop vertical (Café, Restaurant, Karaoke, Spa). // VI: Cấu hình menu sidebar theo ngành hàng (Café, Nhà hàng, Karaoke, Spa). namespace WebClientTpos.Client.Services; /// /// EN: Static config for shop-level sidebar menus per vertical type. /// VI: Cấu hình tĩnh cho menu sidebar cấp cửa hàng theo loại ngành hàng. /// /// Mỗi ngành hàng có menu khác nhau: /// - Café: Menu đồ uống, tồn kho nguyên liệu /// - Restaurant: Menu món ăn + Bàn + Bếp /// - Karaoke: Phòng + Menu bar /// - Spa: Lịch hẹn + Dịch vụ /// Tất cả đều có: Tài chính, Nhân sự, Khách hàng, Báo cáo /// public static class ShopSidebarConfig { public record MenuItem(string Label, string Icon, string Route, bool IsSub = false); /// /// EN: Get sidebar menu items for a specific shop vertical. /// VI: Lấy danh sách menu sidebar cho ngành hàng cụ thể. /// public static List GetMenuItems(string? category) { var vertical = ShopVerticalHelper.NormalizeVertical(category); return vertical switch { "cafe" => new() { new("Tổng quan", "layout-dashboard", "overview"), new("POS Bán hàng", "monitor", "pos"), new("Menu & Đồ uống", "coffee", "menu"), new("Tồn kho", "warehouse", "inventory"), new("Tài chính", "trending-up", "finance"), new("Nhân sự", "users", "staff"), new("Khách hàng", "heart", "customers"), new("Khuyến mãi", "tag", "promotions"), new("Báo cáo", "bar-chart-2", "reports"), new("Thiết lập", "settings", "settings"), }, "restaurant" => new() { new("Tổng quan", "layout-dashboard", "overview"), new("POS Bán hàng", "monitor", "pos"), new("Menu & Món ăn", "utensils", "menu"), new("Bàn / Table", "grid-3x3", "tables"), new("Bếp (Kitchen)", "flame", "kitchen"), new("Tồn kho", "warehouse", "inventory"), new("Tài chính", "trending-up", "finance"), new("Nhân sự", "users", "staff"), new("Khách hàng", "heart", "customers"), new("Khuyến mãi", "tag", "promotions"), new("Báo cáo", "bar-chart-2", "reports"), new("Thiết lập", "settings", "settings"), }, "karaoke" => new() { new("Tổng quan", "layout-dashboard", "overview"), new("POS Bán hàng", "monitor", "pos"), new("Phòng", "door-open", "rooms"), new("Menu / Bar", "wine", "menu"), new("Tồn kho", "warehouse", "inventory"), new("Tài chính", "trending-up", "finance"), new("Nhân sự", "users", "staff"), new("Khách hàng", "heart", "customers"), new("Khuyến mãi", "tag", "promotions"), new("Báo cáo", "bar-chart-2", "reports"), new("Thiết lập", "settings", "settings"), }, "spa" => new() { new("Tổng quan", "layout-dashboard", "overview"), new("POS Bán hàng", "monitor", "pos"), new("Lịch hẹn", "calendar", "appointments"), new("Dịch vụ", "sparkles", "services"), new("Tài nguyên", "door-open", "resources"), new("Sản phẩm", "package", "products"), new("Tài chính", "trending-up", "finance"), new("Nhân sự", "users", "staff"), new("Lịch làm việc", "calendar-clock", "schedule"), new("Khách hàng", "heart", "customers"), new("Khuyến mãi", "tag", "promotions"), new("Báo cáo", "bar-chart-2", "reports"), new("Thiết lập", "settings", "settings"), }, "beauty" => new() { new("Tổng quan", "layout-dashboard", "overview"), new("POS Bán hàng", "monitor", "pos"), new("Lịch hẹn", "calendar", "appointments"), new("Dịch vụ", "sparkles", "services"), new("Liệu trình", "clipboard-list", "treatments"), new("Tài nguyên", "door-open", "resources"), new("Sản phẩm", "package", "products"), new("Tài chính", "trending-up", "finance"), new("Nhân sự", "users", "staff"), new("Lịch làm việc", "calendar-clock", "schedule"), new("Khách hàng", "heart", "customers"), new("Khuyến mãi", "tag", "promotions"), new("Báo cáo", "bar-chart-2", "reports"), new("Thiết lập", "settings", "settings"), }, _ => new() { new("Tổng quan", "layout-dashboard", "overview"), new("POS Bán hàng", "monitor", "pos"), new("Sản phẩm", "package", "menu"), new("Tồn kho", "warehouse", "inventory"), new("Tài chính", "trending-up", "finance"), new("Nhân sự", "users", "staff"), new("Khách hàng", "heart", "customers"), new("Báo cáo", "bar-chart-2", "reports"), new("Thiết lập", "settings", "settings"), }, }; } /// /// EN: Get vertical display name (delegates to ShopVerticalHelper). /// VI: Lấy tên hiển thị của ngành hàng (ủy quyền cho ShopVerticalHelper). /// public static string GetVerticalLabel(string? category) => ShopVerticalHelper.GetLabel(category); /// /// EN: Get vertical icon (delegates to ShopVerticalHelper). /// VI: Lấy icon ngành hàng (ủy quyền cho ShopVerticalHelper). /// public static string GetVerticalIcon(string? category) => ShopVerticalHelper.GetIcon(category); }