diff --git a/apps/client/src/app/components/investment-chart/investment-chart.component.ts b/apps/client/src/app/components/investment-chart/investment-chart.component.ts index 249b9cdb6..bfce434e8 100644 --- a/apps/client/src/app/components/investment-chart/investment-chart.component.ts +++ b/apps/client/src/app/components/investment-chart/investment-chart.component.ts @@ -198,6 +198,15 @@ export class InvestmentChartComponent implements OnChanges, OnDestroy { this.chart.options.scales.x.min = this.daysInMarket ? subDays(new Date(), this.daysInMarket).toISOString() : undefined; + + if ( + this.savingsRate && + this.chart.options.plugins.annotation.annotations.savingsRate + ) { + this.chart.options.plugins.annotation.annotations.savingsRate.value = + this.savingsRate; + } + this.chart.update(); } else { this.chart = new Chart(this.chartCanvas.nativeElement, { diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts index c1294bda7..2f2b7ae47 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -92,6 +92,15 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { }); } + get savingsRate() { + const savingsRate = + this.hasImpersonationId || this.user.settings.isRestrictedView + ? undefined + : this.user?.settings?.savingsRate; + + return this.mode === 'year' ? savingsRate * 12 : savingsRate; + } + public ngOnInit() { this.deviceType = this.deviceService.getDeviceInfo().deviceType; diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.html b/apps/client/src/app/pages/portfolio/analysis/analysis-page.html index b830727fa..20cf9e0d0 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.html +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.html @@ -180,15 +180,15 @@
diff --git a/libs/common/src/lib/interfaces/user-settings.interface.ts b/libs/common/src/lib/interfaces/user-settings.interface.ts index f39ba20eb..1dedc6277 100644 --- a/libs/common/src/lib/interfaces/user-settings.interface.ts +++ b/libs/common/src/lib/interfaces/user-settings.interface.ts @@ -10,5 +10,6 @@ export interface UserSettings { isRestrictedView?: boolean; language?: string; locale?: string; + savingsRate?: number; viewMode?: ViewMode; }