routes method

  1. @override
void routes(
  1. RouteManager r
)
override

Implementation

@override
void routes(RouteManager r) {
  r
    ..child(
      '/',
      child: (_) => const SidebarScreen(),
      children: [
        ModuleRoute(
          '/dashboard/',
          module: DashboardModule(),
          transition: TransitionType.custom,
          customTransition: defaultTransition,
          guards: [
            CapabilityGuard({UserCapability.student}, redirectTo: '/slots/'),
          ],
        ),
        ModuleRoute(
          '/calendar/',
          module: CalendarModule(),
          transition: TransitionType.custom,
          customTransition: defaultTransition,
          guards: [
            CapabilityGuard({UserCapability.student}, redirectTo: '/slots/'),
            // FeatureGuard([kCalendarPlanFeatureID], redirectTo: '/settings/'),
          ],
        ),
        ModuleRoute(
          '/settings/',
          module: SettingsModule(),
          transition: TransitionType.custom,
          customTransition: defaultTransition,
        ),
        ModuleRoute(
          '/slots/',
          module: SlotsModule(),
          transition: TransitionType.custom,
          customTransition: defaultTransition,
        ),
        ModuleRoute(
          '/course-overview/',
          module: CourseOverviewModule(),
          transition: TransitionType.custom,
          customTransition: defaultTransition,
          guards: [
            CapabilityGuard({UserCapability.student}, redirectTo: '/slots/'),
          ],
        ),
      ],
      customTransition: defaultTransition,
      transition: TransitionType.custom,
      guards: [
        AuthGuard(redirectTo: '/auth/'),
        HasCoursesGuard(),
        DesktopGuard(),
      ],
    )
    ..module(
      '/auth',
      module: AuthModule(),
      customTransition: defaultTransition,
      transition: TransitionType.custom,
      guards: [
        DesktopGuard(),
      ],
    )
    ..module(
      '/moodle',
      module: MoodleModule(),
      customTransition: defaultTransition,
      transition: TransitionType.custom,
      guards: [
        AuthGuard(redirectTo: '/auth/'),
        DesktopGuard(),
      ],
    )
    ..child(
      '/mobile',
      child: (_) => const MobileScreen(),
      transition: TransitionType.custom,
      customTransition: defaultTransition,
    )
    ..wildcard(child: (_) => const NotFoundScreen());
}