import {
  Home,
  BookOpen,
  Mic,
  User,
  LayoutDashboard,
  ClipboardCheck,
  Users,
  Settings,
  BookText,
  Music,
  Award,
  GraduationCap,
  School,
} from 'lucide-react';

export interface NavItem {
  label: string;
  href: string;
  icon: React.ComponentType<{ className?: string }>;
  badge?: number;
}

export const studentNavItems: NavItem[] = [
  { label: 'Beranda', href: '/dashboard', icon: Home },
  { label: 'Nadhom', href: '/verses', icon: BookOpen },
  // Progres menu is temporarily hidden until the feature is ready
  // { label: 'Progres', href: '/progress', icon: BarChart3 },
  { label: 'Profil', href: '/profile', icon: User },
];

export const adminNavItems: NavItem[] = [
  { label: 'Beranda', href: '/admin/dashboard', icon: LayoutDashboard },
  { label: 'Guru', href: '/admin/teachers', icon: Users },
  { label: 'Murid', href: '/admin/students', icon: GraduationCap },
  { label: 'Kelas', href: '/admin/classes', icon: School },
  { label: 'Profil', href: '/admin/profile', icon: User },
];

export const teacherNavItems: NavItem[] = [
  { label: 'Dashboard', href: '/teacher/dashboard', icon: LayoutDashboard },
  { label: 'Review', href: '/teacher/reviews', icon: ClipboardCheck },
  { label: 'Siswa', href: '/teacher/students', icon: Users },
  { label: 'Profil', href: '/teacher/profile', icon: User },
];

export const adminSidebarItems: NavItem[] = [
  { label: 'Dashboard', href: '/admin/dashboard', icon: LayoutDashboard },
  { label: 'Pengguna', href: '/admin/users', icon: Users },
  { label: 'Siswa', href: '/admin/students', icon: GraduationCap },
  { label: 'Guru', href: '/admin/teachers', icon: User },
  { label: 'Kelas', href: '/admin/classes', icon: School },
  { label: 'Bab', href: '/admin/chapters', icon: BookText },
  { label: 'Nadhom', href: '/admin/verses', icon: BookOpen },
  { label: 'Audio Master', href: '/admin/audio', icon: Music },
  { label: 'Badge', href: '/admin/badges', icon: Award },
  { label: 'Profil', href: '/admin/profile', icon: User },
  { label: 'Pengaturan', href: '/admin/settings', icon: Settings },
];
