Files
Picsur/frontend/src/app/routes/settings/settings.routing.module.ts

50 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-03-17 15:35:24 +01:00
import { ModuleWithProviders, NgModule } from '@angular/core';
2022-03-16 17:45:12 +01:00
import { RouterModule } from '@angular/router';
2022-03-17 15:35:24 +01:00
import { Permission } from 'picsur-shared/dist/dto/permissions';
import { PermissionGuard } from 'src/app/guards/permission.guard';
2022-03-16 17:45:12 +01:00
import { PRoutes } from 'src/app/models/picsur-routes';
2022-03-16 22:27:03 +01:00
import { SettingsGeneralRouteModule } from './settings-general/settings-home.module';
2022-03-16 17:45:12 +01:00
import { SettingsSidebarComponent } from './settings-sidebar/settings-sidebar.component';
2022-03-16 22:27:03 +01:00
const SettingsRoutes: PRoutes = [
2022-03-16 17:45:12 +01:00
{
2022-03-16 22:27:03 +01:00
path: '',
2022-03-17 15:35:24 +01:00
redirectTo: 'general',
},
{
path: 'general',
2022-03-16 22:27:03 +01:00
loadChildren: () => SettingsGeneralRouteModule,
2022-03-17 15:35:24 +01:00
canActivate: [PermissionGuard],
2022-03-16 17:45:12 +01:00
data: {
2022-03-17 15:35:24 +01:00
permissions: [Permission.Settings],
page: {
title: 'General',
icon: 'settings',
category: 'personal',
},
2022-03-16 17:45:12 +01:00
},
},
2022-03-17 15:35:24 +01:00
{
path: 'sidebar',
component: SettingsSidebarComponent,
},
2022-03-16 17:45:12 +01:00
];
@NgModule({
2022-03-16 22:27:03 +01:00
imports: [RouterModule.forChild(SettingsRoutes)],
2022-03-16 17:45:12 +01:00
exports: [RouterModule],
})
2022-03-17 15:35:24 +01:00
export class SettingsRoutingModule {
static forRoot(): ModuleWithProviders<SettingsRoutingModule> {
return {
ngModule: SettingsRoutingModule,
providers: [
{
provide: 'SettingsRoutes',
useFactory: () => SettingsRoutes,
},
],
};
}
}