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'; 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.userPath, loadChildren: './users/users.module#UsersModule', canActivate: [LoginGuardHL] }, { path: RouteConfig.squadPath, loadChildren: './squads/squads.module#SquadsModule', canActivate: [LoginGuardHL] }, { path: RouteConfig.decorationPath, loadChildren: './decorations/decoration.module#DecorationsModule', canActivate: [LoginGuardHL] }, { path: RouteConfig.rankPath, loadChildren: './ranks/ranks.module#RanksModule', 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]; export const routingProviders = [LoginGuardHL, LoginGuardMT, LoginGuardAdmin];