import { mainNavItem } from '@/types';
import {
  GraduationCap,
  LayoutDashboard,
  School,
  Users,
  CalendarRange,
  Library,
  CalendarClock,
  BookOpenCheck,
  FileInput,
  Calendar,
  BookOpen,
  Award,
  Cog,
} from 'lucide-react';
import { route as routeHelper } from 'ziggy-js';

// Translation helper is globally injected
declare function __(key: string): string;

export interface TenabledAppModules {
  apps: {
    [key: string]: boolean;
  };
  modules: {
    [key: string]: boolean;
  };
}

// Helper to safely get route URL
const safeRoute = (routeName: string, fallback: string = '#'): string => {
  try {
    return routeHelper(routeName);
  } catch {
    return fallback;
  }
};

export const AcademicMenuItems = (): mainNavItem[] => {
  const items: mainNavItem[] = [];

  items.push({
    title: __("Academic"),
    icon: GraduationCap,           // ← Best top-level academic icon
    isActive: false,
    items: [
      {
        title: __("Dashboard"),
        icon: LayoutDashboard,       // ← Classic dashboard icon
        url: safeRoute('academic.dashboard'),
        isActive: false,
      },
      {
        title: __("Programs"),
        icon: GraduationCap,         // or School / University
        url: safeRoute('academic.program.index'),
        isActive: false,
      },
      {
        title: __("Class"),
        icon: Users,                 // group of students / class
        url: safeRoute('academic.classes.index'),
        isActive: false,
      },
      {
        title: __("Academic Year"),
        icon: CalendarRange,         // good for year/period
        url: safeRoute('academic-year.index'),
        isActive: false,
      },
      {
        title: __("Section"),
        icon: Users,                 // or UsersRound / Group
        url: safeRoute('academic-section.index'),
        isActive: false,
      },
      {
        title: __("Curriculum"),
        icon: Library,               // library = collection of courses/curriculum
        url: safeRoute('curriculum.index'),
        isActive: false,
      },
      {
        title: __("Routine"),
        icon: CalendarClock,         // timetable/schedule
        url: safeRoute('routine.index'),
        isActive: false,
      },
      {
        title: __("Syllabus"),
        icon: BookOpenCheck,         // checked/structured content
        url: safeRoute('syllabus.index'),
        isActive: false,
      },
      {
        title: __("Admission Forms"),
        icon: FileInput,             // form input / submission
        url: safeRoute('admission-form.index'),
        isActive: false,
      },
      {
        title: __("Academic Calendar"),
        icon: Calendar,              // standard calendar
        url: safeRoute('academic-calendar.index'),
        isActive: false,
      },
      {
        title: __("Subject"),
        icon: BookOpen,              // open book = subject/topic
        url: safeRoute('subject.index'),
        isActive: false,
      },
      {
        title: __("Result"),
        icon: Award,                 // achievement / result
        url: safeRoute('result.index'),
        isActive: false,
      },
      {
        title: __("Settings"),
        icon: Cog,                   // better than Book for settings
        url: safeRoute('academic.basic.settings'),
        isActive: false,
      },
    ],
  });

  return items;
};
