Browse Source

Feature/refactor public routes (#4919)

* Refactor public routes: features
pull/4921/head
Thomas Kaul 3 weeks ago
committed by GitHub
parent
commit
2f7425d0a2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      apps/client/src/app/app-routing.module.ts
  2. 4
      apps/client/src/app/app.component.ts
  3. 4
      apps/client/src/app/components/header/header.component.ts
  4. 2
      apps/client/src/app/core/auth.guard.ts
  5. 2
      apps/client/src/app/pages/about/overview/about-overview-page.component.ts
  6. 4
      apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts
  7. 4
      apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts
  8. 4
      apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts
  9. 4
      apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts
  10. 4
      apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts
  11. 4
      apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts
  12. 4
      apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts
  13. 4
      apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts
  14. 4
      apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts
  15. 4
      apps/client/src/app/pages/pricing/pricing-page.component.ts
  16. 4
      apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
  17. 6
      libs/common/src/lib/routes/routes.ts

4
apps/client/src/app/app-routing.module.ts

@ -74,8 +74,8 @@ const routes: Routes = [
import('./pages/features/features-page.component').then( import('./pages/features/features-page.component').then(
(c) => c.GfFeaturesPageComponent (c) => c.GfFeaturesPageComponent
), ),
path: ghostfolioRoutes.features, path: publicRoutes.features.path,
title: $localize`Features` title: publicRoutes.features.title
}, },
{ {
path: internalRoutes.home.path, path: internalRoutes.home.path,

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

@ -80,7 +80,7 @@ export class AppComponent implements OnDestroy, OnInit {
]; ];
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFaq = ['/' + routes.faq]; public routerLinkFaq = ['/' + routes.faq];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkMarkets = ['/' + routes.markets]; public routerLinkMarkets = ['/' + routes.markets];
public routerLinkOpenStartup = publicRoutes.openStartup.routerLink; public routerLinkOpenStartup = publicRoutes.openStartup.routerLink;
public routerLinkPricing = ['/' + routes.pricing]; public routerLinkPricing = ['/' + routes.pricing];
@ -212,7 +212,7 @@ export class AppComponent implements OnDestroy, OnInit {
this.showFooter = this.showFooter =
(this.currentRoute === routes.blog || (this.currentRoute === routes.blog ||
this.currentRoute === routes.features || this.currentRoute === publicRoutes.features.path ||
this.currentRoute === routes.markets || this.currentRoute === routes.markets ||
this.currentRoute === publicRoutes.openStartup.path || this.currentRoute === publicRoutes.openStartup.path ||
this.currentRoute === routes.public || this.currentRoute === routes.public ||

4
apps/client/src/app/components/header/header.component.ts

@ -86,7 +86,7 @@ export class HeaderComponent implements OnChanges {
public internalRoutes = internalRoutes; public internalRoutes = internalRoutes;
public isMenuOpen: boolean; public isMenuOpen: boolean;
public routeAbout = routes.about; public routeAbout = routes.about;
public routeFeatures = routes.features; public routeFeatures = publicRoutes.features.path;
public routeMarkets = routes.markets; public routeMarkets = routes.markets;
public routePricing = routes.pricing; public routePricing = routes.pricing;
public routeResources = routes.resources; public routeResources = routes.resources;
@ -94,7 +94,7 @@ export class HeaderComponent implements OnChanges {
public routerLinkAccount = internalRoutes.account.routerLink; public routerLinkAccount = internalRoutes.account.routerLink;
public routerLinkAccounts = internalRoutes.accounts.routerLink; public routerLinkAccounts = internalRoutes.accounts.routerLink;
public routerLinkAdminControl = ['/' + routes.adminControl]; public routerLinkAdminControl = ['/' + routes.adminControl];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkMarkets = ['/' + routes.markets]; public routerLinkMarkets = ['/' + routes.markets];
public routerLinkPortfolio = internalRoutes.portfolio.routerLink; public routerLinkPortfolio = internalRoutes.portfolio.routerLink;
public routerLinkPricing = ['/' + routes.pricing]; public routerLinkPricing = ['/' + routes.pricing];

2
apps/client/src/app/core/auth.guard.ts

@ -23,7 +23,7 @@ export class AuthGuard {
`/${routes.blog}`, `/${routes.blog}`,
`/${routes.demo}`, `/${routes.demo}`,
`/${routes.faq}`, `/${routes.faq}`,
`/${routes.features}`, `/${publicRoutes.features.path}`,
`/${routes.markets}`, `/${routes.markets}`,
`/${publicRoutes.openStartup.path}`, `/${publicRoutes.openStartup.path}`,
`/${routes.pricing}`, `/${routes.pricing}`,

2
apps/client/src/app/pages/about/overview/about-overview-page.component.ts

@ -20,7 +20,7 @@ export class AboutOverviewPageComponent implements OnDestroy, OnInit {
public isLoggedIn: boolean; public isLoggedIn: boolean;
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFaq = ['/' + routes.faq]; public routerLinkFaq = ['/' + routes.faq];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkOpenStartup = publicRoutes.openStartup.routerLink; public routerLinkOpenStartup = publicRoutes.openStartup.routerLink;
public user: User; public user: User;

4
apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
@ -13,6 +13,6 @@ import { RouterModule } from '@angular/router';
}) })
export class BlackFriday2022PageComponent { export class BlackFriday2022PageComponent {
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkPricing = ['/' + routes.pricing]; public routerLinkPricing = ['/' + routes.pricing];
} }

4
apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@ -12,6 +12,6 @@ import { RouterModule } from '@angular/router';
}) })
export class ThousandStarsOnGitHubPageComponent { export class ThousandStarsOnGitHubPageComponent {
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkPricing = ['/' + routes.pricing]; public routerLinkPricing = ['/' + routes.pricing];
} }

4
apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@ -12,6 +12,6 @@ import { RouterModule } from '@angular/router';
}) })
export class UnlockYourFinancialPotentialWithGhostfolioPageComponent { export class UnlockYourFinancialPotentialWithGhostfolioPageComponent {
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkResources = ['/' + routes.resources]; public routerLinkResources = ['/' + routes.resources];
} }

4
apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@ -12,5 +12,5 @@ import { RouterModule } from '@angular/router';
}) })
export class ExploringThePathToFirePageComponent { export class ExploringThePathToFirePageComponent {
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
} }

4
apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@ -14,6 +14,6 @@ export class Ghostfolio2PageComponent {
public routerLinkAbout = ['/' + routes.about]; public routerLinkAbout = ['/' + routes.about];
public routerLinkAboutChangelog = ['/' + routes.about, routes.changelog]; public routerLinkAboutChangelog = ['/' + routes.about, routes.changelog];
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkMarkets = ['/' + routes.markets]; public routerLinkMarkets = ['/' + routes.markets];
} }

4
apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
@ -13,6 +13,6 @@ import { RouterModule } from '@angular/router';
}) })
export class BlackWeek2023PageComponent { export class BlackWeek2023PageComponent {
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkPricing = ['/' + routes.pricing]; public routerLinkPricing = ['/' + routes.pricing];
} }

4
apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@ -13,5 +13,5 @@ import { RouterModule } from '@angular/router';
export class Hacktoberfest2023DebriefingPageComponent { export class Hacktoberfest2023DebriefingPageComponent {
public routerLinkAbout = ['/' + routes.about]; public routerLinkAbout = ['/' + routes.about];
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
} }

4
apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts

@ -1,4 +1,4 @@
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
@ -13,6 +13,6 @@ import { RouterModule } from '@angular/router';
}) })
export class BlackWeeks2024PageComponent { export class BlackWeeks2024PageComponent {
public routerLinkBlog = ['/' + routes.blog]; public routerLinkBlog = ['/' + routes.blog];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkPricing = ['/' + routes.pricing]; public routerLinkPricing = ['/' + routes.pricing];
} }

4
apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts

@ -1,6 +1,6 @@
import { UserService } from '@ghostfolio/client/services/user/user.service'; import { UserService } from '@ghostfolio/client/services/user/user.service';
import { User } from '@ghostfolio/common/interfaces'; import { User } from '@ghostfolio/common/interfaces';
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core'; import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core';
import { Subject, takeUntil } from 'rxjs'; import { Subject, takeUntil } from 'rxjs';
@ -14,7 +14,7 @@ import { Subject, takeUntil } from 'rxjs';
}) })
export class FaqOverviewPageComponent implements OnDestroy { export class FaqOverviewPageComponent implements OnDestroy {
public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${routes.pricing}`; public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${routes.pricing}`;
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public user: User; public user: User;
private unsubscribeSubject = new Subject<void>(); private unsubscribeSubject = new Subject<void>();

4
apps/client/src/app/pages/pricing/pricing-page.component.ts

@ -3,7 +3,7 @@ import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service'; import { UserService } from '@ghostfolio/client/services/user/user.service';
import { User } from '@ghostfolio/common/interfaces'; import { User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { publicRoutes, routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { translate } from '@ghostfolio/ui/i18n'; import { translate } from '@ghostfolio/ui/i18n';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
@ -41,7 +41,7 @@ export class PricingPageComponent implements OnDestroy, OnInit {
public professionalDataProviderTooltipPremium = translate( public professionalDataProviderTooltipPremium = translate(
'PROFESSIONAL_DATA_PROVIDER_TOOLTIP_PREMIUM' 'PROFESSIONAL_DATA_PROVIDER_TOOLTIP_PREMIUM'
); );
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkRegister = publicRoutes.register.routerLink; public routerLinkRegister = publicRoutes.register.routerLink;
public user: User; public user: User;

4
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts

@ -1,7 +1,7 @@
import { DataService } from '@ghostfolio/client/services/data.service'; import { DataService } from '@ghostfolio/client/services/data.service';
import { Product } from '@ghostfolio/common/interfaces'; import { Product } from '@ghostfolio/common/interfaces';
import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools';
import { routes } from '@ghostfolio/common/routes/routes'; import { publicRoutes, routes } from '@ghostfolio/common/routes/routes';
import { translate } from '@ghostfolio/ui/i18n'; import { translate } from '@ghostfolio/ui/i18n';
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
@ -21,7 +21,7 @@ export class GfProductPageComponent implements OnInit {
public product1: Product; public product1: Product;
public product2: Product; public product2: Product;
public routerLinkAbout = ['/' + routes.about]; public routerLinkAbout = ['/' + routes.about];
public routerLinkFeatures = ['/' + routes.features]; public routerLinkFeatures = publicRoutes.features.routerLink;
public routerLinkResourcesPersonalFinanceTools = [ public routerLinkResourcesPersonalFinanceTools = [
'/' + routes.resources, '/' + routes.resources,
routes.personalFinanceTools routes.personalFinanceTools

6
libs/common/src/lib/routes/routes.ts

@ -26,7 +26,6 @@ export const routes = {
blog: 'blog', blog: 'blog',
changelog: $localize`:kebab-case:changelog`, changelog: $localize`:kebab-case:changelog`,
faq: $localize`:kebab-case:faq`, faq: $localize`:kebab-case:faq`,
features: $localize`:kebab-case:features`,
glossary: $localize`:kebab-case:glossary`, glossary: $localize`:kebab-case:glossary`,
guides: $localize`:kebab-case:guides`, guides: $localize`:kebab-case:guides`,
license: $localize`:kebab-case:license`, license: $localize`:kebab-case:license`,
@ -121,6 +120,11 @@ export const internalRoutes: Record<string, IRoute> = {
}; };
export const publicRoutes = { export const publicRoutes = {
features: {
path: $localize`:kebab-case:features`,
routerLink: ['/' + $localize`:kebab-case:features`],
title: $localize`Features`
},
openStartup: { openStartup: {
path: 'open', path: 'open',
routerLink: ['/open'], routerLink: ['/open'],

Loading…
Cancel
Save