161 lines
5.0 KiB
TypeScript
161 lines
5.0 KiB
TypeScript
import * as icon from '@mdi/js';
|
|
import { MenuAsideItem } from './interfaces'
|
|
|
|
const menuAside: MenuAsideItem[] = [
|
|
{
|
|
href: '/dashboard',
|
|
icon: icon.mdiViewDashboardOutline,
|
|
label: 'Dashboard',
|
|
},
|
|
|
|
{
|
|
href: '/admin-portal',
|
|
icon: icon.mdiShieldAccount,
|
|
label: 'Portal Admin',
|
|
},
|
|
{
|
|
href: '/teacher-portal',
|
|
icon: icon.mdiHumanMaleBoard,
|
|
label: 'Portal Maestros',
|
|
},
|
|
{
|
|
href: '/student-portal',
|
|
icon: icon.mdiAccountSchool,
|
|
label: 'Portal Estudiantes',
|
|
},
|
|
{
|
|
href: '/parent-portal',
|
|
icon: icon.mdiAccountGroup,
|
|
label: 'Portal Padres',
|
|
},
|
|
|
|
{
|
|
href: '/users/users-list',
|
|
label: 'Users',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: icon.mdiAccountGroup ?? icon.mdiTable,
|
|
permissions: 'READ_USERS'
|
|
},
|
|
{
|
|
href: '/roles/roles-list',
|
|
label: 'Roles',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: icon.mdiShieldAccountVariantOutline ?? icon.mdiTable,
|
|
permissions: 'READ_ROLES'
|
|
},
|
|
{
|
|
href: '/permissions/permissions-list',
|
|
label: 'Permissions',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: icon.mdiShieldAccountOutline ?? icon.mdiTable,
|
|
permissions: 'READ_PERMISSIONS'
|
|
},
|
|
{
|
|
href: '/schools/schools-list',
|
|
label: 'Schools',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_SCHOOLS'
|
|
},
|
|
{
|
|
href: '/students/students-list',
|
|
label: 'Students',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiAccountStudent' in icon ? icon['mdiAccountStudent' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_STUDENTS'
|
|
},
|
|
{
|
|
href: '/exams/exams-list',
|
|
label: 'Exams',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiClipboardText' in icon ? icon['mdiClipboardText' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_EXAMS'
|
|
},
|
|
{
|
|
href: '/exam_sections/exam_sections-list',
|
|
label: 'Exam sections',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiFormatListBulleted' in icon ? icon['mdiFormatListBulleted' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_EXAM_SECTIONS'
|
|
},
|
|
{
|
|
href: '/exam_questions/exam_questions-list',
|
|
label: 'Exam questions',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiHelpCircle' in icon ? icon['mdiHelpCircle' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_EXAM_QUESTIONS'
|
|
},
|
|
{
|
|
href: '/question_choices/question_choices-list',
|
|
label: 'Question choices',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiFormatListChecks' in icon ? icon['mdiFormatListChecks' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_QUESTION_CHOICES'
|
|
},
|
|
{
|
|
href: '/exam_sessions/exam_sessions-list',
|
|
label: 'Exam sessions',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCalendarClock' in icon ? icon['mdiCalendarClock' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_EXAM_SESSIONS'
|
|
},
|
|
{
|
|
href: '/session_participants/session_participants-list',
|
|
label: 'Session participants',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiAccountCheck' in icon ? icon['mdiAccountCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_SESSION_PARTICIPANTS'
|
|
},
|
|
{
|
|
href: '/exam_attempts/exam_attempts-list',
|
|
label: 'Exam attempts',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiClipboardCheck' in icon ? icon['mdiClipboardCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_EXAM_ATTEMPTS'
|
|
},
|
|
{
|
|
href: '/attempt_answers/attempt_answers-list',
|
|
label: 'Attempt answers',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiFileDocumentEdit' in icon ? icon['mdiFileDocumentEdit' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_ATTEMPT_ANSWERS'
|
|
},
|
|
{
|
|
href: '/report_cards/report_cards-list',
|
|
label: 'Report cards',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiChartBox' in icon ? icon['mdiChartBox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_REPORT_CARDS'
|
|
},
|
|
{
|
|
href: '/profile',
|
|
label: 'Profile',
|
|
icon: icon.mdiAccountCircle,
|
|
},
|
|
|
|
|
|
{
|
|
href: '/api-docs',
|
|
target: '_blank',
|
|
label: 'Swagger API',
|
|
icon: icon.mdiFileCode,
|
|
permissions: 'READ_API_DOCS'
|
|
},
|
|
]
|
|
|
|
export default menuAside
|