Browse Source
			
			
			Merge branch 'main' into feature/extend-pricing-page
			
			
				pull/5761/head
			
			
		 
		
			
				
					
						
						Thomas Kaul
					
					3 weeks ago
					
						
							committed by
							
								
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: B5690EEEBB952194
						
					
				
			
		
		
		
	
		
			
				 8 changed files with 
32 additions and 
19 deletions
			 
			
		 
		
			
				- 
					
					
					 
					CHANGELOG.md
				
 
			
				- 
					
					
					 
					apps/api/src/app/portfolio/portfolio.controller.ts
				
 
			
				- 
					
					
					 
					apps/api/src/app/portfolio/portfolio.service.ts
				
 
			
				- 
					
					
					 
					apps/api/src/helper/object.helper.spec.ts
				
 
			
				- 
					
					
					 
					apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
				
 
			
				- 
					
					
					 
					apps/client/src/app/pages/resources/glossary/resources-glossary.component.html
				
 
			
				- 
					
					
					 
					libs/common/src/lib/interfaces/portfolio-summary.interface.ts
				
 
			
				- 
					
					
					 
					libs/ui/src/lib/logo-carousel/logo-carousel.component.scss
				
 
			
		
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					### Added | 
					 | 
					 | 
					### Added | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					- Extended the glossary of the resources page by _Stealth Wealth_ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					- Extended the content of the pricing page | 
					 | 
					 | 
					- Extended the content of the pricing page | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					- Added a _Storybook_ story for the holdings table component | 
					 | 
					 | 
					- Added a _Storybook_ story for the holdings table component | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -24,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					- Respected the include indices flag in the search functionality of the _Financial Modeling Prep_ service | 
					 | 
					 | 
					- Respected the include indices flag in the search functionality of the _Financial Modeling Prep_ service | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					- Fixed an issue where the scroll position was not restored when changing pages | 
					 | 
					 | 
					- Fixed an issue where the scroll position was not restored when changing pages | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					- Fixed the dark mode in the _As seen in_ section on the landing page | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					## 2.208.0 - 2025-10-11 | 
					 | 
					 | 
					## 2.208.0 - 2025-10-11 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -197,7 +197,7 @@ export class PortfolioController { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        'filteredValueInBaseCurrency', | 
					 | 
					 | 
					        'filteredValueInBaseCurrency', | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        'grossPerformance', | 
					 | 
					 | 
					        'grossPerformance', | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        'grossPerformanceWithCurrencyEffect', | 
					 | 
					 | 
					        'grossPerformanceWithCurrencyEffect', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        'interest', | 
					 | 
					 | 
					        'interestInBaseCurrency', | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        'items', | 
					 | 
					 | 
					        'items', | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        'liabilities', | 
					 | 
					 | 
					        'liabilities', | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        'netPerformance', | 
					 | 
					 | 
					        'netPerformance', | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -2105,7 +2105,7 @@ export class PortfolioService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      ) | 
					 | 
					 | 
					      ) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        .plus(fees) | 
					 | 
					 | 
					        .plus(fees) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        .toNumber(), | 
					 | 
					 | 
					        .toNumber(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      interest: interest.toNumber(), | 
					 | 
					 | 
					      interestInBaseCurrency: interest.toNumber(), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      liabilitiesInBaseCurrency: liabilities.toNumber(), | 
					 | 
					 | 
					      liabilitiesInBaseCurrency: liabilities.toNumber(), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      totalInvestment: totalInvestment.toNumber(), | 
					 | 
					 | 
					      totalInvestment: totalInvestment.toNumber(), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      totalValueInBaseCurrency: netWorth | 
					 | 
					 | 
					      totalValueInBaseCurrency: netWorth | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -1536,7 +1536,7 @@ describe('redactAttributes', () => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            fireWealth: null, | 
					 | 
					 | 
					            fireWealth: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            grossPerformance: null, | 
					 | 
					 | 
					            grossPerformance: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            grossPerformanceWithCurrencyEffect: null, | 
					 | 
					 | 
					            grossPerformanceWithCurrencyEffect: null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					            interest: null, | 
					 | 
					 | 
					            interestInBaseCurrency: null, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            items: null, | 
					 | 
					 | 
					            items: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            liabilities: null, | 
					 | 
					 | 
					            liabilities: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            totalInvestment: null, | 
					 | 
					 | 
					            totalInvestment: null, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -3039,7 +3039,7 @@ describe('redactAttributes', () => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        fireWealth: null, | 
					 | 
					 | 
					        fireWealth: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        grossPerformance: null, | 
					 | 
					 | 
					        grossPerformance: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        grossPerformanceWithCurrencyEffect: null, | 
					 | 
					 | 
					        grossPerformanceWithCurrencyEffect: null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        interest: null, | 
					 | 
					 | 
					        interestInBaseCurrency: null, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        items: null, | 
					 | 
					 | 
					        items: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        liabilities: null, | 
					 | 
					 | 
					        liabilities: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        totalInvestment: null, | 
					 | 
					 | 
					        totalInvestment: null, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -302,7 +302,7 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        [isCurrency]="true" | 
					 | 
					 | 
					        [isCurrency]="true" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        [locale]="locale" | 
					 | 
					 | 
					        [locale]="locale" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        [unit]="baseCurrency" | 
					 | 
					 | 
					        [unit]="baseCurrency" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        [value]="isLoading ? undefined : summary?.interest" | 
					 | 
					 | 
					        [value]="isLoading ? undefined : summary?.interestInBaseCurrency" | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      /> | 
					 | 
					 | 
					      /> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    </div> | 
					 | 
					 | 
					    </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  </div> | 
					 | 
					 | 
					  </div> | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -132,6 +132,23 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            </div> | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          </div> | 
					 | 
					 | 
					          </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        </div> | 
					 | 
					 | 
					        </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        <div class="mb-4 media"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          <div class="media-body"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            <h3 class="h5 mt-0">Stealth Wealth</h3> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            <div class="mb-1"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              Stealth wealth is a lifestyle choice where you don’t openly show | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              off your wealth, but instead live quietly to maintain privacy and | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              security. | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            <div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              <a | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                href="https://en.wikipedia.org/wiki/Stealth_wealth" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                target="_blank" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                >Stealth Wealth →</a | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              > | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      </div> | 
					 | 
					 | 
					      </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    </div> | 
					 | 
					 | 
					    </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  </div> | 
					 | 
					 | 
					  </div> | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -20,7 +20,7 @@ export interface PortfolioSummary extends PortfolioPerformance { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  fireWealth: FireWealth; | 
					 | 
					 | 
					  fireWealth: FireWealth; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  grossPerformance: number; | 
					 | 
					 | 
					  grossPerformance: number; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  grossPerformanceWithCurrencyEffect: number; | 
					 | 
					 | 
					  grossPerformanceWithCurrencyEffect: number; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					  interest: number; | 
					 | 
					 | 
					  interestInBaseCurrency: number; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					  liabilitiesInBaseCurrency: number; | 
					 | 
					 | 
					  liabilitiesInBaseCurrency: number; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  totalBuy: number; | 
					 | 
					 | 
					  totalBuy: number; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  totalSell: number; | 
					 | 
					 | 
					  totalSell: number; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
					@ -194,19 +194,13 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      ); | 
					 | 
					 | 
					      ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    .logo { | 
					 | 
					 | 
					    .logo-carousel-track { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      &.logo-alternative-to, | 
					 | 
					 | 
					      .logo-carousel-item { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      &.logo-dev-community, | 
					 | 
					 | 
					        .logo { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      &.logo-hacker-news, | 
					 | 
					 | 
					          &.mask { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      &.logo-openalternative, | 
					 | 
					 | 
					            background-color: rgba(var(--light-secondary-text)); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      &.logo-privacy-tools, | 
					 | 
					 | 
					          } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      &.logo-reddit, | 
					 | 
					 | 
					        } | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					      &.logo-sackgeld, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      &.logo-selfh-st, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      &.logo-sourceforge, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      &.logo-umbrel, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      &.logo-unraid { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        background-color: rgba(var(--light-primary-text)); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |