Browse Source

Task/improve type safety for sub routes usage (#6606)

* Resolve subroutes errors in components and pages
pull/6607/head^2
Kenrick Tandrian 2 days ago
committed by GitHub
parent
commit
836a01d3cd
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 8
      apps/client/src/app/app.component.ts
  2. 2
      apps/client/src/app/components/admin-users/admin-users.component.ts
  3. 8
      apps/client/src/app/components/footer/footer.component.ts
  4. 2
      apps/client/src/app/components/home-overview/home-overview.component.ts
  5. 10
      apps/client/src/app/pages/about/about-page.routes.ts
  6. 2
      apps/client/src/app/pages/about/changelog/changelog-page.routes.ts
  7. 2
      apps/client/src/app/pages/about/license/license-page.routes.ts
  8. 2
      apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts
  9. 2
      apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts
  10. 2
      apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts
  11. 20
      apps/client/src/app/pages/admin/admin-page.routes.ts
  12. 2
      apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts
  13. 4
      apps/client/src/app/pages/faq/faq-page.routes.ts
  14. 2
      apps/client/src/app/pages/faq/saas/saas-page.component.ts
  15. 2
      apps/client/src/app/pages/faq/saas/saas-page.routes.ts
  16. 2
      apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts
  17. 20
      apps/client/src/app/pages/home/home-page.routes.ts
  18. 2
      apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts
  19. 2
      apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts
  20. 8
      apps/client/src/app/pages/portfolio/portfolio-page.routes.ts
  21. 2
      apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts
  22. 2
      apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts
  23. 2
      apps/client/src/app/pages/resources/guides/resources-guides.routes.ts
  24. 2
      apps/client/src/app/pages/resources/markets/resources-markets.routes.ts
  25. 12
      apps/client/src/app/pages/resources/overview/resources-overview.component.ts
  26. 6
      apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts
  27. 8
      apps/client/src/app/pages/resources/resources-page.routes.ts
  28. 8
      apps/client/src/app/pages/user-account/user-account-page.routes.ts
  29. 4
      apps/client/src/app/pages/zen/zen-page.routes.ts

8
apps/client/src/app/app.component.ts

@ -141,18 +141,18 @@ export class GfAppComponent implements OnInit {
if (
(this.currentRoute === internalRoutes.home.path &&
this.currentSubRoute ===
internalRoutes.home.subRoutes.holdings.path) ||
internalRoutes.home.subRoutes?.holdings.path) ||
(this.currentRoute === internalRoutes.portfolio.path &&
!this.currentSubRoute) ||
(this.currentRoute === internalRoutes.portfolio.path &&
this.currentSubRoute ===
internalRoutes.portfolio.subRoutes.activities.path) ||
internalRoutes.portfolio.subRoutes?.activities.path) ||
(this.currentRoute === internalRoutes.portfolio.path &&
this.currentSubRoute ===
internalRoutes.portfolio.subRoutes.allocations.path) ||
internalRoutes.portfolio.subRoutes?.allocations.path) ||
(this.currentRoute === internalRoutes.zen.path &&
this.currentSubRoute ===
internalRoutes.home.subRoutes.holdings.path)
internalRoutes.home.subRoutes?.holdings.path)
) {
this.hasPermissionToChangeFilters = true;
} else {

2
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;

8
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;

2
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;

10
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

2
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
}
];

2
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
}
];

2
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
}
];

2
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
}
];

2
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
}
];

20
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,

2
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;
}

4
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

2
apps/client/src/app/pages/faq/saas/saas-page.component.ts

@ -25,7 +25,7 @@ export class GfSaasPageComponent implements OnDestroy {
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;

2
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}`
}
];

2
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}`
}
];

20
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,

2
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
}
];

2
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
}
];

8
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)
}

2
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();

2
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
}
];

2
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
}
];

2
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
}
];

12
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
}
];
}

6
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}`
};
})
];

8
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

8
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,

4
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,

Loading…
Cancel
Save