Redirect /teacher/exams/grading* to /teacher/homework/submissions; remove exam grading UI/actions/data-access; add homework student workflow and update design docs.
176 lines
3.8 KiB
TypeScript
176 lines
3.8 KiB
TypeScript
import {
|
|
BarChart,
|
|
BookOpen,
|
|
Calendar,
|
|
LayoutDashboard,
|
|
Settings,
|
|
Users,
|
|
FileText,
|
|
MessageSquare,
|
|
Shield,
|
|
CreditCard,
|
|
FileQuestion,
|
|
ClipboardList,
|
|
Library,
|
|
PenTool
|
|
} from "lucide-react"
|
|
import type { LucideIcon } from "lucide-react"
|
|
|
|
export type NavItem = {
|
|
title: string
|
|
icon: LucideIcon
|
|
href: string
|
|
items?: { title: string; href: string }[]
|
|
}
|
|
|
|
export type Role = "admin" | "teacher" | "student" | "parent"
|
|
|
|
export const NAV_CONFIG: Record<Role, NavItem[]> = {
|
|
admin: [
|
|
{
|
|
title: "Dashboard",
|
|
icon: LayoutDashboard,
|
|
href: "/admin/dashboard",
|
|
},
|
|
{
|
|
title: "School Management",
|
|
icon: Shield,
|
|
href: "/admin/school",
|
|
items: [
|
|
{ title: "Departments", href: "/admin/school/departments" },
|
|
{ title: "Classrooms", href: "/admin/school/classrooms" },
|
|
{ title: "Academic Year", href: "/admin/school/academic-year" },
|
|
]
|
|
},
|
|
{
|
|
title: "Users",
|
|
icon: Users,
|
|
href: "/admin/users",
|
|
items: [
|
|
{ title: "Teachers", href: "/admin/users/teachers" },
|
|
{ title: "Students", href: "/admin/users/students" },
|
|
{ title: "Parents", href: "/admin/users/parents" },
|
|
{ title: "Staff", href: "/admin/users/staff" },
|
|
]
|
|
},
|
|
{
|
|
title: "Courses",
|
|
icon: BookOpen,
|
|
href: "/courses",
|
|
items: [
|
|
{ title: "Course Catalog", href: "/courses/catalog" },
|
|
{ title: "Schedules", href: "/courses/schedules" },
|
|
]
|
|
},
|
|
{
|
|
title: "Reports",
|
|
icon: BarChart,
|
|
href: "/reports",
|
|
},
|
|
{
|
|
title: "Finance",
|
|
icon: CreditCard,
|
|
href: "/finance",
|
|
},
|
|
{
|
|
title: "Settings",
|
|
icon: Settings,
|
|
href: "/settings",
|
|
},
|
|
],
|
|
teacher: [
|
|
{
|
|
title: "Dashboard",
|
|
icon: LayoutDashboard,
|
|
href: "/dashboard",
|
|
},
|
|
{
|
|
title: "Textbooks",
|
|
icon: Library,
|
|
href: "/teacher/textbooks",
|
|
},
|
|
{
|
|
title: "Exams",
|
|
icon: FileQuestion,
|
|
href: "/teacher/exams",
|
|
items: [
|
|
{ title: "All Exams", href: "/teacher/exams/all" },
|
|
{ title: "Create Exam", href: "/teacher/exams/create" },
|
|
]
|
|
},
|
|
{
|
|
title: "Homework",
|
|
icon: PenTool,
|
|
href: "/teacher/homework",
|
|
items: [
|
|
{ title: "Assignments", href: "/teacher/homework/assignments" },
|
|
{ title: "Submissions", href: "/teacher/homework/submissions" },
|
|
]
|
|
},
|
|
{
|
|
title: "Question Bank",
|
|
icon: ClipboardList,
|
|
href: "/teacher/questions",
|
|
},
|
|
{
|
|
title: "Class Management",
|
|
icon: Users,
|
|
href: "/teacher/classes",
|
|
items: [
|
|
{ title: "My Classes", href: "/teacher/classes/my" },
|
|
{ title: "Students", href: "/teacher/classes/students" },
|
|
{ title: "Schedule", href: "/teacher/classes/schedule" },
|
|
]
|
|
},
|
|
],
|
|
student: [
|
|
{
|
|
title: "Dashboard",
|
|
icon: LayoutDashboard,
|
|
href: "/dashboard",
|
|
},
|
|
{
|
|
title: "My Learning",
|
|
icon: BookOpen,
|
|
href: "/student/learning",
|
|
items: [
|
|
{ title: "Courses", href: "/student/learning/courses" },
|
|
{ title: "Assignments", href: "/student/learning/assignments" },
|
|
{ title: "Grades", href: "/student/learning/grades" },
|
|
]
|
|
},
|
|
{
|
|
title: "Schedule",
|
|
icon: Calendar,
|
|
href: "/student/schedule",
|
|
},
|
|
{
|
|
title: "Resources",
|
|
icon: FileText,
|
|
href: "/student/resources",
|
|
},
|
|
],
|
|
parent: [
|
|
{
|
|
title: "Dashboard",
|
|
icon: LayoutDashboard,
|
|
href: "/parent/dashboard",
|
|
},
|
|
{
|
|
title: "Children",
|
|
icon: Users,
|
|
href: "/parent/children",
|
|
},
|
|
{
|
|
title: "Tuition",
|
|
icon: CreditCard,
|
|
href: "/parent/tuition",
|
|
},
|
|
{
|
|
title: "Messages",
|
|
icon: MessageSquare,
|
|
href: "/messages",
|
|
},
|
|
]
|
|
}
|