import { NgModule } from '@angular/core'; import { Routes, RouterModule, PreloadAllModules } from '@angular/router'; import { AuthenticatedUserGuard } from './modules/authentication/guards/authenticated-user.guard'; import { DashboardComponent } from './components/dashboard/dashboard.component'; import { NotFoundComponent } from './components/not-found/not-found.component'; import { SettingsComponent } from './components/settings/settings.component'; import { LoginComponent } from './components/login/login.component'; import { LogoutComponent } from './components/logout/logout.component'; import { LoadComponent } from './components/load/load.component'; import { NetworkComponent } from './components/network/network.component'; import { UpdateComponent } from './components/update/update.component'; import { HistoryComponent } from './components/history/history.component'; import { AdvancedComponent } from './components/advanced/advanced.component'; import { ToolsComponent } from './components/tools/tools.component'; import { NotificationsComponent } from './components/notifications/notifications.component'; import { NetworkDetailsComponent } from './components/network/network-details.component'; import { HubDetailsComponent } from './components/settings/hub-details.component'; import { SwapsComponent } from './components/swaps/swaps.component'; const routes: Routes = [ { path: '', pathMatch: 'full', redirectTo: '/load' }, { path: 'load', component: LoadComponent, data: { title: 'Setup' }, }, { path: 'advanced', component: AdvancedComponent, data: { title: 'Advanced Tools' }, }, { path: 'login', component: LoginComponent, data: { title: 'Log in' }, }, { path: 'dashboard', component: DashboardComponent, canActivate: [AuthenticatedUserGuard], // canActivate: [AuthenticatedUserGuard, ConnectedToNetworkdGuard], data: { title: 'Dashboard' } }, { path: 'settings', component: SettingsComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Settings' }, }, { path: 'hubs', component: HubDetailsComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Manage Hubs' }, }, { path: 'logout', component: LogoutComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Log out' }, }, { path: 'swaps', component: SwapsComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Swaps' }, }, { path: 'network', component: NetworkComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Network Status' }, }, { path: 'network-details', component: NetworkDetailsComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Network Details' }, }, { path: 'update', component: UpdateComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Update EXOS Core' }, }, { path: 'tools', component: ToolsComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Tools' }, }, { path: 'notifications', component: NotificationsComponent, canActivate: [AuthenticatedUserGuard], data: { title: 'Notification Center' }, }, { path: 'about', loadChildren: () => import('./components/about/about.module').then(m => m.AboutModule) }, { path: 'wallet', loadChildren: () => import('./components/wallet/wallet.module').then(m => m.WalletModule) }, { path: 'account', loadChildren: () => import('./components/account/account.module').then(m => m.AccountModule) }, { path: 'history', loadChildren: () => import('./components/history/history.module').then(m => m.HistoryModule) }, { path: '**', component: NotFoundComponent, data: { title: 'Not Found', }, }, ]; @NgModule({ imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, useHash: true })], exports: [RouterModule], }) export class AppRoutingModule { }