50 lines
1.7 KiB
TypeScript
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' },
|
|
];
|