0a5ab058a6
- Angular 12 application with PrimeNG components - 5 existing Cypress e2e test suites - SCSS styling with BEM naming convention - i18n support (10 languages) - Leaflet map integration - Complete component hierarchy and routing structure This baseline will be used for Angular → React migration.
104 lines
2.3 KiB
TypeScript
104 lines
2.3 KiB
TypeScript
import { NgModule } from '@angular/core';
|
|
import { Routes, RouterModule } from '@angular/router';
|
|
import { SettingsResolver } from '@shared/services';
|
|
import { FeatureFlagGuard } from './guards/feature-flag.guard'
|
|
|
|
const routes: Routes = [
|
|
{
|
|
path: '',
|
|
redirectTo: 'onlineboard',
|
|
pathMatch: 'full',
|
|
},
|
|
{
|
|
path: 'ru',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'en',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'es',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'fr',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'it',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'ja',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'ko',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'zh',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'de',
|
|
redirectTo: 'onlineboard'
|
|
},
|
|
{
|
|
path: 'onlineboard',
|
|
loadChildren: () =>
|
|
import('./features/online-board/online-board.module').then(
|
|
(m) => m.OnlineBoardModule,
|
|
),
|
|
resolve: {
|
|
[SettingsResolver.KEY]: SettingsResolver,
|
|
},
|
|
},
|
|
{
|
|
path: 'schedule',
|
|
loadChildren: () =>
|
|
import('./features/schedule/schedule.module').then(
|
|
(m) => m.ScheduleModule,
|
|
),
|
|
resolve: {
|
|
[SettingsResolver.KEY]: SettingsResolver,
|
|
},
|
|
},
|
|
{
|
|
path: 'flights-map',
|
|
data: { featureFlag: 'flightsMap' } as const,
|
|
canLoad: [FeatureFlagGuard],
|
|
loadChildren: () =>
|
|
import('./features/flights-map/flights-map.module').then(
|
|
(m) => m.FlightsMapModule,
|
|
),
|
|
resolve: {
|
|
[SettingsResolver.KEY]: SettingsResolver,
|
|
},
|
|
},
|
|
{
|
|
path: 'error',
|
|
loadChildren: () =>
|
|
import('./modules/pages/error-pages/error-pages.module').then(
|
|
(m) => m.ErrorPagesModule,
|
|
),
|
|
},
|
|
{
|
|
path: '**',
|
|
redirectTo: 'error/404',
|
|
},
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [
|
|
RouterModule.forRoot(routes, {
|
|
onSameUrlNavigation: 'reload',
|
|
enableTracing: false,
|
|
initialNavigation: 'enabled',
|
|
}),
|
|
],
|
|
exports: [RouterModule],
|
|
})
|
|
export class AppRoutingModule {}
|