From 38756b853d283f93bae1f7e0cf2254ac35668c64 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 15 Jun 2025 08:14:37 +0200 Subject: [PATCH] Feature/refactor public routes: oss-friends (#4928) * Refactor public routes: oss-friends --- .../app/pages/about/about-page-routing.module.ts | 7 +++++-- .../src/app/pages/about/about-page.component.ts | 6 +++--- .../oss-friends/oss-friends-page-routing.module.ts | 3 ++- .../ghostfolio-joins-oss-friends-page.component.ts | 5 +++-- libs/common/src/lib/routes/routes.ts | 13 ++++++++++++- 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/apps/client/src/app/pages/about/about-page-routing.module.ts b/apps/client/src/app/pages/about/about-page-routing.module.ts index 353b165a5..166bced9e 100644 --- a/apps/client/src/app/pages/about/about-page-routing.module.ts +++ b/apps/client/src/app/pages/about/about-page-routing.module.ts @@ -1,5 +1,8 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { routes as ghostfolioRoutes } from '@ghostfolio/common/routes/routes'; +import { + routes as ghostfolioRoutes, + publicRoutes +} from '@ghostfolio/common/routes/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -32,7 +35,7 @@ const routes: Routes = [ ) }, { - path: ghostfolioRoutes.ossFriends, + path: publicRoutes.about.subRoutes.ossFriends.path, loadChildren: () => import('./oss-friends/oss-friends-page.module').then( (m) => m.OpenSourceSoftwareFriendsPageModule diff --git a/apps/client/src/app/pages/about/about-page.component.ts b/apps/client/src/app/pages/about/about-page.component.ts index 2afdd6838..5d33ab3ca 100644 --- a/apps/client/src/app/pages/about/about-page.component.ts +++ b/apps/client/src/app/pages/about/about-page.component.ts @@ -2,7 +2,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import { routes } from '@ghostfolio/common/routes/routes'; +import { publicRoutes, routes } from '@ghostfolio/common/routes/routes'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -81,8 +81,8 @@ export class AboutPageComponent implements OnDestroy, OnInit { this.tabs.push({ iconName: 'happy-outline', - label: 'OSS Friends', - path: ['/' + routes.about, routes.ossFriends] + label: publicRoutes.about.subRoutes.ossFriends.title, + path: publicRoutes.about.subRoutes.ossFriends.routerLink }); }); } diff --git a/apps/client/src/app/pages/about/oss-friends/oss-friends-page-routing.module.ts b/apps/client/src/app/pages/about/oss-friends/oss-friends-page-routing.module.ts index 08040419d..3b21e89e4 100644 --- a/apps/client/src/app/pages/about/oss-friends/oss-friends-page-routing.module.ts +++ b/apps/client/src/app/pages/about/oss-friends/oss-friends-page-routing.module.ts @@ -1,4 +1,5 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -10,7 +11,7 @@ const routes: Routes = [ canActivate: [AuthGuard], component: OpenSourceSoftwareFriendsPageComponent, path: '', - title: 'OSS Friends' + title: publicRoutes.about.subRoutes.ossFriends.title } ]; 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 bea7ee417..0be30f760 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 @@ -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 { MatButtonModule } from '@angular/material/button'; @@ -11,6 +11,7 @@ import { RouterModule } from '@angular/router'; templateUrl: './ghostfolio-joins-oss-friends-page.html' }) export class GhostfolioJoinsOssFriendsPageComponent { - public routerLinkAboutOssFriends = ['/' + routes.about, routes.ossFriends]; + public routerLinkAboutOssFriends = + publicRoutes.about.subRoutes.ossFriends.routerLink; public routerLinkBlog = ['/' + routes.blog]; } diff --git a/libs/common/src/lib/routes/routes.ts b/libs/common/src/lib/routes/routes.ts index 6e85a651d..97682e150 100644 --- a/libs/common/src/lib/routes/routes.ts +++ b/libs/common/src/lib/routes/routes.ts @@ -31,7 +31,6 @@ export const routes = { license: $localize`:kebab-case:license`, markets: $localize`:kebab-case:markets`, openSourceAlternativeTo: $localize`:kebab-case:open-source-alternative-to`, - ossFriends: 'oss-friends', pricing: $localize`:kebab-case:pricing`, privacyPolicy: $localize`:kebab-case:privacy-policy`, resources: $localize`:kebab-case:resources`, @@ -120,6 +119,18 @@ export const internalRoutes: Record = { }; export const publicRoutes = { + about: { + path: $localize`:kebab-case:about`, + routerLink: ['/' + $localize`:kebab-case:about`], + subRoutes: { + ossFriends: { + path: 'oss-friends', + routerLink: ['/' + $localize`:kebab-case:about`, 'oss-friends'], + title: 'OSS Friends' + } + }, + title: $localize`About` + }, features: { path: $localize`:kebab-case:features`, routerLink: ['/' + $localize`:kebab-case:features`],