From d9e934aa6b206acd14c76c218d662e5e1a65456a Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Sat, 4 Apr 2026 12:57:58 +0700 Subject: [PATCH] Task/improve type safety for routes by implementing satisfies operator (#6681) * Improve type safety --- .../admin-users/admin-users.component.ts | 2 +- .../app/components/footer/footer.component.ts | 8 ++++---- .../home-overview/home-overview.component.ts | 2 +- .../src/app/pages/about/about-page.routes.ts | 10 +++++----- .../about/changelog/changelog-page.routes.ts | 2 +- .../about/license/license-page.routes.ts | 2 +- .../oss-friends/oss-friends-page.routes.ts | 2 +- .../privacy-policy-page.routes.ts | 2 +- .../terms-of-service-page.routes.ts | 2 +- .../src/app/pages/admin/admin-page.routes.ts | 20 +++++++++---------- ...tfolio-joins-oss-friends-page.component.ts | 2 +- .../src/app/pages/faq/faq-page.routes.ts | 4 ++-- .../app/pages/faq/saas/saas-page.component.ts | 2 +- .../app/pages/faq/saas/saas-page.routes.ts | 2 +- .../self-hosting/self-hosting-page.routes.ts | 2 +- .../src/app/pages/home/home-page.routes.ts | 20 +++++++++---------- .../activities/activities-page.routes.ts | 2 +- .../analysis/analysis-page.routes.ts | 2 +- .../pages/portfolio/portfolio-page.routes.ts | 8 ++++---- .../glossary/resources-glossary.component.ts | 2 +- .../glossary/resources-glossary.routes.ts | 2 +- .../guides/resources-guides.routes.ts | 2 +- .../markets/resources-markets.routes.ts | 2 +- .../overview/resources-overview.component.ts | 12 +++++------ .../personal-finance-tools-page.routes.ts | 6 +++--- .../pages/resources/resources-page.routes.ts | 8 ++++---- .../user-account/user-account-page.routes.ts | 8 ++++---- .../src/app/pages/zen/zen-page.routes.ts | 4 ++-- libs/common/src/lib/routes/routes.ts | 8 ++++---- .../assistant-list-item.component.ts | 2 +- .../src/lib/assistant/assistant.component.ts | 6 +++--- .../no-transactions-info.component.ts | 2 +- 32 files changed, 80 insertions(+), 80 deletions(-) diff --git a/apps/client/src/app/components/admin-users/admin-users.component.ts b/apps/client/src/app/components/admin-users/admin-users.component.ts index 3b57ba1c8..874bbc1db 100644 --- a/apps/client/src/app/components/admin-users/admin-users.component.ts +++ b/apps/client/src/app/components/admin-users/admin-users.component.ts @@ -89,7 +89,7 @@ export class GfAdminUsersComponent implements OnInit { public isLoading = false; public pageSize = DEFAULT_PAGE_SIZE; public routerLinkAdminControlUsers = - internalRoutes.adminControl.subRoutes?.users.routerLink; + internalRoutes.adminControl.subRoutes.users.routerLink; public totalItems = 0; public user: User; diff --git a/apps/client/src/app/components/footer/footer.component.ts b/apps/client/src/app/components/footer/footer.component.ts index d06e711b9..48f010565 100644 --- a/apps/client/src/app/components/footer/footer.component.ts +++ b/apps/client/src/app/components/footer/footer.component.ts @@ -33,13 +33,13 @@ export class GfFooterComponent implements OnChanges { public hasPermissionToAccessFearAndGreedIndex: boolean; public routerLinkAbout = publicRoutes.about.routerLink; public routerLinkAboutChangelog = - publicRoutes.about.subRoutes?.changelog.routerLink; + publicRoutes.about.subRoutes.changelog.routerLink; public routerLinkAboutLicense = - publicRoutes.about.subRoutes?.license.routerLink; + publicRoutes.about.subRoutes.license.routerLink; public routerLinkAboutPrivacyPolicy = - publicRoutes.about.subRoutes?.privacyPolicy.routerLink; + publicRoutes.about.subRoutes.privacyPolicy.routerLink; public routerLinkAboutTermsOfService = - publicRoutes.about.subRoutes?.termsOfService.routerLink; + publicRoutes.about.subRoutes.termsOfService.routerLink; public routerLinkBlog = publicRoutes.blog.routerLink; public routerLinkFaq = publicRoutes.faq.routerLink; public routerLinkFeatures = publicRoutes.features.routerLink; diff --git a/apps/client/src/app/components/home-overview/home-overview.component.ts b/apps/client/src/app/components/home-overview/home-overview.component.ts index 9b4f646c3..58284d27d 100644 --- a/apps/client/src/app/components/home-overview/home-overview.component.ts +++ b/apps/client/src/app/components/home-overview/home-overview.component.ts @@ -56,7 +56,7 @@ export class GfHomeOverviewComponent implements OnInit { public routerLinkAccounts = internalRoutes.accounts.routerLink; public routerLinkPortfolio = internalRoutes.portfolio.routerLink; public routerLinkPortfolioActivities = - internalRoutes.portfolio.subRoutes?.activities.routerLink; + internalRoutes.portfolio.subRoutes.activities.routerLink; public showDetails = false; public unit: string; public user: User; diff --git a/apps/client/src/app/pages/about/about-page.routes.ts b/apps/client/src/app/pages/about/about-page.routes.ts index b4466fbab..4cb13280a 100644 --- a/apps/client/src/app/pages/about/about-page.routes.ts +++ b/apps/client/src/app/pages/about/about-page.routes.ts @@ -15,29 +15,29 @@ export const routes: Routes = [ import('./overview/about-overview-page.routes').then((m) => m.routes) }, { - path: publicRoutes.about.subRoutes?.changelog.path, + path: publicRoutes.about.subRoutes.changelog.path, loadChildren: () => import('./changelog/changelog-page.routes').then((m) => m.routes) }, { - path: publicRoutes.about.subRoutes?.license.path, + path: publicRoutes.about.subRoutes.license.path, loadChildren: () => import('./license/license-page.routes').then((m) => m.routes) }, { - path: publicRoutes.about.subRoutes?.ossFriends.path, + path: publicRoutes.about.subRoutes.ossFriends.path, loadChildren: () => import('./oss-friends/oss-friends-page.routes').then((m) => m.routes) }, { - path: publicRoutes.about.subRoutes?.privacyPolicy.path, + path: publicRoutes.about.subRoutes.privacyPolicy.path, loadChildren: () => import('./privacy-policy/privacy-policy-page.routes').then( (m) => m.routes ) }, { - path: publicRoutes.about.subRoutes?.termsOfService.path, + path: publicRoutes.about.subRoutes.termsOfService.path, loadChildren: () => import('./terms-of-service/terms-of-service-page.routes').then( (m) => m.routes diff --git a/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts b/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts index 7b67283e9..523218acc 100644 --- a/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts +++ b/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfChangelogPageComponent, path: '', - title: publicRoutes.about.subRoutes?.changelog.title + title: publicRoutes.about.subRoutes.changelog.title } ]; diff --git a/apps/client/src/app/pages/about/license/license-page.routes.ts b/apps/client/src/app/pages/about/license/license-page.routes.ts index 45de6aaa2..1684bb0c5 100644 --- a/apps/client/src/app/pages/about/license/license-page.routes.ts +++ b/apps/client/src/app/pages/about/license/license-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfLicensePageComponent, path: '', - title: publicRoutes.about.subRoutes?.license.title + title: publicRoutes.about.subRoutes.license.title } ]; diff --git a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts index dfe65d962..8dbb9d52a 100644 --- a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts +++ b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfOpenSourceSoftwareFriendsPageComponent, path: '', - title: publicRoutes.about.subRoutes?.ossFriends.title + title: publicRoutes.about.subRoutes.ossFriends.title } ]; diff --git a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts index 934e06289..e87436c17 100644 --- a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts +++ b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfPrivacyPolicyPageComponent, path: '', - title: publicRoutes.about.subRoutes?.privacyPolicy.title + title: publicRoutes.about.subRoutes.privacyPolicy.title } ]; diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts index caf8751f1..34d7a72d0 100644 --- a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts +++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfTermsOfServicePageComponent, path: '', - title: publicRoutes.about.subRoutes?.termsOfService.title + title: publicRoutes.about.subRoutes.termsOfService.title } ]; diff --git a/apps/client/src/app/pages/admin/admin-page.routes.ts b/apps/client/src/app/pages/admin/admin-page.routes.ts index 08fce248c..c5309edbb 100644 --- a/apps/client/src/app/pages/admin/admin-page.routes.ts +++ b/apps/client/src/app/pages/admin/admin-page.routes.ts @@ -20,29 +20,29 @@ export const routes: Routes = [ title: internalRoutes.adminControl.title }, { - path: internalRoutes.adminControl.subRoutes?.jobs.path, + path: internalRoutes.adminControl.subRoutes.jobs.path, component: GfAdminJobsComponent, - title: internalRoutes.adminControl.subRoutes?.jobs.title + title: internalRoutes.adminControl.subRoutes.jobs.title }, { - path: internalRoutes.adminControl.subRoutes?.marketData.path, + path: internalRoutes.adminControl.subRoutes.marketData.path, component: GfAdminMarketDataComponent, - title: internalRoutes.adminControl.subRoutes?.marketData.title + title: internalRoutes.adminControl.subRoutes.marketData.title }, { - path: internalRoutes.adminControl.subRoutes?.settings.path, + path: internalRoutes.adminControl.subRoutes.settings.path, component: GfAdminSettingsComponent, - title: internalRoutes.adminControl.subRoutes?.settings.title + title: internalRoutes.adminControl.subRoutes.settings.title }, { - path: internalRoutes.adminControl.subRoutes?.users.path, + path: internalRoutes.adminControl.subRoutes.users.path, component: GfAdminUsersComponent, - title: internalRoutes.adminControl.subRoutes?.users.title + title: internalRoutes.adminControl.subRoutes.users.title }, { - path: `${internalRoutes.adminControl.subRoutes?.users.path}/:userId`, + path: `${internalRoutes.adminControl.subRoutes.users.path}/:userId`, component: GfAdminUsersComponent, - title: internalRoutes.adminControl.subRoutes?.users.title + title: internalRoutes.adminControl.subRoutes.users.title } ], component: AdminPageComponent, diff --git a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts index 4b62e4449..c5a9cf178 100644 --- a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -12,6 +12,6 @@ import { RouterModule } from '@angular/router'; }) export class GhostfolioJoinsOssFriendsPageComponent { public routerLinkAboutOssFriends = - publicRoutes.about.subRoutes?.ossFriends.routerLink; + publicRoutes.about.subRoutes.ossFriends.routerLink; public routerLinkBlog = publicRoutes.blog.routerLink; } diff --git a/apps/client/src/app/pages/faq/faq-page.routes.ts b/apps/client/src/app/pages/faq/faq-page.routes.ts index f80304a08..2999e3c80 100644 --- a/apps/client/src/app/pages/faq/faq-page.routes.ts +++ b/apps/client/src/app/pages/faq/faq-page.routes.ts @@ -15,12 +15,12 @@ export const routes: Routes = [ import('./overview/faq-overview-page.routes').then((m) => m.routes) }, { - path: publicRoutes.faq.subRoutes?.saas.path, + path: publicRoutes.faq.subRoutes.saas.path, loadChildren: () => import('./saas/saas-page.routes').then((m) => m.routes) }, { - path: publicRoutes.faq.subRoutes?.selfHosting.path, + path: publicRoutes.faq.subRoutes.selfHosting.path, loadChildren: () => import('./self-hosting/self-hosting-page.routes').then( (m) => m.routes diff --git a/apps/client/src/app/pages/faq/saas/saas-page.component.ts b/apps/client/src/app/pages/faq/saas/saas-page.component.ts index 0c221f047..3f44653d2 100644 --- a/apps/client/src/app/pages/faq/saas/saas-page.component.ts +++ b/apps/client/src/app/pages/faq/saas/saas-page.component.ts @@ -25,7 +25,7 @@ export class GfSaasPageComponent { public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`; public routerLinkAccount = internalRoutes.account.routerLink; public routerLinkAccountMembership = - internalRoutes.account.subRoutes?.membership.routerLink; + internalRoutes.account.subRoutes.membership.routerLink; public routerLinkMarkets = publicRoutes.markets.routerLink; public routerLinkRegister = publicRoutes.register.routerLink; public user: User; diff --git a/apps/client/src/app/pages/faq/saas/saas-page.routes.ts b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts index d68893640..dcb574c38 100644 --- a/apps/client/src/app/pages/faq/saas/saas-page.routes.ts +++ b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfSaasPageComponent, path: '', - title: `${publicRoutes.faq.subRoutes?.saas.title} - ${publicRoutes.faq.title}` + title: `${publicRoutes.faq.subRoutes.saas.title} - ${publicRoutes.faq.title}` } ]; diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts index ccf034421..d08cdb312 100644 --- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts +++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfSelfHostingPageComponent, path: '', - title: `${publicRoutes.faq.subRoutes?.selfHosting.title} - ${publicRoutes.faq.title}` + title: `${publicRoutes.faq.subRoutes.selfHosting.title} - ${publicRoutes.faq.title}` } ]; diff --git a/apps/client/src/app/pages/home/home-page.routes.ts b/apps/client/src/app/pages/home/home-page.routes.ts index 436826674..82ef1e521 100644 --- a/apps/client/src/app/pages/home/home-page.routes.ts +++ b/apps/client/src/app/pages/home/home-page.routes.ts @@ -20,29 +20,29 @@ export const routes: Routes = [ component: GfHomeOverviewComponent }, { - path: internalRoutes.home.subRoutes?.holdings.path, + path: internalRoutes.home.subRoutes.holdings.path, component: GfHomeHoldingsComponent, - title: internalRoutes.home.subRoutes?.holdings.title + title: internalRoutes.home.subRoutes.holdings.title }, { - path: internalRoutes.home.subRoutes?.summary.path, + path: internalRoutes.home.subRoutes.summary.path, component: GfHomeSummaryComponent, - title: internalRoutes.home.subRoutes?.summary.title + title: internalRoutes.home.subRoutes.summary.title }, { - path: internalRoutes.home.subRoutes?.markets.path, + path: internalRoutes.home.subRoutes.markets.path, component: GfHomeMarketComponent, - title: internalRoutes.home.subRoutes?.markets.title + title: internalRoutes.home.subRoutes.markets.title }, { - path: internalRoutes.home.subRoutes?.marketsPremium.path, + path: internalRoutes.home.subRoutes.marketsPremium.path, component: GfMarketsComponent, - title: internalRoutes.home.subRoutes?.marketsPremium.title + title: internalRoutes.home.subRoutes.marketsPremium.title }, { - path: internalRoutes.home.subRoutes?.watchlist.path, + path: internalRoutes.home.subRoutes.watchlist.path, component: GfHomeWatchlistComponent, - title: internalRoutes.home.subRoutes?.watchlist.title + title: internalRoutes.home.subRoutes.watchlist.title } ], component: GfHomePageComponent, diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts index e1c75f6cc..c96c8a558 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfActivitiesPageComponent, path: '', - title: internalRoutes.portfolio.subRoutes?.activities.title + title: internalRoutes.portfolio.subRoutes.activities.title } ]; diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts b/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts index 343d6ced5..91cf4c91b 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts @@ -10,6 +10,6 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: GfAnalysisPageComponent, path: '', - title: internalRoutes.portfolio.subRoutes?.analysis.title + title: internalRoutes.portfolio.subRoutes.analysis.title } ]; diff --git a/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts b/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts index a4fdc3f61..aeebf4a6b 100644 --- a/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts +++ b/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts @@ -15,22 +15,22 @@ export const routes: Routes = [ import('./analysis/analysis-page.routes').then((m) => m.routes) }, { - path: internalRoutes.portfolio.subRoutes?.activities.path, + path: internalRoutes.portfolio.subRoutes.activities.path, loadChildren: () => import('./activities/activities-page.routes').then((m) => m.routes) }, { - path: internalRoutes.portfolio.subRoutes?.allocations.path, + path: internalRoutes.portfolio.subRoutes.allocations.path, loadChildren: () => import('./allocations/allocations-page.routes').then((m) => m.routes) }, { - path: internalRoutes.portfolio.subRoutes?.fire.path, + path: internalRoutes.portfolio.subRoutes.fire.path, loadChildren: () => import('./fire/fire-page.routes').then((m) => m.routes) }, { - path: internalRoutes.portfolio.subRoutes?.xRay.path, + path: internalRoutes.portfolio.subRoutes.xRay.path, loadChildren: () => import('./x-ray/x-ray-page.routes').then((m) => m.routes) } diff --git a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts index 9c86f2c83..112619239 100644 --- a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts +++ b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts @@ -16,7 +16,7 @@ export class ResourcesGlossaryPageComponent implements OnInit { public hasPermissionForSubscription: boolean; public info: InfoItem; public routerLinkResourcesPersonalFinanceTools = - publicRoutes.resources.subRoutes?.personalFinanceTools.routerLink; + publicRoutes.resources.subRoutes.personalFinanceTools.routerLink; public constructor(private dataService: DataService) { this.info = this.dataService.fetchInfo(); diff --git a/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts b/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts index 4096dfecd..2f864155a 100644 --- a/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts +++ b/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts @@ -8,6 +8,6 @@ export const routes: Routes = [ { component: ResourcesGlossaryPageComponent, path: '', - title: publicRoutes.resources.subRoutes?.glossary.title + title: publicRoutes.resources.subRoutes.glossary.title } ]; diff --git a/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts b/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts index eb8c39e24..f9f65f44a 100644 --- a/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts +++ b/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts @@ -8,6 +8,6 @@ export const routes: Routes = [ { component: ResourcesGuidesComponent, path: '', - title: publicRoutes.resources.subRoutes?.guides.title + title: publicRoutes.resources.subRoutes.guides.title } ]; diff --git a/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts b/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts index a56dc7cf7..4bcb66789 100644 --- a/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts +++ b/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts @@ -8,6 +8,6 @@ export const routes: Routes = [ { component: ResourcesMarketsComponent, path: '', - title: publicRoutes.resources.subRoutes?.markets.title + title: publicRoutes.resources.subRoutes.markets.title } ]; diff --git a/apps/client/src/app/pages/resources/overview/resources-overview.component.ts b/apps/client/src/app/pages/resources/overview/resources-overview.component.ts index 310f16a5e..81338200f 100644 --- a/apps/client/src/app/pages/resources/overview/resources-overview.component.ts +++ b/apps/client/src/app/pages/resources/overview/resources-overview.component.ts @@ -20,20 +20,20 @@ export class ResourcesOverviewComponent { { description: 'Explore our guides to help you get started with investing and managing your finances.', - routerLink: publicRoutes.resources.subRoutes?.guides.routerLink, - title: publicRoutes.resources.subRoutes?.guides.title + routerLink: publicRoutes.resources.subRoutes.guides.routerLink, + title: publicRoutes.resources.subRoutes.guides.title }, { description: 'Access various market resources and tools to stay informed about financial markets.', - routerLink: publicRoutes.resources.subRoutes?.markets.routerLink, - title: publicRoutes.resources.subRoutes?.markets.title + routerLink: publicRoutes.resources.subRoutes.markets.routerLink, + title: publicRoutes.resources.subRoutes.markets.title }, { description: 'Learn key financial terms and concepts in our comprehensive glossary.', - routerLink: publicRoutes.resources.subRoutes?.glossary.routerLink, - title: publicRoutes.resources.subRoutes?.glossary.title + routerLink: publicRoutes.resources.subRoutes.glossary.routerLink, + title: publicRoutes.resources.subRoutes.glossary.title } ]; } diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts index 081c34000..9081f6b28 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts @@ -11,7 +11,7 @@ export const routes: Routes = [ canActivate: [AuthGuard], component: PersonalFinanceToolsPageComponent, path: '', - title: publicRoutes.resources.subRoutes?.personalFinanceTools.title + title: publicRoutes.resources.subRoutes.personalFinanceTools.title }, ...personalFinanceTools.map(({ alias, key, name }) => { return { @@ -23,8 +23,8 @@ export const routes: Routes = [ return GfProductPageComponent; } ), - path: `${publicRoutes.resources.subRoutes?.personalFinanceTools.subRoutes?.product.path}-${alias ?? key}`, - title: `${publicRoutes.resources.subRoutes?.personalFinanceTools.subRoutes?.product.title} ${name}` + path: `${publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product.path}-${alias ?? key}`, + title: `${publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product.title} ${name}` }; }) ]; diff --git a/apps/client/src/app/pages/resources/resources-page.routes.ts b/apps/client/src/app/pages/resources/resources-page.routes.ts index 6e59f0995..107988238 100644 --- a/apps/client/src/app/pages/resources/resources-page.routes.ts +++ b/apps/client/src/app/pages/resources/resources-page.routes.ts @@ -16,22 +16,22 @@ export const routes: Routes = [ import('./overview/resources-overview.routes').then((m) => m.routes) }, { - path: publicRoutes.resources.subRoutes?.glossary.path, + path: publicRoutes.resources.subRoutes.glossary.path, loadChildren: () => import('./glossary/resources-glossary.routes').then((m) => m.routes) }, { - path: publicRoutes.resources.subRoutes?.guides.path, + path: publicRoutes.resources.subRoutes.guides.path, loadChildren: () => import('./guides/resources-guides.routes').then((m) => m.routes) }, { - path: publicRoutes.resources.subRoutes?.markets.path, + path: publicRoutes.resources.subRoutes.markets.path, loadChildren: () => import('./markets/resources-markets.routes').then((m) => m.routes) }, { - path: publicRoutes.resources.subRoutes?.personalFinanceTools.path, + path: publicRoutes.resources.subRoutes.personalFinanceTools.path, loadChildren: () => import('./personal-finance-tools/personal-finance-tools-page.routes').then( (m) => m.routes diff --git a/apps/client/src/app/pages/user-account/user-account-page.routes.ts b/apps/client/src/app/pages/user-account/user-account-page.routes.ts index 7eac1298e..5d0f5b202 100644 --- a/apps/client/src/app/pages/user-account/user-account-page.routes.ts +++ b/apps/client/src/app/pages/user-account/user-account-page.routes.ts @@ -18,14 +18,14 @@ export const routes: Routes = [ title: internalRoutes.account.title }, { - path: internalRoutes.account.subRoutes?.membership.path, + path: internalRoutes.account.subRoutes.membership.path, component: GfUserAccountMembershipComponent, - title: internalRoutes.account.subRoutes?.membership.title + title: internalRoutes.account.subRoutes.membership.title }, { - path: internalRoutes.account.subRoutes?.access.path, + path: internalRoutes.account.subRoutes.access.path, component: GfUserAccountAccessComponent, - title: internalRoutes.account.subRoutes?.access.title + title: internalRoutes.account.subRoutes.access.title } ], component: GfUserAccountPageComponent, diff --git a/apps/client/src/app/pages/zen/zen-page.routes.ts b/apps/client/src/app/pages/zen/zen-page.routes.ts index 38929dc85..60e163ca4 100644 --- a/apps/client/src/app/pages/zen/zen-page.routes.ts +++ b/apps/client/src/app/pages/zen/zen-page.routes.ts @@ -16,9 +16,9 @@ export const routes: Routes = [ component: GfHomeOverviewComponent }, { - path: internalRoutes.zen.subRoutes?.holdings.path, + path: internalRoutes.zen.subRoutes.holdings.path, component: GfHomeHoldingsComponent, - title: internalRoutes.home.subRoutes?.holdings.title + title: internalRoutes.home.subRoutes.holdings.title } ], component: GfZenPageComponent, diff --git a/libs/common/src/lib/routes/routes.ts b/libs/common/src/lib/routes/routes.ts index 53ecd104e..2785efdde 100644 --- a/libs/common/src/lib/routes/routes.ts +++ b/libs/common/src/lib/routes/routes.ts @@ -15,7 +15,7 @@ if (typeof window !== 'undefined') { }; } -export const internalRoutes: Record = { +export const internalRoutes = { account: { path: 'account', routerLink: ['/account'], @@ -169,9 +169,9 @@ export const internalRoutes: Record = { }, title: $localize`Overview` } -}; +} satisfies Record; -export const publicRoutes: Record = { +export const publicRoutes = { about: { path: $localize`:kebab-case@@routes.about:about`, routerLink: ['/' + $localize`:kebab-case@@routes.about:about`], @@ -336,4 +336,4 @@ export const publicRoutes: Record = { path: $localize`:kebab-case@@routes.start:start`, routerLink: ['/' + $localize`:kebab-case@@routes.start:start`] } -}; +} satisfies Record; diff --git a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts index 05750cea4..36127a566 100644 --- a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts +++ b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts @@ -67,7 +67,7 @@ export class GfAssistantListItemComponent }; this.routerLink = - internalRoutes.adminControl.subRoutes?.marketData.routerLink ?? []; + internalRoutes.adminControl.subRoutes.marketData.routerLink ?? []; } else if (this.item?.mode === SearchMode.HOLDING) { this.queryParams = { dataSource: this.item.dataSource, diff --git a/libs/ui/src/lib/assistant/assistant.component.ts b/libs/ui/src/lib/assistant/assistant.component.ts index 1c67e4fa2..22d276cd3 100644 --- a/libs/ui/src/lib/assistant/assistant.component.ts +++ b/libs/ui/src/lib/assistant/assistant.component.ts @@ -717,7 +717,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit { private searchQuickLinks(aSearchTerm: string): SearchResultItem[] { const searchTerm = aSearchTerm.toLowerCase(); - const allRoutes = Object.values(internalRoutes) + const allRoutes = Object.values(internalRoutes) .filter(({ excludeFromAssistant }) => { if (isFunction(excludeFromAssistant)) { return excludeFromAssistant(this.user); @@ -725,13 +725,13 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit { return !excludeFromAssistant; }) - .reduce((acc, route) => { + .reduce((acc, route) => { acc.push(route); if (route.subRoutes) { acc.push(...Object.values(route.subRoutes)); } return acc; - }, [] as InternalRoute[]); + }, []); const fuse = new Fuse(allRoutes, { keys: ['title'], diff --git a/libs/ui/src/lib/no-transactions-info/no-transactions-info.component.ts b/libs/ui/src/lib/no-transactions-info/no-transactions-info.component.ts index 9ca91d111..8691dc998 100644 --- a/libs/ui/src/lib/no-transactions-info/no-transactions-info.component.ts +++ b/libs/ui/src/lib/no-transactions-info/no-transactions-info.component.ts @@ -24,5 +24,5 @@ export class GfNoTransactionsInfoComponent { @HostBinding('class.has-border') @Input() hasBorder = true; public routerLinkPortfolioActivities = - internalRoutes.portfolio.subRoutes?.activities.routerLink; + internalRoutes.portfolio.subRoutes.activities.routerLink; }