196 lines
7.0 KiB
TypeScript
196 lines
7.0 KiB
TypeScript
import * as icon from '@mdi/js';
|
|
import { MenuAsideItem } from './interfaces'
|
|
|
|
const menuAside: MenuAsideItem[] = [
|
|
{
|
|
href: '/dashboard',
|
|
icon: icon.mdiViewDashboardOutline,
|
|
label: 'Dashboard',
|
|
},
|
|
|
|
{
|
|
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: '/user_sessions/user_sessions-list',
|
|
label: 'User sessions',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiShieldAccount' in icon ? icon['mdiShieldAccount' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_USER_SESSIONS'
|
|
},
|
|
{
|
|
href: '/password_reset_tokens/password_reset_tokens-list',
|
|
label: 'Password reset tokens',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiLockReset' in icon ? icon['mdiLockReset' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_PASSWORD_RESET_TOKENS'
|
|
},
|
|
{
|
|
href: '/topics/topics-list',
|
|
label: 'Topics',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiTagOutline' in icon ? icon['mdiTagOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_TOPICS'
|
|
},
|
|
{
|
|
href: '/tags/tags-list',
|
|
label: 'Tags',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiTagMultiple' in icon ? icon['mdiTagMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_TAGS'
|
|
},
|
|
{
|
|
href: '/knowledge_files/knowledge_files-list',
|
|
label: 'Knowledge files',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiFileDocumentOutline' in icon ? icon['mdiFileDocumentOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_KNOWLEDGE_FILES'
|
|
},
|
|
{
|
|
href: '/planned_tasks/planned_tasks-list',
|
|
label: 'Planned tasks',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiClipboardTextOutline' in icon ? icon['mdiClipboardTextOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_PLANNED_TASKS'
|
|
},
|
|
{
|
|
href: '/user_test_preferences/user_test_preferences-list',
|
|
label: 'User test preferences',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiTune' in icon ? icon['mdiTune' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_USER_TEST_PREFERENCES'
|
|
},
|
|
{
|
|
href: '/test_sessions/test_sessions-list',
|
|
label: 'Test sessions',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiTimerOutline' in icon ? icon['mdiTimerOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_TEST_SESSIONS'
|
|
},
|
|
{
|
|
href: '/test_questions/test_questions-list',
|
|
label: 'Test questions',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiHelpCircleOutline' in icon ? icon['mdiHelpCircleOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_TEST_QUESTIONS'
|
|
},
|
|
{
|
|
href: '/test_answers/test_answers-list',
|
|
label: 'Test answers',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCheckboxMarkedCircleOutline' in icon ? icon['mdiCheckboxMarkedCircleOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_TEST_ANSWERS'
|
|
},
|
|
{
|
|
href: '/blocked_websites/blocked_websites-list',
|
|
label: 'Blocked websites',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiWebOff' in icon ? icon['mdiWebOff' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_BLOCKED_WEBSITES'
|
|
},
|
|
{
|
|
href: '/blocked_access_logs/blocked_access_logs-list',
|
|
label: 'Blocked access logs',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiAlertOctagonOutline' in icon ? icon['mdiAlertOctagonOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_BLOCKED_ACCESS_LOGS'
|
|
},
|
|
{
|
|
href: '/unlock_challenges/unlock_challenges-list',
|
|
label: 'Unlock challenges',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiLockQuestion' in icon ? icon['mdiLockQuestion' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_UNLOCK_CHALLENGES'
|
|
},
|
|
{
|
|
href: '/temporary_unlocks/temporary_unlocks-list',
|
|
label: 'Temporary unlocks',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiLockOpenOutline' in icon ? icon['mdiLockOpenOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_TEMPORARY_UNLOCKS'
|
|
},
|
|
{
|
|
href: '/weekly_time_goals/weekly_time_goals-list',
|
|
label: 'Weekly time goals',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiTarget' in icon ? icon['mdiTarget' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_WEEKLY_TIME_GOALS'
|
|
},
|
|
{
|
|
href: '/study_time_logs/study_time_logs-list',
|
|
label: 'Study time logs',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiChartTimelineVariant' in icon ? icon['mdiChartTimelineVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_STUDY_TIME_LOGS'
|
|
},
|
|
{
|
|
href: '/user_settings/user_settings-list',
|
|
label: 'User settings',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCogOutline' in icon ? icon['mdiCogOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_USER_SETTINGS'
|
|
},
|
|
{
|
|
href: '/notifications/notifications-list',
|
|
label: 'Notifications',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiBellOutline' in icon ? icon['mdiBellOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_NOTIFICATIONS'
|
|
},
|
|
{
|
|
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
|