mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
4.1 KiB
169 lines
4.1 KiB
import { NgModule } from '@angular/core';
|
|
import { RouterModule, Routes, TitleStrategy } from '@angular/router';
|
|
import { PageTitleStrategy } from '@ghostfolio/client/services/page-title.strategy';
|
|
|
|
import { ModulePreloadService } from './core/module-preload.service';
|
|
|
|
export const paths = {
|
|
about: $localize`about`,
|
|
faq: $localize`faq`,
|
|
features: $localize`features`,
|
|
license: $localize`license`,
|
|
markets: $localize`markets`,
|
|
pricing: $localize`pricing`,
|
|
privacyPolicy: $localize`privacy-policy`,
|
|
register: $localize`register`,
|
|
resources: $localize`resources`
|
|
};
|
|
|
|
const routes: Routes = [
|
|
{
|
|
path: paths.about,
|
|
loadChildren: () =>
|
|
import('./pages/about/about-page.module').then((m) => m.AboutPageModule)
|
|
},
|
|
{
|
|
path: 'account',
|
|
loadChildren: () =>
|
|
import('./pages/user-account/user-account-page.module').then(
|
|
(m) => m.UserAccountPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'accounts',
|
|
loadChildren: () =>
|
|
import('./pages/accounts/accounts-page.module').then(
|
|
(m) => m.AccountsPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'admin',
|
|
loadChildren: () =>
|
|
import('./pages/admin/admin-page.module').then((m) => m.AdminPageModule)
|
|
},
|
|
{
|
|
path: 'auth',
|
|
loadChildren: () =>
|
|
import('./pages/auth/auth-page.module').then((m) => m.AuthPageModule)
|
|
},
|
|
{
|
|
path: 'blog',
|
|
loadChildren: () =>
|
|
import('./pages/blog/blog-page.module').then((m) => m.BlogPageModule)
|
|
},
|
|
{
|
|
path: 'demo',
|
|
loadChildren: () =>
|
|
import('./pages/demo/demo-page.module').then((m) => m.DemoPageModule)
|
|
},
|
|
{
|
|
path: paths.faq,
|
|
loadChildren: () =>
|
|
import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule)
|
|
},
|
|
{
|
|
path: paths.features,
|
|
loadChildren: () =>
|
|
import('./pages/features/features-page.module').then(
|
|
(m) => m.FeaturesPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'home',
|
|
loadChildren: () =>
|
|
import('./pages/home/home-page.module').then((m) => m.HomePageModule)
|
|
},
|
|
{
|
|
path: paths.markets,
|
|
loadChildren: () =>
|
|
import('./pages/markets/markets-page.module').then(
|
|
(m) => m.MarketsPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'open',
|
|
loadChildren: () =>
|
|
import('./pages/open/open-page.module').then((m) => m.OpenPageModule)
|
|
},
|
|
{
|
|
path: 'p',
|
|
loadChildren: () =>
|
|
import('./pages/public/public-page.module').then(
|
|
(m) => m.PublicPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'portfolio',
|
|
loadChildren: () =>
|
|
import('./pages/portfolio/portfolio-page.module').then(
|
|
(m) => m.PortfolioPageModule
|
|
)
|
|
},
|
|
{
|
|
path: paths.pricing,
|
|
loadChildren: () =>
|
|
import('./pages/pricing/pricing-page.module').then(
|
|
(m) => m.PricingPageModule
|
|
)
|
|
},
|
|
{
|
|
path: paths.register,
|
|
loadChildren: () =>
|
|
import('./pages/register/register-page.module').then(
|
|
(m) => m.RegisterPageModule
|
|
)
|
|
},
|
|
{
|
|
path: paths.resources,
|
|
loadChildren: () =>
|
|
import('./pages/resources/resources-page.module').then(
|
|
(m) => m.ResourcesPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'start',
|
|
loadChildren: () =>
|
|
import('./pages/landing/landing-page.module').then(
|
|
(m) => m.LandingPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'webauthn',
|
|
loadChildren: () =>
|
|
import('./pages/webauthn/webauthn-page.module').then(
|
|
(m) => m.WebauthnPageModule
|
|
)
|
|
},
|
|
{
|
|
path: 'zen',
|
|
loadChildren: () =>
|
|
import('./pages/zen/zen-page.module').then((m) => m.ZenPageModule)
|
|
},
|
|
{
|
|
// wildcard, if requested url doesn't match any paths for routes defined
|
|
// earlier
|
|
path: '**',
|
|
redirectTo: 'home',
|
|
pathMatch: 'full'
|
|
}
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [
|
|
RouterModule.forRoot(
|
|
routes,
|
|
// Preload all lazy loaded modules with the attribute preload === true
|
|
{
|
|
anchorScrolling: 'enabled',
|
|
preloadingStrategy: ModulePreloadService
|
|
// enableTracing: true // <-- debugging purposes only
|
|
}
|
|
)
|
|
],
|
|
providers: [
|
|
ModulePreloadService,
|
|
{ provide: TitleStrategy, useClass: PageTitleStrategy }
|
|
],
|
|
exports: [RouterModule]
|
|
})
|
|
export class AppRoutingModule {}
|
|
|