TorbatYar/frontend/modules/workspace/constants/portals.ts
Mortezakoohjani a483b47369 feat(workspace): complete production workspace and content operations
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 11:54:17 +03:30

58 lines
2.0 KiB
TypeScript

import type { LucideIcon } from "lucide-react";
import {
LayoutDashboard,
FolderKanban,
CheckSquare,
Users,
PenSquare,
CalendarDays,
BadgeCheck,
Paperclip,
BarChart3,
Building2,
} from "lucide-react";
export type PortalNavItem = { href: string; label: string };
export type PortalNavGroup = {
id: string;
label: string;
icon: LucideIcon;
href?: string;
items?: PortalNavItem[];
};
export const WORKSPACE_PORTAL = {
id: "workspace" as const,
label: "فضای کاری",
description: "مدیریت کار، تیم، پروژه و تولید محتوا",
basePath: "/workspace",
icon: LayoutDashboard,
};
export const WORKSPACE_NAV: PortalNavGroup[] = [
{ id: "home", label: "فضای کاری", icon: LayoutDashboard, href: "/workspace/hub" },
{ id: "hubs", label: "مراکز کار", icon: Building2, href: "/workspace/hubs" },
{ id: "projects", label: "پروژه‌ها", icon: FolderKanban, href: "/workspace/projects" },
{ id: "tasks", label: "وظایف من", icon: CheckSquare, href: "/workspace/tasks" },
{ id: "teams", label: "تیم‌ها", icon: Users, href: "/workspace/teams" },
{ id: "content", label: "مدیریت محتوا", icon: PenSquare, href: "/workspace/content" },
{ id: "calendar", label: "تقویم محتوا", icon: CalendarDays, href: "/workspace/content/calendar" },
{ id: "approvals", label: "تأییدیه‌ها", icon: BadgeCheck, href: "/workspace/approvals" },
{ id: "assets", label: "دارایی‌ها", icon: Paperclip, href: "/workspace/assets" },
{ id: "reports", label: "گزارش‌ها", icon: BarChart3, href: "/workspace/reports" },
];
export const WORKSPACE_ROUTE_HREFS = [
"/workspace/hub",
"/workspace/hubs",
"/workspace/projects",
"/workspace/tasks",
"/workspace/teams",
"/workspace/content",
"/workspace/content/calendar",
"/workspace/content/board",
"/workspace/approvals",
"/workspace/assets",
"/workspace/reports",
] as const;