diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index 06f841e12..49d04ab46 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -161,10 +161,12 @@ export class PortfolioController { 'emergencyFund', 'excludedAccountsAndActivities', 'fees', + 'fireWealth', 'items', 'liabilities', 'netWorth', 'totalBuy', + 'totalInvestment', 'totalSell' ]); } diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index 8d2d3d684..a77262572 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -1679,9 +1679,14 @@ export class PortfolioService { totalBuy, totalSell, committedFunds: committedFunds.toNumber(), - emergencyFund: emergencyFund.toNumber(), - emergencyFundinAssets: emergencyFundPositionsValueInBaseCurrency, - emergencyFundInCash: emergencyFund + emergencyFund: { + assets: emergencyFundPositionsValueInBaseCurrency, + cash: emergencyFund + .minus(emergencyFundPositionsValueInBaseCurrency) + .toNumber(), + total: emergencyFund.toNumber() + }, + fireWealth: new Big(performanceInformation.performance.currentValue) .minus(emergencyFundPositionsValueInBaseCurrency) .toNumber(), ordersCount: activities.filter(({ type }) => { diff --git a/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html b/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html index 3ceadb048..81c25bf75 100644 --- a/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html +++ b/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html @@ -163,7 +163,33 @@ [isCurrency]="true" [locale]="locale" [unit]="baseCurrency" - [value]="isLoading ? undefined : summary?.emergencyFund" + [value]="isLoading ? undefined : summary?.emergencyFund?.total" + > + + +
+
Cash
+
+ +
+
+
+
Assets
+
+
diff --git a/apps/client/src/app/pages/portfolio/fire/fire-page.component.ts b/apps/client/src/app/pages/portfolio/fire/fire-page.component.ts index f5d796f54..ab632b2e8 100644 --- a/apps/client/src/app/pages/portfolio/fire/fire-page.component.ts +++ b/apps/client/src/app/pages/portfolio/fire/fire-page.component.ts @@ -51,7 +51,7 @@ export class FirePageComponent implements OnDestroy, OnInit { return; } - this.fireWealth = new Big(summary.currentValue); + this.fireWealth = new Big(summary.fireWealth); this.withdrawalRatePerYear = this.fireWealth.mul(4).div(100); this.withdrawalRatePerMonth = this.withdrawalRatePerYear.div(12); diff --git a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts index 49e261502..95ce2958a 100644 --- a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts +++ b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts @@ -5,11 +5,14 @@ export interface PortfolioSummary extends PortfolioPerformance { cash: number; committedFunds: number; dividend: number; - emergencyFund: number; - emergencyFundInCash: number; - emergencyFundinAssets: number; + emergencyFund: { + assets: number; + cash: number; + total: number; + }; excludedAccountsAndActivities: number; fees: number; + fireWealth: number; firstOrderDate: Date; items: number; liabilities: number;