import {NgModule} from '@angular/core'; import {PreloadAllModules, RouterModule, Routes} from '@angular/router'; import {OpenaireErrorPageComponent} from './error/errorPage.component'; import {AdminLoginGuard} from "./openaireLibrary/login/adminLoginGuard.guard"; import {AdminDashboardGuard} from "./utils/adminDashboard.guard"; import {LoginGuard} from "./openaireLibrary/login/loginGuard.guard"; const routes: Routes = [ { path: 'reload', loadChildren: () => import('./reload/libReload.module').then(m => m.LibReloadModule), data: {hasSidebar: false, hasHeader: false} }, { path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule), data: {hasSidebar: false, isFrontPage: true} }, { path: 'error', component: OpenaireErrorPageComponent, data: {hasSidebar: false, isFrontPage: true} }, { path: 'admin', loadChildren: () => import('./manageStakeholders/manageStakeholders.module').then(m => m.ManageStakeholdersModule), data: {hasAdminMenu: true}, canActivateChild: [LoginGuard] }, { path: 'admin/admin-tools', loadChildren: () => import('./admin-tools/portal-admin-tools-routing.module').then(m => m.PortalAdminToolsRoutingModule), canActivateChild: [AdminLoginGuard], data: {hasAdminMenu: true} }, { path: 'admin/monitor/admin-tools', loadChildren: () => import('./admin-tools/admin-tools-routing.module').then(m => m.AdminToolsRoutingModule), canActivateChild: [AdminLoginGuard], data: {hasAdminMenu: true, portal: 'monitor'} }, { path: 'admin/:stakeholder', loadChildren: () => import('./admin-stakeholder/admin-stakeholder-routing.module').then(m => m.AdminStakeholderRoutingModule), canActivateChild: [AdminDashboardGuard] }, {path: 'theme', loadChildren: () => import('./openaireLibrary/utils/theme/theme.module').then(m => m.ThemeModule)}, { path: '', loadChildren: () => import('./monitor/monitor.module').then(m => m.MonitorModule), data: {isFrontPage: true} }, { path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent, data: {hasSidebar: false, hasAdminMenu: false, isFrontPage: true} } ]; @NgModule({ imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, onSameUrlNavigation: "reload" })], exports: [RouterModule] }) export class AppRoutingModule { }