diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts
index c92c82de2..881f1fe4d 100644
--- a/apps/api/src/app/admin/admin.service.ts
+++ b/apps/api/src/app/admin/admin.service.ts
@@ -185,6 +185,7 @@ export class AdminService {
assetSubClass: true,
comment: true,
countries: true,
+ currency: true,
dataSource: true,
name: true,
Order: {
@@ -206,6 +207,7 @@ export class AdminService {
assetClass,
assetSubClass,
comment,
+ currency,
countries,
dataSource,
name,
@@ -227,6 +229,7 @@ export class AdminService {
assetClass,
assetSubClass,
comment,
+ currency,
countriesCount,
dataSource,
name,
@@ -356,6 +359,7 @@ export class AdminService {
symbol,
assetClass: 'CASH',
countriesCount: 0,
+ currency: symbol.replace(DEFAULT_CURRENCY, ''),
name: symbol,
sectorsCount: 0
};
diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts
index de366908f..fcd2cb13c 100644
--- a/apps/api/src/app/portfolio/portfolio.service.ts
+++ b/apps/api/src/app/portfolio/portfolio.service.ts
@@ -1088,6 +1088,7 @@ export class PortfolioService {
return {
...position,
assetClass: symbolProfileMap[position.symbol].assetClass,
+ assetSubClass: symbolProfileMap[position.symbol].assetSubClass,
averagePrice: new Big(position.averagePrice).toNumber(),
grossPerformance: position.grossPerformance?.toNumber() ?? null,
grossPerformancePercentage:
diff --git a/libs/common/src/lib/interfaces/admin-market-data.interface.ts b/libs/common/src/lib/interfaces/admin-market-data.interface.ts
index 111e605de..08838d4bc 100644
--- a/libs/common/src/lib/interfaces/admin-market-data.interface.ts
+++ b/libs/common/src/lib/interfaces/admin-market-data.interface.ts
@@ -9,6 +9,7 @@ export interface AdminMarketDataItem {
assetClass?: AssetClass;
assetSubClass?: AssetSubClass;
countriesCount: number;
+ currency: string;
dataSource: DataSource;
date?: Date;
marketDataItemCount: number;
diff --git a/libs/common/src/lib/interfaces/position.interface.ts b/libs/common/src/lib/interfaces/position.interface.ts
index 6d94e3443..1df07e0ce 100644
--- a/libs/common/src/lib/interfaces/position.interface.ts
+++ b/libs/common/src/lib/interfaces/position.interface.ts
@@ -1,9 +1,9 @@
-import { AssetClass, DataSource } from '@prisma/client';
-
-import { MarketState } from '../types';
+import { MarketState } from '@ghostfolio/common/types';
+import { AssetClass, AssetSubClass, DataSource } from '@prisma/client';
export interface Position {
assetClass: AssetClass;
+ assetSubClass: AssetSubClass;
averagePrice: number;
currency: string;
dataSource: DataSource;
diff --git a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html
index b909f402a..d75db3c8a 100644
--- a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html
+++ b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html
@@ -1,8 +1,16 @@
{{ item?.name }}{{ item?.name }}
+
+ {{ item?.symbol | gfSymbol }} · {{ item?.currency }}
+ · {{ item?.assetSubClassString }}
diff --git a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.module.ts b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.module.ts
index 9a88fc919..0c2e89726 100644
--- a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.module.ts
+++ b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.module.ts
@@ -1,12 +1,13 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
+import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { AssistantListItemComponent } from './assistant-list-item.component';
@NgModule({
declarations: [AssistantListItemComponent],
exports: [AssistantListItemComponent],
- imports: [CommonModule, RouterModule]
+ imports: [CommonModule, GfSymbolModule, RouterModule]
})
export class GfAssistantListItemModule {}
diff --git a/libs/ui/src/lib/assistant/assistant.component.ts b/libs/ui/src/lib/assistant/assistant.component.ts
index 857ab3172..2cfd9eff2 100644
--- a/libs/ui/src/lib/assistant/assistant.component.ts
+++ b/libs/ui/src/lib/assistant/assistant.component.ts
@@ -18,6 +18,7 @@ import { FormControl } from '@angular/forms';
import { MatMenuTrigger } from '@angular/material/menu';
import { AdminService } from '@ghostfolio/client/services/admin.service';
import { DataService } from '@ghostfolio/client/services/data.service';
+import { translate } from '@ghostfolio/ui/i18n';
import { EMPTY, Observable, Subject, lastValueFrom } from 'rxjs';
import {
catchError,
@@ -233,9 +234,17 @@ export class AssistantComponent implements OnDestroy, OnInit {
return EMPTY;
}),
map(({ marketData }) => {
- return marketData.map(({ dataSource, name, symbol }) => {
- return { dataSource, name, symbol };
- });
+ return marketData.map(
+ ({ assetSubClass, currency, dataSource, name, symbol }) => {
+ return {
+ currency,
+ dataSource,
+ name,
+ symbol,
+ assetSubClassString: translate(assetSubClass)
+ };
+ }
+ );
}),
takeUntil(this.unsubscribeSubject)
);
@@ -257,9 +266,17 @@ export class AssistantComponent implements OnDestroy, OnInit {
return EMPTY;
}),
map(({ positions }) => {
- return positions.map(({ dataSource, name, symbol }) => {
- return { dataSource, name, symbol };
- });
+ return positions.map(
+ ({ assetSubClass, currency, dataSource, name, symbol }) => {
+ return {
+ currency,
+ dataSource,
+ name,
+ symbol,
+ assetSubClassString: translate(assetSubClass)
+ };
+ }
+ );
}),
takeUntil(this.unsubscribeSubject)
);
diff --git a/libs/ui/src/lib/assistant/interfaces/interfaces.ts b/libs/ui/src/lib/assistant/interfaces/interfaces.ts
index ae3831af6..99f70dbe1 100644
--- a/libs/ui/src/lib/assistant/interfaces/interfaces.ts
+++ b/libs/ui/src/lib/assistant/interfaces/interfaces.ts
@@ -1,6 +1,8 @@
import { UniqueAsset } from '@ghostfolio/common/interfaces';
export interface ISearchResultItem extends UniqueAsset {
+ assetSubClassString: string;
+ currency: string;
name: string;
}