import { hasPersonValidator } from "aleksis.core/routeValidators"; import Timetable from "./components/Timetable.vue"; import AmendLessonOverview from "./components/AmendLessonOverview.vue"; import { DateTime } from "luxon"; export default { meta: { inMenu: true, titleKey: "chronos.menu_title", icon: "mdi-school-outline", iconActive: "mdi-school", validators: [hasPersonValidator], }, props: { byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, }, children: [ { path: "timetable/", component: Timetable, name: "chronos.timetable", meta: { inMenu: true, titleKey: "chronos.timetable.menu_title", icon: "mdi-grid", permission: "chronos.view_timetable_overview_rule", }, }, { path: "timetable/:type/:id/", component: Timetable, name: "chronos.timetableWithId", meta: { permission: "chronos.view_timetable_overview_rule", }, }, { path: "amend_lesson_overview/", component: () => import("./components/AmendLessonOverview.vue"), redirect: (to) => { return { name: "chronos.amendLessonOvervievByTypeAndDate", params: { dateStart: DateTime.now().toISODate(), dateEnd: DateTime.now().plus({ weeks: 1 }).toISODate(), }, }; }, name: "chronos.amendLessonOverview", props: true, meta: { inMenu: true, icon: "mdi-account-convert-outline", iconActive: "mdi-account-convert", titleKey: "chronos.amend_lesson.overview.menu_title", toolbarTitle: "chronos.amend_lesson.overview.menu_title", permission: "chronos.view_substitution_overview_rule", }, children: [ { path: ":dateStart(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:dateEnd(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:objId(\\d+)?/", component: () => import("./components/AmendLessonOverview.vue"), name: "chronos.amendLessonOvervievByTypeAndDate", meta: { titleKey: "chronos.amend_lesson.overview.menu_title", toolbarTitle: "chronos.amend_lesson.overview.menu_title", permission: "chronos.view_substitution_overview_rule", fullWidth: true, }, }, ], }, ], };