mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 12:11:56 +00:00
61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
import { NgModule } from '@angular/core'
|
|
import { PreloadAllModules, RouterModule, Routes } from '@angular/router'
|
|
import { AuthGuard } from './guards/auth.guard'
|
|
import { UnauthGuard } from './guards/unauth.guard'
|
|
import { MaintenanceGuard } from './guards/maintenance.guard'
|
|
import { UnmaintenanceGuard } from './guards/unmaintenance.guard'
|
|
|
|
const routes: Routes = [
|
|
{
|
|
redirectTo: 'services',
|
|
pathMatch: 'full',
|
|
path: '',
|
|
},
|
|
{
|
|
path: 'login',
|
|
canActivate: [UnauthGuard],
|
|
loadChildren: () => import('./pages/login/login.module').then(m => m.LoginPageModule),
|
|
},
|
|
{
|
|
path: 'embassy',
|
|
canActivate: [AuthGuard, MaintenanceGuard],
|
|
canActivateChild: [AuthGuard, MaintenanceGuard],
|
|
loadChildren: () => import('./pages/server-routes/server-routing.module').then(m => m.ServerRoutingModule),
|
|
},
|
|
{
|
|
path: 'maintenance',
|
|
canActivate: [AuthGuard, UnmaintenanceGuard],
|
|
loadChildren: () => import('./pages/maintenance/maintenance.module').then(m => m.MaintenancePageModule),
|
|
},
|
|
{
|
|
path: 'marketplace',
|
|
canActivate: [AuthGuard, MaintenanceGuard],
|
|
canActivateChild: [AuthGuard, MaintenanceGuard],
|
|
loadChildren: () => import('./pages/marketplace-routes/marketplace-routing.module').then(m => m.MarketplaceRoutingModule),
|
|
},
|
|
{
|
|
path: 'notifications',
|
|
canActivate: [AuthGuard, MaintenanceGuard],
|
|
loadChildren: () => import('./pages/notifications/notifications.module').then(m => m.NotificationsPageModule),
|
|
},
|
|
{
|
|
path: 'services',
|
|
canActivate: [AuthGuard, MaintenanceGuard],
|
|
canActivateChild: [AuthGuard, MaintenanceGuard],
|
|
loadChildren: () => import('./pages/apps-routes/apps-routing.module').then(m => m.AppsRoutingModule),
|
|
},
|
|
]
|
|
|
|
@NgModule({
|
|
imports: [
|
|
RouterModule.forRoot(routes, {
|
|
scrollPositionRestoration: 'enabled',
|
|
preloadingStrategy: PreloadAllModules,
|
|
initialNavigation: 'disabled',
|
|
useHash: true,
|
|
}),
|
|
],
|
|
exports: [RouterModule],
|
|
})
|
|
export class AppRoutingModule { }
|