@ -28,6 +28,7 @@
[retirementDate]="user?.settings?.retirementDate"
[retirementDate]="user?.settings?.retirementDate"
[savingsRate]="user?.settings?.savingsRate"
[savingsRate]="user?.settings?.savingsRate"
(annualInterestRateChanged)="onAnnualInterestRateChange($event)"
(annualInterestRateChanged)="onAnnualInterestRateChange($event)"
(calculationCompleted)="onCalculationComplete($event)"
(projectedTotalAmountChanged)="onProjectedTotalAmountChange($event)"
(projectedTotalAmountChanged)="onProjectedTotalAmountChange($event)"
(retirementDateChanged)="onRetirementDateChange($event)"
(retirementDateChanged)="onRetirementDateChange($event)"
(savingsRateChanged)="onSavingsRateChange($event)"
(savingsRateChanged)="onSavingsRateChange($event)"
@ -62,74 +63,129 @@
< / div >
< / div >
} @else {
} @else {
< div [ ngClass ] = " { ' text-muted ' : user ? . subscription ? . type = == ' Basic ' } " >
< div [ ngClass ] = " { ' text-muted ' : user ? . subscription ? . type = == ' Basic ' } " >
< ng-container i18n
< div class = "mb-2" >
>If you retire today, you would be able to withdraw< /ng-container
< ng-container i18n
>
>If you retire today, you would be able to withdraw< /ng-container
< ng-container > < / ng-container >
>
< span class = "font-weight-bold"
>< gf-value
class="d-inline-block"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[unit]="user?.settings?.baseCurrency"
[value]="withdrawalRatePerYear?.toNumber()"
/>
< ng-container > < / ng-container >
< ng-container i18n > per year< / ng-container > < /span
>
< ng-container > < / ng-container >
< ng-container i18n > or< / ng-container >
< ng-container > < / ng-container >
< span class = "font-weight-bold"
>< gf-value
class="d-inline-block"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[unit]="user?.settings?.baseCurrency"
[value]="withdrawalRatePerMonth?.toNumber()"
/>
< ng-container > < / ng-container >
< ng-container > < / ng-container >
< ng-container i18n > per month< / ng-container > < /span
< span class = "font-weight-bold"
>< ng-container i18n > ,< / ng-container >
>< gf-value
< ng-container > < / ng-container >
class="d-inline-block"
< ng-container i18n > based on your total assets of< / ng-container >
[isCurrency]="true"
< ng-container > < / ng-container >
[locale]="user?.settings?.locale"
< span class = "font-weight-bold"
[unit]="user?.settings?.baseCurrency"
>< gf-value
[value]="withdrawalRatePerYear?.toNumber()"
class="d-inline-block"
/>
[isCurrency]="true"
< ng-container > < / ng-container >
[locale]="user?.settings?.locale"
< ng-container i18n > per year< / ng-container > < /span
[unit]="user?.settings?.baseCurrency"
[value]="fireWealth?.today.valueInBaseCurrency"
/>
< / span >
< ng-container > < / ng-container >
< ng-container i18n > and a safe withdrawal rate (SWR) of< / ng-container >
@if (
!hasImpersonationId & &
hasPermissionToUpdateUserSettings & &
user?.settings?.isExperimentalFeatures
) {
< select
class="border-0 cursor-pointer d-inline-block font-weight-bold safe-withdrawal-rate-select"
[formControl]="safeWithdrawalRateControl"
>
>
@for (rate of safeWithdrawalRateOptions; track rate) {
< ng-container > < / ng-container >
< option [ value ] = " rate " >
< ng-container i18n > or< / ng-container >
{{ rate | percent: '1.1-1' }}
< / option >
}< /select
>.
} @else {
< ng-container > < / ng-container >
< ng-container > < / ng-container >
< span class = "font-weight-bold"
< span class = "font-weight-bold"
>< gf-value
>< gf-value
class="d-inline-block"
class="d-inline-block"
[isPercent ]="true"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[locale]="user?.settings?.locale"
[precision]="1"
[unit]="user?.settings?.baseCurrency"
[value]="user?.settings?.safeWithdrawalRate" />< /span
[value]="withdrawalRatePerMonth?.toNumber()"
>.
/>
< ng-container > < / ng-container >
< ng-container i18n > per month< / ng-container > < /span
>< ng-container i18n > ,< / ng-container >
< ng-container > < / ng-container >
< ng-container i18n > based on your total assets of< / ng-container >
< ng-container > < / ng-container >
< span class = "font-weight-bold"
>< gf-value
class="d-inline-block"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[unit]="user?.settings?.baseCurrency"
[value]="fireWealth?.today.valueInBaseCurrency"
/>
< / span >
< ng-container > < / ng-container >
< ng-container i18n > and a safe withdrawal rate (SWR) of< / ng-container >
@if (
!hasImpersonationId & &
hasPermissionToUpdateUserSettings & &
user?.settings?.isExperimentalFeatures
) {
< select
class="border-0 cursor-pointer d-inline-block font-weight-bold safe-withdrawal-rate-select"
[formControl]="safeWithdrawalRateControl"
>
@for (rate of safeWithdrawalRateOptions; track rate) {
< option [ value ] = " rate " >
{{ rate | percent: '1.1-1' }}
< / option >
}< /select
>.
} @else {
< ng-container > < / ng-container >
< span class = "font-weight-bold"
>< gf-value
class="d-inline-block"
[isPercent]="true"
[locale]="user?.settings?.locale"
[precision]="1"
[value]="user?.settings?.safeWithdrawalRate" />< /span
>.
}
< / div >
@if (user?.settings?.isExperimentalFeatures) {
< div >
< ng-container i18n > By< / ng-container >
< ng-container > < / ng-container >
< span class = "font-weight-bold" > {{
user?.settings?.retirementDate ?? retirementDate
| date: 'MMMM yyyy'
}}< / span >
< ng-container i18n > ,< / ng-container >
< ng-container > < / ng-container >
< ng-container i18n > this is projected to increase to< / ng-container >
< ng-container > < / ng-container >
< span class = "font-weight-bold"
>< gf-value
class="d-inline-block"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[unit]="user?.settings?.baseCurrency"
[value]="withdrawalRatePerYearProjected?.toNumber()"
/>
< ng-container > < / ng-container >
< ng-container i18n > per year< / ng-container > < /span
>
< ng-container > < / ng-container >
< ng-container i18n > or< / ng-container >
< ng-container > < / ng-container >
< span class = "font-weight-bold"
>< gf-value
class="d-inline-block"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[unit]="user?.settings?.baseCurrency"
[value]="withdrawalRatePerMonthProjected?.toNumber()"
/>
< ng-container > < / ng-container >
< ng-container i18n > per month< / ng-container > < /span
>< ng-container i18n > ,< / ng-container >
< ng-container > < / ng-container >
< ng-container i18n > assuming a< / ng-container >
< ng-container > < / ng-container >
< span class = "font-weight-bold"
>< gf-value
class="d-inline-block"
[isPercent]="true"
[locale]="user?.settings?.locale"
[precision]="2"
[value]="user?.settings?.annualInterestRate / 100"
/>< / span >
< ng-container > < / ng-container >
< ng-container i18n > annual interest rate< / ng-container > .
< / div >
}
}
< / div >
< / div >
}
}