File size: 1,220 Bytes
65d68f5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import {
  BarChart3,
  BookOpenCheck,
  Bot,
  Home,
  Layers3,
  LibraryBig,
  Settings,
  Sparkles,
  StickyNote,
} from "lucide-react";
import type { LucideIcon } from "lucide-react";

export type DashboardSection =
  | "home"
  | "sources"
  | "studio"
  | "ai-tutor"
  | "quizzes"
  | "flashcards"
  | "revision"
  | "analytics"
  | "settings";

export type WorkspaceNavItem = {
  id: DashboardSection;
  label: string;
  icon: LucideIcon;
};

export const workspaceNavItems = [
  { id: "home", label: "Home", icon: Home },
  { id: "sources", label: "Sources", icon: LibraryBig },
  { id: "studio", label: "Studio", icon: Sparkles },
  { id: "ai-tutor", label: "AI Tutor", icon: Bot },
  { id: "quizzes", label: "Quizzes", icon: BookOpenCheck },
  { id: "flashcards", label: "Flashcards", icon: Layers3 },
  { id: "revision", label: "Revision", icon: StickyNote },
  { id: "analytics", label: "Analytics", icon: BarChart3 },
  { id: "settings", label: "Settings", icon: Settings },
] satisfies WorkspaceNavItem[];

export const primaryWorkspaceNavItems = workspaceNavItems.filter((item) => item.id !== "settings");
export const settingsWorkspaceNavItem = workspaceNavItems.find((item) => item.id === "settings")!;