Files
weirsoe-party-protocol/frontend/angular/src/app/app.routes.ts
Asger Geel Weirsoee 8ba737be7f
All checks were successful
CI / test-and-quality (push) Successful in 2m30s
CI / test-and-quality (pull_request) Successful in 2m6s
feat(spa): add host/player route session guards
2026-03-01 16:01:26 +00:00

50 lines
1.7 KiB
TypeScript

import { Routes } from '@angular/router';
import {
hostRouteContextResolver,
hostRouteGuard,
playerRouteContextResolver,
playerRouteGuard,
} from './session-route-context';
export const routes: Routes = [
{
path: 'host',
resolve: { routeContext: hostRouteContextResolver },
canActivate: [hostRouteGuard],
loadComponent: () => import('./features/host/host-shell.component').then((m) => m.HostShellComponent),
},
{
path: 'host/:phase',
resolve: { routeContext: hostRouteContextResolver },
canActivate: [hostRouteGuard],
loadComponent: () => import('./features/host/host-shell.component').then((m) => m.HostShellComponent),
},
{
path: 'host/:phase/:context',
resolve: { routeContext: hostRouteContextResolver },
canActivate: [hostRouteGuard],
loadComponent: () => import('./features/host/host-shell.component').then((m) => m.HostShellComponent),
},
{
path: 'player',
resolve: { routeContext: playerRouteContextResolver },
canActivate: [playerRouteGuard],
loadComponent: () => import('./features/player/player-shell.component').then((m) => m.PlayerShellComponent),
},
{
path: 'player/:phase',
resolve: { routeContext: playerRouteContextResolver },
canActivate: [playerRouteGuard],
loadComponent: () => import('./features/player/player-shell.component').then((m) => m.PlayerShellComponent),
},
{
path: 'player/:phase/:context',
resolve: { routeContext: playerRouteContextResolver },
canActivate: [playerRouteGuard],
loadComponent: () => import('./features/player/player-shell.component').then((m) => m.PlayerShellComponent),
},
{ path: '', pathMatch: 'full', redirectTo: 'player' },
{ path: '**', redirectTo: 'player' },
];