Browse Source
Task/set change detection strategy to OnPush in blog page components (#7288)
* Set change detection strategy to OnPush
* Update changelog
pull/7280/head
Thomas Kaul
5 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with
55 additions and
25 deletions
-
CHANGELOG.md
-
apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts
-
apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts
-
apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts
-
apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.component.ts
-
apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts
-
apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts
-
apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.component.ts
-
apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts
-
apps/client/src/app/pages/blog/2022/12/the-importance-of-tracking-your-personal-finances/the-importance-of-tracking-your-personal-finances-page.component.ts
-
apps/client/src/app/pages/blog/2023/01/ghostfolio-auf-sackgeld-vorgestellt/ghostfolio-auf-sackgeld-vorgestellt-page.component.ts
-
apps/client/src/app/pages/blog/2023/02/ghostfolio-meets-umbrel/ghostfolio-meets-umbrel-page.component.ts
-
apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts
-
apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts
-
apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts
-
apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts
-
apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts
-
apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts
-
apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts
-
apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts
-
apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts
-
apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts
-
apps/client/src/app/pages/blog/2025/09/hacktoberfest-2025/hacktoberfest-2025-page.component.ts
-
apps/client/src/app/pages/blog/2025/11/black-weeks-2025/black-weeks-2025-page.component.ts
-
apps/client/src/app/pages/blog/2026/04/ghostfolio-3/ghostfolio-3-page.component.ts
-
apps/client/src/app/pages/blog/blog-page.component.ts
|
|
|
@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
|
|
|
### Changed |
|
|
|
|
|
|
|
- Migrated the deprecated `@nx/webpack:webpack` executor to `@nx/webpack/plugin` |
|
|
|
- Set the change detection strategy to `OnPush` in the blog page components |
|
|
|
- Set the change detection strategy to `OnPush` in the markets overview |
|
|
|
- Improved the language localization for Chinese (`zh`) |
|
|
|
|
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-hallo-ghostfolio-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-hello-ghostfolio-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-first-months-in-open-source-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-ghostfolio-meets-internet-identity-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-how-do-i-get-my-finances-in-order-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-500-stars-on-github-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-hacktoberfest-2022-page', |
|
|
|
|
|
|
|
@ -1,11 +1,12 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-black-friday-2022-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-the-importance-of-tracking-your-personal-finances-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-ghostfolio-auf-sackgeld-vorgestellt-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-ghostfolio-meets-umbrel-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-1000-stars-on-github-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-unlock-your-financial-potential-with-ghostfolio-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-exploring-the-path-to-fire-page-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-ghostfolio-joins-oss-friends-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-ghostfolio-2-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-hacktoberfest-2023-page', |
|
|
|
|
|
|
|
@ -1,11 +1,12 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-black-week-2023-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-hacktoberfest-2023-debriefing-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-hacktoberfest-2024-page', |
|
|
|
|
|
|
|
@ -1,11 +1,12 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-black-weeks-2024-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-hacktoberfest-2025-page', |
|
|
|
|
|
|
|
@ -1,11 +1,12 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-black-weeks-2025-page', |
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
import { publicRoutes } from '@ghostfolio/common/routes/routes'; |
|
|
|
|
|
|
|
import { Component } from '@angular/core'; |
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core'; |
|
|
|
import { MatButtonModule } from '@angular/material/button'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [MatButtonModule, RouterModule], |
|
|
|
selector: 'gf-ghostfolio-3-page', |
|
|
|
|
|
|
|
@ -1,7 +1,11 @@ |
|
|
|
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; |
|
|
|
import { DataService } from '@ghostfolio/ui/services'; |
|
|
|
|
|
|
|
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; |
|
|
|
import { |
|
|
|
ChangeDetectionStrategy, |
|
|
|
Component, |
|
|
|
CUSTOM_ELEMENTS_SCHEMA |
|
|
|
} from '@angular/core'; |
|
|
|
import { MatCardModule } from '@angular/material/card'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
import { IonIcon } from '@ionic/angular/standalone'; |
|
|
|
@ -9,6 +13,7 @@ import { addIcons } from 'ionicons'; |
|
|
|
import { chevronForwardOutline } from 'ionicons/icons'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
|
host: { class: 'page' }, |
|
|
|
imports: [IonIcon, MatCardModule, RouterModule], |
|
|
|
schemas: [CUSTOM_ELEMENTS_SCHEMA], |
|
|
|
|