TorbatYar/frontend/lib/beauty-business-nav.ts
Mortezakoohjani 6f4a484051 Migrate Beauty, Healthcare, and Accounting frontend to modular src/modules architecture.
Move business logic out of App Router into module packages, add boundary validation scripts, and keep all routes as thin re-exports without changing URLs or API behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-26 22:28:27 +03:30

122 lines
3.1 KiB
TypeScript

import type { LucideIcon } from "lucide-react";
import {
LayoutDashboard,
Building2,
Calendar,
Sparkles,
Package,
Users,
UserCog,
Megaphone,
Settings,
Scissors,
Gift,
} from "lucide-react";
export type BeautyNavItem = {
href: string;
label: string;
blocked?: boolean;
};
export type BeautyNavGroup = {
id: string;
label: string;
icon: LucideIcon;
href?: string;
items?: BeautyNavItem[];
blocked?: boolean;
};
export const BEAUTY_NAV: BeautyNavGroup[] = [
{
id: "dashboard",
label: "داشبورد",
icon: LayoutDashboard,
href: "/beauty",
},
{
id: "foundation",
label: "زیرساخت سالن",
icon: Building2,
items: [
{ href: "/beauty/organizations", label: "سازمان‌ها" },
{ href: "/beauty/branches", label: "شعب" },
{ href: "/beauty/settings", label: "تنظیمات" },
],
},
{
id: "booking",
label: "نوبت‌دهی",
icon: Calendar,
items: [
{ href: "/beauty/appointments", label: "نوبت‌ها" },
{ href: "/beauty/booking/schedules", label: "برنامه کاری" },
{ href: "/beauty/booking/waiting-list", label: "لیست انتظار" },
],
},
{
id: "salon",
label: "سالن",
icon: Sparkles,
items: [
{ href: "/beauty/salon/rooms", label: "اتاق‌ها" },
{ href: "/beauty/salon/stations", label: "ایستگاه‌ها" },
{ href: "/beauty/salon/policies", label: "سیاست‌های شعبه" },
],
},
{
id: "catalog",
label: "کاتالوگ خدمات",
icon: Scissors,
items: [
{ href: "/beauty/catalog/categories", label: "دسته‌بندی‌ها" },
{ href: "/beauty/catalog/services", label: "خدمات" },
],
},
{
id: "customers",
label: "مشتریان",
icon: Users,
href: "/beauty/customers",
},
{
id: "packages",
label: "بسته‌ها",
icon: Gift,
items: [
{ href: "/beauty/packages", label: "پکیج‌ها" },
{ href: "/beauty/packages/memberships", label: "عضویت‌ها" },
],
},
{
id: "staff",
label: "پرسنل",
icon: UserCog,
items: [
{ href: "/beauty/staff", label: "کارکنان" },
{ href: "/beauty/staff/commissions", label: "کمیسیون‌ها" },
],
},
{
id: "marketing",
label: "بازاریابی",
icon: Megaphone,
items: [
{ href: "/beauty/marketing/campaigns", label: "کمپین‌ها" },
{ href: "/beauty/marketing/integrations", label: "یکپارچه‌سازی‌ها" },
],
},
];
export const BEAUTY_QUICK_BAR: BeautyNavItem[] = [
{ href: "/beauty/organizations", label: "سازمان" },
{ href: "/beauty/appointments", label: "نوبت" },
{ href: "/beauty/catalog/services", label: "خدمت" },
{ href: "/beauty/customers", label: "مشتری" },
{ href: "/beauty/staff", label: "پرسنل" },
{ href: "/beauty", label: "داشبورد" },
];
export { Package, Settings };