import {RouterModule, Routes} from '@angular/router'; import {NotFoundComponent} from './common/not-found'; import {LoginComponent, LoginGuardAdmin, LoginGuardHL, LoginGuardMT} from './login'; import {armyRoutes, armyRoutingComponents} from './army/army.routing'; import {SignupComponent} from './login/signup.component'; import {RouteConfig} from './app.config'; import {NavigationHeaderComponent} from './common/navigation/navigation-header.component'; import {SidenavListComponent} from './common/navigation/sidenav-list.component'; export const appRoutes: Routes = [ { path: RouteConfig.overviewPath, children: armyRoutes }, { path: '', redirectTo: RouteConfig.overviewPath, pathMatch: 'full' }, { path: RouteConfig.statsPath, loadChildren: './statistic/stats.module#StatsModule' }, { path: RouteConfig.request, loadChildren: './request/request.module#RequestModule' }, { path: RouteConfig.managePath, loadChildren: './manage/manage.module#ManageModule', canActivate: [LoginGuardHL] }, { path: RouteConfig.publicPath, loadChildren: './pub/public.module#PublicModule' }, { path: RouteConfig.adminPanelPath, loadChildren: './admin/admin.module#AdminModule', canActivate: [LoginGuardAdmin] }, { path: RouteConfig.loginPath, component: LoginComponent }, { path: RouteConfig.signUpPath, component: SignupComponent }, /** Redirect Configuration **/ { path: '404', component: NotFoundComponent }, { path: '**', redirectTo: '/404' } // always configure this last - first matching route gets processed ]; export const appRouting = RouterModule.forRoot(appRoutes); export const routingComponents = [...armyRoutingComponents, LoginComponent, SignupComponent, NotFoundComponent, NavigationHeaderComponent, SidenavListComponent]; export const routingProviders = [LoginGuardHL, LoginGuardMT, LoginGuardAdmin];