From 5188544c9b52bb170e5cd91c5aac6abf72916e41 Mon Sep 17 00:00:00 2001 From: H_S <81474463+HarjobandeepSingh@users.noreply.github.com> Date: Fri, 17 Oct 2025 23:27:41 +0530 Subject: [PATCH] Task/migrate blog page component to standalone (#5742) * Migrate blog page component to standalone * Update changelog --- CHANGELOG.md | 1 + apps/client/src/app/app-routing.module.ts | 2 +- .../src/app/pages/blog/blog-page.component.ts | 13 +++++++++---- .../client/src/app/pages/blog/blog-page.module.ts | 14 -------------- ...page-routing.module.ts => blog-page.routes.ts} | 15 ++++----------- 5 files changed, 15 insertions(+), 30 deletions(-) delete mode 100644 apps/client/src/app/pages/blog/blog-page.module.ts rename apps/client/src/app/pages/blog/{blog-page-routing.module.ts => blog-page.routes.ts} (95%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 758898cee..b97b37ae2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the currency validation in the search functionality of the data provider service - Optimized the get quotes functionality by utilizing the asset profile resolutions in the _Financial Modeling Prep_ service - Extracted the footer to a component +- Refactored the blog page component to standalone - Improved the portfolio calculator unit tests to load the user currency from the exported file ### Fixed diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index 0ceee3725..fb045a174 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -48,7 +48,7 @@ const routes: Routes = [ { path: publicRoutes.blog.path, loadChildren: () => - import('./pages/blog/blog-page.module').then((m) => m.BlogPageModule) + import('./pages/blog/blog-page.routes').then((m) => m.routes) }, { canActivate: [AuthGuard], diff --git a/apps/client/src/app/pages/blog/blog-page.component.ts b/apps/client/src/app/pages/blog/blog-page.component.ts index 65a867f65..7599a3358 100644 --- a/apps/client/src/app/pages/blog/blog-page.component.ts +++ b/apps/client/src/app/pages/blog/blog-page.component.ts @@ -1,19 +1,24 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import { Component, OnDestroy } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { Component, CUSTOM_ELEMENTS_SCHEMA, OnDestroy } from '@angular/core'; +import { MatCardModule } from '@angular/material/card'; +import { RouterModule } from '@angular/router'; +import { IonIcon } from '@ionic/angular/standalone'; import { addIcons } from 'ionicons'; import { chevronForwardOutline } from 'ionicons/icons'; import { Subject } from 'rxjs'; @Component({ host: { class: 'page' }, + imports: [CommonModule, IonIcon, MatCardModule, RouterModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-blog-page', styleUrls: ['./blog-page.scss'], - templateUrl: './blog-page.html', - standalone: false + templateUrl: './blog-page.html' }) -export class BlogPageComponent implements OnDestroy { +export class GfBlogPageComponent implements OnDestroy { public hasPermissionForSubscription: boolean; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/blog/blog-page.module.ts b/apps/client/src/app/pages/blog/blog-page.module.ts deleted file mode 100644 index 37925e494..000000000 --- a/apps/client/src/app/pages/blog/blog-page.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatCardModule } from '@angular/material/card'; -import { IonIcon } from '@ionic/angular/standalone'; - -import { BlogPageRoutingModule } from './blog-page-routing.module'; -import { BlogPageComponent } from './blog-page.component'; - -@NgModule({ - declarations: [BlogPageComponent], - imports: [BlogPageRoutingModule, CommonModule, IonIcon, MatCardModule], - schemas: [CUSTOM_ELEMENTS_SCHEMA] -}) -export class BlogPageModule {} diff --git a/apps/client/src/app/pages/blog/blog-page-routing.module.ts b/apps/client/src/app/pages/blog/blog-page.routes.ts similarity index 95% rename from apps/client/src/app/pages/blog/blog-page-routing.module.ts rename to apps/client/src/app/pages/blog/blog-page.routes.ts index 9b352b7a8..2b5a4be64 100644 --- a/apps/client/src/app/pages/blog/blog-page-routing.module.ts +++ b/apps/client/src/app/pages/blog/blog-page.routes.ts @@ -1,15 +1,14 @@ 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 { BlogPageComponent } from './blog-page.component'; +import { GfBlogPageComponent } from './blog-page.component'; -const routes: Routes = [ +export const routes: Routes = [ { canActivate: [AuthGuard], - component: BlogPageComponent, + component: GfBlogPageComponent, path: '', title: publicRoutes.blog.title }, @@ -212,9 +211,3 @@ const routes: Routes = [ title: 'Hacktoberfest 2025' } ]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class BlogPageRoutingModule {}