routes method

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

Implementation

@override
void routes(RouteManager r) {
  r
    ..child(
      '/',
      child: (_) => const SlotMasterScreen(),
      transition: TransitionType.custom,
      customTransition: defaultTransition,
      guards: [
        CapabilityGuard({UserCapability.slotMaster}, redirectTo: '/slots/overview/'),
      ],
    )
    ..child(
      '/overview/',
      child: (_) => const SlotOverviewScreen(),
      transition: TransitionType.custom,
      customTransition: defaultTransition,
      guards: [
        CapabilityGuard({UserCapability.teacher}, redirectTo: '/slots/book/'),
      ],
    )
    ..child(
      '/overview/:id',
      child: (_) => SlotDetailsScreen(slotId: int.parse(r.args.params['id'])),
      guards: [
        CapabilityGuard({UserCapability.teacher}, redirectTo: '/slots/book/'),
      ],
    )
    ..child(
      '/book/',
      child: (_) => const SlotReservationScreen(),
      transition: TransitionType.custom,
      customTransition: defaultTransition,
      guards: [
        CapabilityGuard({UserCapability.student}, redirectTo: '/slots/'),
      ],
    );
}