Lazy load all routes
[oweals/peertube.git] / client / src / app / +admin / admin-routing.module.ts
1 import { NgModule } from '@angular/core'
2 import { RouterModule, Routes } from '@angular/router'
3 import { ConfigRoutes } from '@app/+admin/config'
4 import { ModerationRoutes } from '@app/+admin/moderation/moderation.routes'
5 import { PluginsRoutes } from '@app/+admin/plugins/plugins.routes'
6 import { SystemRoutes } from '@app/+admin/system'
7 import { MetaGuard } from '@ngx-meta/core'
8 import { AdminComponent } from './admin.component'
9 import { FollowsRoutes } from './follows'
10 import { UsersRoutes } from './users'
11
12 const adminRoutes: Routes = [
13   {
14     path: '',
15     component: AdminComponent,
16     canActivate: [ MetaGuard ],
17     canActivateChild: [ MetaGuard ],
18     children: [
19       {
20         path: '',
21         redirectTo: 'users',
22         pathMatch: 'full'
23       },
24       ...FollowsRoutes,
25       ...UsersRoutes,
26       ...ModerationRoutes,
27       ...SystemRoutes,
28       ...ConfigRoutes,
29       ...PluginsRoutes
30     ]
31   }
32 ]
33
34 @NgModule({
35   imports: [ RouterModule.forChild(adminRoutes) ],
36   exports: [ RouterModule ]
37 })
38 export class AdminRoutingModule {}