From 557aee4a587dbe47c30cbf71d59622a9b86d8e78 Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Sat, 19 Jul 2025 08:42:57 +0000 Subject: [PATCH] feat(client): migrate faq pages --- apps/client/src/app/app-routing.module.ts | 2 +- .../src/app/pages/faq/faq-page.component.ts | 15 ++++++++++--- .../src/app/pages/faq/faq-page.module.ts | 21 ------------------- ...e-routing.module.ts => faq-page.routes.ts} | 21 ++++++------------- .../overview/faq-overview-page.component.ts | 15 ++++++++++--- .../faq/overview/faq-overview-page.module.ts | 20 ------------------ ....module.ts => faq-overview-page.routes.ts} | 11 ++-------- .../app/pages/faq/saas/saas-page.component.ts | 15 ++++++++++--- .../app/pages/faq/saas/saas-page.module.ts | 20 ------------------ ...-routing.module.ts => saas-page.routes.ts} | 11 ++-------- .../self-hosting-page.component.ts | 10 ++++++--- .../self-hosting/self-hosting-page.module.ts | 20 ------------------ ....module.ts => self-hosting-page.routes.ts} | 11 ++-------- 13 files changed, 56 insertions(+), 136 deletions(-) delete mode 100644 apps/client/src/app/pages/faq/faq-page.module.ts rename apps/client/src/app/pages/faq/{faq-page-routing.module.ts => faq-page.routes.ts} (52%) delete mode 100644 apps/client/src/app/pages/faq/overview/faq-overview-page.module.ts rename apps/client/src/app/pages/faq/overview/{faq-overview-page-routing.module.ts => faq-overview-page.routes.ts} (53%) delete mode 100644 apps/client/src/app/pages/faq/saas/saas-page.module.ts rename apps/client/src/app/pages/faq/saas/{saas-page-routing.module.ts => saas-page.routes.ts} (59%) delete mode 100644 apps/client/src/app/pages/faq/self-hosting/self-hosting-page.module.ts rename apps/client/src/app/pages/faq/self-hosting/{self-hosting-page-routing.module.ts => self-hosting-page.routes.ts} (60%) diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index eeb843e0c..fdd0ec5d5 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -61,7 +61,7 @@ const routes: Routes = [ { path: publicRoutes.faq.path, loadChildren: () => - import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule) + import('./pages/faq/faq-page.routes').then((m) => m.routes) }, { canActivate: [AuthGuard], diff --git a/apps/client/src/app/pages/faq/faq-page.component.ts b/apps/client/src/app/pages/faq/faq-page.component.ts index 30b4d43c5..b105c6a9e 100644 --- a/apps/client/src/app/pages/faq/faq-page.component.ts +++ b/apps/client/src/app/pages/faq/faq-page.component.ts @@ -3,7 +3,15 @@ import { TabConfiguration } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + CUSTOM_ELEMENTS_SCHEMA, + Component, + OnDestroy, + OnInit +} from '@angular/core'; +import { MatTabsModule } from '@angular/material/tabs'; +import { RouterModule } from '@angular/router'; +import { IonIcon } from '@ionic/angular/standalone'; import { addIcons } from 'ionicons'; import { cloudyOutline, readerOutline, serverOutline } from 'ionicons/icons'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -11,10 +19,11 @@ import { Subject } from 'rxjs'; @Component({ host: { class: 'page has-tabs' }, + imports: [IonIcon, MatTabsModule, RouterModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-faq-page', styleUrls: ['./faq-page.scss'], - templateUrl: './faq-page.html', - standalone: false + templateUrl: './faq-page.html' }) export class FaqPageComponent implements OnDestroy, OnInit { public deviceType: string; diff --git a/apps/client/src/app/pages/faq/faq-page.module.ts b/apps/client/src/app/pages/faq/faq-page.module.ts deleted file mode 100644 index 4bb7977bd..000000000 --- a/apps/client/src/app/pages/faq/faq-page.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatTabsModule } from '@angular/material/tabs'; -import { RouterModule } from '@angular/router'; -import { IonIcon } from '@ionic/angular/standalone'; - -import { FaqPageRoutingModule } from './faq-page-routing.module'; -import { FaqPageComponent } from './faq-page.component'; - -@NgModule({ - declarations: [FaqPageComponent], - imports: [ - CommonModule, - FaqPageRoutingModule, - IonIcon, - MatTabsModule, - RouterModule - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA] -}) -export class FaqPageModule {} diff --git a/apps/client/src/app/pages/faq/faq-page-routing.module.ts b/apps/client/src/app/pages/faq/faq-page.routes.ts similarity index 52% rename from apps/client/src/app/pages/faq/faq-page-routing.module.ts rename to apps/client/src/app/pages/faq/faq-page.routes.ts index e48c07b8f..5c3bbc82a 100644 --- a/apps/client/src/app/pages/faq/faq-page-routing.module.ts +++ b/apps/client/src/app/pages/faq/faq-page.routes.ts @@ -1,32 +1,29 @@ 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'; +import { Routes } from '@angular/router'; import { FaqPageComponent } from './faq-page.component'; -const routes: Routes = [ +export const routes: Routes = [ { canActivate: [AuthGuard], children: [ { path: '', loadChildren: () => - import('./overview/faq-overview-page.module').then( - (m) => m.FaqOverviewPageModule - ) + import('./overview/faq-overview-page.routes').then((m) => m.routes) }, { path: publicRoutes.faq.subRoutes.saas.path, loadChildren: () => - import('./saas/saas-page.module').then((m) => m.SaasPageModule) + import('./saas/saas-page.routes').then((m) => m.routes) }, { path: publicRoutes.faq.subRoutes.selfHosting.path, loadChildren: () => - import('./self-hosting/self-hosting-page.module').then( - (m) => m.SelfHostingPageModule + import('./self-hosting/self-hosting-page.routes').then( + (m) => m.routes ) } ], @@ -35,9 +32,3 @@ const routes: Routes = [ title: publicRoutes.faq.title } ]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class FaqPageRoutingModule {} diff --git a/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts b/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts index 9b7bbf180..54d2e06b1 100644 --- a/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts +++ b/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts @@ -1,16 +1,25 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; +import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; -import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, + OnDestroy +} from '@angular/core'; +import { MatCardModule } from '@angular/material/card'; +import { RouterModule } from '@angular/router'; import { Subject, takeUntil } from 'rxjs'; @Component({ host: { class: 'page' }, + imports: [GfPremiumIndicatorComponent, MatCardModule, RouterModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-faq-overview-page', styleUrls: ['./faq-overview-page.scss'], - templateUrl: './faq-overview-page.html', - standalone: false + templateUrl: './faq-overview-page.html' }) export class FaqOverviewPageComponent implements OnDestroy { public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`; diff --git a/apps/client/src/app/pages/faq/overview/faq-overview-page.module.ts b/apps/client/src/app/pages/faq/overview/faq-overview-page.module.ts deleted file mode 100644 index 37952c2ab..000000000 --- a/apps/client/src/app/pages/faq/overview/faq-overview-page.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; - -import { CommonModule } from '@angular/common'; -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatCardModule } from '@angular/material/card'; - -import { FaqOverviewPageRoutingModule } from './faq-overview-page-routing.module'; -import { FaqOverviewPageComponent } from './faq-overview-page.component'; - -@NgModule({ - declarations: [FaqOverviewPageComponent], - imports: [ - CommonModule, - FaqOverviewPageRoutingModule, - GfPremiumIndicatorComponent, - MatCardModule - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA] -}) -export class FaqOverviewPageModule {} diff --git a/apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts b/apps/client/src/app/pages/faq/overview/faq-overview-page.routes.ts similarity index 53% rename from apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts rename to apps/client/src/app/pages/faq/overview/faq-overview-page.routes.ts index 78a466e70..417a53877 100644 --- a/apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts +++ b/apps/client/src/app/pages/faq/overview/faq-overview-page.routes.ts @@ -1,11 +1,10 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; +import { Routes } from '@angular/router'; import { FaqOverviewPageComponent } from './faq-overview-page.component'; -const routes: Routes = [ +export const routes: Routes = [ { canActivate: [AuthGuard], component: FaqOverviewPageComponent, @@ -13,9 +12,3 @@ const routes: Routes = [ title: $localize`Frequently Asked Questions (FAQ)` } ]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class FaqOverviewPageRoutingModule {} 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 f5063d765..b52af4b06 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 @@ -1,16 +1,25 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; import { internalRoutes, publicRoutes } from '@ghostfolio/common/routes/routes'; +import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; -import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, + OnDestroy +} from '@angular/core'; +import { MatCardModule } from '@angular/material/card'; +import { RouterModule } from '@angular/router'; import { Subject, takeUntil } from 'rxjs'; @Component({ host: { class: 'page' }, + imports: [GfPremiumIndicatorComponent, MatCardModule, RouterModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-saas-page', styleUrls: ['./saas-page.scss'], - templateUrl: './saas-page.html', - standalone: false + templateUrl: './saas-page.html' }) export class SaasPageComponent implements OnDestroy { public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`; diff --git a/apps/client/src/app/pages/faq/saas/saas-page.module.ts b/apps/client/src/app/pages/faq/saas/saas-page.module.ts deleted file mode 100644 index 81cd2b524..000000000 --- a/apps/client/src/app/pages/faq/saas/saas-page.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; - -import { CommonModule } from '@angular/common'; -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatCardModule } from '@angular/material/card'; - -import { SaasPageRoutingModule } from './saas-page-routing.module'; -import { SaasPageComponent } from './saas-page.component'; - -@NgModule({ - declarations: [SaasPageComponent], - imports: [ - CommonModule, - GfPremiumIndicatorComponent, - MatCardModule, - SaasPageRoutingModule - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA] -}) -export class SaasPageModule {} diff --git a/apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts similarity index 59% rename from apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts rename to apps/client/src/app/pages/faq/saas/saas-page.routes.ts index 62017df69..c36f8ae89 100644 --- a/apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts +++ b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts @@ -1,12 +1,11 @@ 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'; +import { Routes } from '@angular/router'; import { SaasPageComponent } from './saas-page.component'; -const routes: Routes = [ +export const routes: Routes = [ { canActivate: [AuthGuard], component: SaasPageComponent, @@ -14,9 +13,3 @@ const routes: Routes = [ title: `${publicRoutes.faq.subRoutes.saas.title} - ${publicRoutes.faq.title}` } ]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class SaasPageRoutingModule {} diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts index 3e6e25655..d0de7b94c 100644 --- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts +++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts @@ -1,14 +1,18 @@ import { publicRoutes } from '@ghostfolio/common/routes/routes'; +import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; -import { Component, OnDestroy } from '@angular/core'; +import { CUSTOM_ELEMENTS_SCHEMA, Component, OnDestroy } from '@angular/core'; +import { MatCardModule } from '@angular/material/card'; +import { RouterModule } from '@angular/router'; import { Subject } from 'rxjs'; @Component({ host: { class: 'page' }, + imports: [GfPremiumIndicatorComponent, MatCardModule, RouterModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-self-hosting-page', styleUrls: ['./self-hosting-page.scss'], - templateUrl: './self-hosting-page.html', - standalone: false + templateUrl: './self-hosting-page.html' }) export class SelfHostingPageComponent implements OnDestroy { public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`; diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.module.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.module.ts deleted file mode 100644 index 931f24aa6..000000000 --- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; - -import { CommonModule } from '@angular/common'; -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatCardModule } from '@angular/material/card'; - -import { SelfHostingPageRoutingModule } from './self-hosting-page-routing.module'; -import { SelfHostingPageComponent } from './self-hosting-page.component'; - -@NgModule({ - declarations: [SelfHostingPageComponent], - imports: [ - CommonModule, - GfPremiumIndicatorComponent, - MatCardModule, - SelfHostingPageRoutingModule - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA] -}) -export class SelfHostingPageModule {} diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts similarity index 60% rename from apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts rename to apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts index 60e4616af..18b002c08 100644 --- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts +++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts @@ -1,12 +1,11 @@ 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'; +import { Routes } from '@angular/router'; import { SelfHostingPageComponent } from './self-hosting-page.component'; -const routes: Routes = [ +export const routes: Routes = [ { canActivate: [AuthGuard], component: SelfHostingPageComponent, @@ -14,9 +13,3 @@ const routes: Routes = [ title: `${publicRoutes.faq.subRoutes.selfHosting.title} - ${publicRoutes.faq.title}` } ]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class SelfHostingPageRoutingModule {}