-
+
Name
@@ -102,7 +114,12 @@
-
+
Asset Profiles
@@ -193,13 +210,13 @@
diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.ts b/apps/client/src/app/components/admin-settings/admin-settings.component.ts
index 446221058..d030abb82 100644
--- a/apps/client/src/app/components/admin-settings/admin-settings.component.ts
+++ b/apps/client/src/app/components/admin-settings/admin-settings.component.ts
@@ -22,20 +22,24 @@ import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
- OnDestroy,
- OnInit
+ DestroyRef,
+ OnInit,
+ ViewChild
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatMenuModule } from '@angular/material/menu';
import { MatProgressBarModule } from '@angular/material/progress-bar';
+import { MatSort, MatSortModule } from '@angular/material/sort';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { ellipsisHorizontal, trashOutline } from 'ionicons/icons';
+import { get } from 'lodash';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { catchError, filter, of, Subject, takeUntil } from 'rxjs';
+import { catchError, filter, of } from 'rxjs';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
@@ -52,6 +56,7 @@ import { catchError, filter, of, Subject, takeUntil } from 'rxjs';
MatCardModule,
MatMenuModule,
MatProgressBarModule,
+ MatSortModule,
MatTableModule,
NgxSkeletonLoaderModule,
RouterModule
@@ -60,7 +65,9 @@ import { catchError, filter, of, Subject, takeUntil } from 'rxjs';
styleUrls: ['./admin-settings.component.scss'],
templateUrl: './admin-settings.component.html'
})
-export class GfAdminSettingsComponent implements OnDestroy, OnInit {
+export class GfAdminSettingsComponent implements OnInit {
+ @ViewChild(MatSort) sort: MatSort;
+
public dataSource = new MatTableDataSource();
public defaultDateFormat: string;
public displayedColumns = [
@@ -74,14 +81,13 @@ export class GfAdminSettingsComponent implements OnDestroy, OnInit {
public isGhostfolioApiKeyValid: boolean;
public isLoading = false;
public pricingUrl: string;
-
- private unsubscribeSubject = new Subject();
- private user: User;
+ public user: User;
public constructor(
private adminService: AdminService,
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private notificationService: NotificationService,
private userService: UserService
) {
@@ -90,7 +96,7 @@ export class GfAdminSettingsComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -147,11 +153,6 @@ export class GfAdminSettingsComponent implements OnDestroy, OnInit {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private initialize() {
this.isLoading = true;
@@ -159,13 +160,15 @@ export class GfAdminSettingsComponent implements OnDestroy, OnInit {
this.adminService
.fetchAdminData()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ dataProviders, settings }) => {
const filteredProviders = dataProviders.filter(({ dataSource }) => {
return dataSource !== 'MANUAL';
});
this.dataSource = new MatTableDataSource(filteredProviders);
+ this.dataSource.sort = this.sort;
+ this.dataSource.sortingDataAccessor = get;
const ghostfolioApiKey = settings[
PROPERTY_API_KEY_GHOSTFOLIO
@@ -185,7 +188,7 @@ export class GfAdminSettingsComponent implements OnDestroy, OnInit {
filter((status) => {
return status !== null;
}),
- takeUntil(this.unsubscribeSubject)
+ takeUntilDestroyed(this.destroyRef)
)
.subscribe((status) => {
this.ghostfolioApiStatus = status;
diff --git a/apps/client/src/app/components/admin-tag/admin-tag.component.html b/apps/client/src/app/components/admin-tag/admin-tag.component.html
index 98919abd8..463a817ff 100644
--- a/apps/client/src/app/components/admin-tag/admin-tag.component.html
+++ b/apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -45,7 +45,11 @@
Activities
- {{ element.activityCount }}
+
diff --git a/apps/client/src/app/components/admin-tag/admin-tag.component.ts b/apps/client/src/app/components/admin-tag/admin-tag.component.ts
index ca7950291..506736156 100644
--- a/apps/client/src/app/components/admin-tag/admin-tag.component.ts
+++ b/apps/client/src/app/components/admin-tag/admin-tag.component.ts
@@ -1,17 +1,21 @@
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { CreateTagDto, UpdateTagDto } from '@ghostfolio/common/dtos';
import { ConfirmationDialogType } from '@ghostfolio/common/enums';
+import { getLocale } from '@ghostfolio/common/helper';
import { NotificationService } from '@ghostfolio/ui/notifications';
import { DataService } from '@ghostfolio/ui/services';
+import { GfValueComponent } from '@ghostfolio/ui/value';
import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
- OnDestroy,
+ DestroyRef,
+ Input,
OnInit,
ViewChild
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
import { MatMenuModule } from '@angular/material/menu';
@@ -28,7 +32,6 @@ import {
} from 'ionicons/icons';
import { get } from 'lodash';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject, takeUntil } from 'rxjs';
import { GfCreateOrUpdateTagDialogComponent } from './create-or-update-tag-dialog/create-or-update-tag-dialog.component';
import { CreateOrUpdateTagDialogParams } from './create-or-update-tag-dialog/interfaces/interfaces';
@@ -36,6 +39,7 @@ import { CreateOrUpdateTagDialogParams } from './create-or-update-tag-dialog/int
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
+ GfValueComponent,
IonIcon,
MatButtonModule,
MatMenuModule,
@@ -47,7 +51,9 @@ import { CreateOrUpdateTagDialogParams } from './create-or-update-tag-dialog/int
styleUrls: ['./admin-tag.component.scss'],
templateUrl: './admin-tag.component.html'
})
-export class GfAdminTagComponent implements OnDestroy, OnInit {
+export class GfAdminTagComponent implements OnInit {
+ @Input() locale = getLocale();
+
@ViewChild(MatSort) sort: MatSort;
public dataSource = new MatTableDataSource();
@@ -55,11 +61,10 @@ export class GfAdminTagComponent implements OnDestroy, OnInit {
public displayedColumns = ['name', 'userId', 'activities', 'actions'];
public tags: Tag[];
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private notificationService: NotificationService,
@@ -68,7 +73,7 @@ export class GfAdminTagComponent implements OnDestroy, OnInit {
private userService: UserService
) {
this.route.queryParams
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((params) => {
if (params['createTagDialog']) {
this.openCreateTagDialog();
@@ -110,20 +115,15 @@ export class GfAdminTagComponent implements OnDestroy, OnInit {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private deleteTag(aId: string) {
this.dataService
.deleteTag(aId)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe({
next: () => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchTags();
@@ -134,7 +134,7 @@ export class GfAdminTagComponent implements OnDestroy, OnInit {
private fetchTags() {
this.dataService
.fetchTags()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((tags) => {
this.tags = tags;
@@ -165,17 +165,17 @@ export class GfAdminTagComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((tag: CreateTagDto | null) => {
if (tag) {
this.dataService
.postTag(tag)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe({
next: () => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchTags();
@@ -204,17 +204,17 @@ export class GfAdminTagComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((tag: UpdateTagDto | null) => {
if (tag) {
this.dataService
.putTag(tag)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe({
next: () => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchTags();
diff --git a/apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.component.ts b/apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.component.ts
index 323609a48..e22c73478 100644
--- a/apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.component.ts
+++ b/apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.component.ts
@@ -1,12 +1,7 @@
import { CreateTagDto, UpdateTagDto } from '@ghostfolio/common/dtos';
import { validateObjectForForm } from '@ghostfolio/common/utils';
-import {
- ChangeDetectionStrategy,
- Component,
- Inject,
- OnDestroy
-} from '@angular/core';
+import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import {
FormBuilder,
FormGroup,
@@ -21,7 +16,6 @@ import {
} from '@angular/material/dialog';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
-import { Subject } from 'rxjs';
import { CreateOrUpdateTagDialogParams } from './interfaces/interfaces';
@@ -40,11 +34,9 @@ import { CreateOrUpdateTagDialogParams } from './interfaces/interfaces';
styleUrls: ['./create-or-update-tag-dialog.scss'],
templateUrl: 'create-or-update-tag-dialog.html'
})
-export class GfCreateOrUpdateTagDialogComponent implements OnDestroy {
+export class GfCreateOrUpdateTagDialogComponent {
public tagForm: FormGroup;
- private unsubscribeSubject = new Subject();
-
public constructor(
@Inject(MAT_DIALOG_DATA) public data: CreateOrUpdateTagDialogParams,
public dialogRef: MatDialogRef,
@@ -85,9 +77,4 @@ export class GfCreateOrUpdateTagDialogComponent implements OnDestroy {
console.error(error);
}
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/components/admin-users/admin-users.component.ts b/apps/client/src/app/components/admin-users/admin-users.component.ts
index d479f2037..3b57ba1c8 100644
--- a/apps/client/src/app/components/admin-users/admin-users.component.ts
+++ b/apps/client/src/app/components/admin-users/admin-users.component.ts
@@ -1,7 +1,6 @@
import { UserDetailDialogParams } from '@ghostfolio/client/components/user-detail-dialog/interfaces/interfaces';
import { GfUserDetailDialogComponent } from '@ghostfolio/client/components/user-detail-dialog/user-detail-dialog.component';
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
-import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config';
import { ConfirmationDialogType } from '@ghostfolio/common/enums';
@@ -26,10 +25,11 @@ import { CommonModule } from '@angular/common';
import {
ChangeDetectorRef,
Component,
- OnDestroy,
+ DestroyRef,
OnInit,
ViewChild
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
import { MatMenuModule } from '@angular/material/menu';
@@ -56,8 +56,7 @@ import {
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { Subject } from 'rxjs';
-import { switchMap, takeUntil, tap } from 'rxjs/operators';
+import { switchMap, tap } from 'rxjs/operators';
@Component({
imports: [
@@ -76,7 +75,7 @@ import { switchMap, takeUntil, tap } from 'rxjs/operators';
styleUrls: ['./admin-users.scss'],
templateUrl: './admin-users.html'
})
-export class GfAdminUsersComponent implements OnDestroy, OnInit {
+export class GfAdminUsersComponent implements OnInit {
@ViewChild(MatPaginator) paginator: MatPaginator;
public dataSource = new MatTableDataSource();
@@ -90,23 +89,21 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
public isLoading = false;
public pageSize = DEFAULT_PAGE_SIZE;
public routerLinkAdminControlUsers =
- internalRoutes.adminControl.subRoutes.users.routerLink;
+ internalRoutes.adminControl.subRoutes?.users.routerLink;
public totalItems = 0;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private adminService: AdminService,
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private impersonationStorageService: ImpersonationStorageService,
private notificationService: NotificationService,
private route: ActivatedRoute,
private router: Router,
- private tokenStorageService: TokenStorageService,
private userService: UserService
) {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
@@ -141,7 +138,7 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
this.userService.stateChanged
.pipe(
- takeUntil(this.unsubscribeSubject),
+ takeUntilDestroyed(this.destroyRef),
tap((state) => {
if (state?.user) {
this.user = state.user;
@@ -206,7 +203,7 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
confirmFn: () => {
this.dataService
.deleteUser(aId)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.router.navigate(['..'], { relativeTo: this.route });
});
@@ -224,13 +221,12 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
confirmFn: () => {
this.dataService
.updateUserAccessToken(aUserId)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ accessToken }) => {
this.notificationService.alert({
discardFn: () => {
if (aUserId === this.user.id) {
- this.tokenStorageService.signOut();
- this.userService.remove();
+ this.userService.signOut();
document.location.href = `/${document.documentElement.lang}`;
}
@@ -261,11 +257,6 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
);
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private fetchUsers({ pageIndex }: { pageIndex: number } = { pageIndex: 0 }) {
this.isLoading = true;
@@ -278,7 +269,7 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
skip: pageIndex * this.pageSize,
take: this.pageSize
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ count, users }) => {
this.dataSource = new MatTableDataSource(users);
this.totalItems = count;
@@ -308,7 +299,7 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data) => {
if (data?.action === 'delete' && data?.userId) {
this.onDeleteUser(data.userId);
diff --git a/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts b/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts
index e44e81be9..a77d65961 100644
--- a/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts
+++ b/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts
@@ -4,13 +4,14 @@ import { CommonModule } from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
+ DestroyRef,
Input,
- OnDestroy,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import type { DataSource } from '@prisma/client';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { catchError, map, type Observable, of, Subject, takeUntil } from 'rxjs';
+import { catchError, map, type Observable, of } from 'rxjs';
import { DataProviderStatus } from './interfaces/interfaces';
@@ -20,14 +21,15 @@ import { DataProviderStatus } from './interfaces/interfaces';
selector: 'gf-data-provider-status',
templateUrl: './data-provider-status.component.html'
})
-export class GfDataProviderStatusComponent implements OnDestroy, OnInit {
+export class GfDataProviderStatusComponent implements OnInit {
@Input() dataSource: DataSource;
public status$: Observable;
- private unsubscribeSubject = new Subject();
-
- public constructor(private dataService: DataService) {}
+ public constructor(
+ private dataService: DataService,
+ private destroyRef: DestroyRef
+ ) {}
public ngOnInit() {
this.status$ = this.dataService
@@ -39,12 +41,7 @@ export class GfDataProviderStatusComponent implements OnDestroy, OnInit {
catchError(() => {
return of({ isHealthy: false });
}),
- takeUntil(this.unsubscribeSubject)
+ takeUntilDestroyed(this.destroyRef)
);
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/components/footer/footer.component.ts b/apps/client/src/app/components/footer/footer.component.ts
index 48f010565..d06e711b9 100644
--- a/apps/client/src/app/components/footer/footer.component.ts
+++ b/apps/client/src/app/components/footer/footer.component.ts
@@ -33,13 +33,13 @@ export class GfFooterComponent implements OnChanges {
public hasPermissionToAccessFearAndGreedIndex: boolean;
public routerLinkAbout = publicRoutes.about.routerLink;
public routerLinkAboutChangelog =
- publicRoutes.about.subRoutes.changelog.routerLink;
+ publicRoutes.about.subRoutes?.changelog.routerLink;
public routerLinkAboutLicense =
- publicRoutes.about.subRoutes.license.routerLink;
+ publicRoutes.about.subRoutes?.license.routerLink;
public routerLinkAboutPrivacyPolicy =
- publicRoutes.about.subRoutes.privacyPolicy.routerLink;
+ publicRoutes.about.subRoutes?.privacyPolicy.routerLink;
public routerLinkAboutTermsOfService =
- publicRoutes.about.subRoutes.termsOfService.routerLink;
+ publicRoutes.about.subRoutes?.termsOfService.routerLink;
public routerLinkBlog = publicRoutes.blog.routerLink;
public routerLinkFaq = publicRoutes.faq.routerLink;
public routerLinkFeatures = publicRoutes.features.routerLink;
diff --git a/apps/client/src/app/components/header/header.component.ts b/apps/client/src/app/components/header/header.component.ts
index 9b003a590..ab329251f 100644
--- a/apps/client/src/app/components/header/header.component.ts
+++ b/apps/client/src/app/components/header/header.component.ts
@@ -24,6 +24,7 @@ import {
ChangeDetectionStrategy,
Component,
CUSTOM_ELEMENTS_SCHEMA,
+ DestroyRef,
EventEmitter,
HostListener,
Input,
@@ -31,6 +32,7 @@ import {
Output,
ViewChild
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatBadgeModule } from '@angular/material/badge';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
@@ -48,8 +50,8 @@ import {
radioButtonOffOutline,
radioButtonOnOutline
} from 'ionicons/icons';
-import { EMPTY, Subject } from 'rxjs';
-import { catchError, takeUntil } from 'rxjs/operators';
+import { EMPTY } from 'rxjs';
+import { catchError } from 'rxjs/operators';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
@@ -131,10 +133,9 @@ export class GfHeaderComponent implements OnChanges {
public routerLinkRegister = publicRoutes.register.routerLink;
public routerLinkResources = publicRoutes.resources.routerLink;
- private unsubscribeSubject = new Subject();
-
public constructor(
private dataService: DataService,
+ private destroyRef: DestroyRef,
private dialog: MatDialog,
private impersonationStorageService: ImpersonationStorageService,
private layoutService: LayoutService,
@@ -146,7 +147,7 @@ export class GfHeaderComponent implements OnChanges {
) {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
this.impersonationId = impersonationId;
@@ -224,11 +225,11 @@ export class GfHeaderComponent implements OnChanges {
public onDateRangeChange(dateRange: DateRange) {
this.dataService
.putUserSetting({ dateRange })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
});
}
@@ -252,11 +253,11 @@ export class GfHeaderComponent implements OnChanges {
this.dataService
.putUserSetting(userSetting)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
});
}
@@ -301,7 +302,7 @@ export class GfHeaderComponent implements OnChanges {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data) => {
if (data?.accessToken) {
this.dataService
@@ -314,7 +315,7 @@ export class GfHeaderComponent implements OnChanges {
return EMPTY;
}),
- takeUntil(this.unsubscribeSubject)
+ takeUntilDestroyed(this.destroyRef)
)
.subscribe(({ authToken }) => {
this.setToken(authToken);
@@ -331,7 +332,7 @@ export class GfHeaderComponent implements OnChanges {
this.userService
.get()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
const userLanguage = user?.settings?.language;
@@ -342,9 +343,4 @@ export class GfHeaderComponent implements OnChanges {
}
});
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
index 427386796..13ded73eb 100644
--- a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
+++ b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
@@ -35,10 +35,11 @@ import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
+ DestroyRef,
Inject,
- OnDestroy,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatChipsModule } from '@angular/material/chips';
@@ -67,8 +68,7 @@ import {
walletOutline
} from 'ionicons/icons';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { Subject } from 'rxjs';
-import { switchMap, takeUntil } from 'rxjs/operators';
+import { switchMap } from 'rxjs/operators';
import { HoldingDetailDialogParams } from './interfaces/interfaces';
@@ -102,7 +102,7 @@ import { HoldingDetailDialogParams } from './interfaces/interfaces';
styleUrls: ['./holding-detail-dialog.component.scss'],
templateUrl: 'holding-detail-dialog.html'
})
-export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
+export class GfHoldingDetailDialogComponent implements OnInit {
public activitiesCount: number;
public accounts: Account[];
public assetClass: string;
@@ -158,11 +158,10 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
public user: User;
public value: number;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
public dialogRef: MatDialogRef,
@Inject(MAT_DIALOG_DATA) public data: HoldingDetailDialogParams,
private formBuilder: FormBuilder,
@@ -192,7 +191,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
this.holdingForm
.get('tags')
- .valueChanges.pipe(takeUntil(this.unsubscribeSubject))
+ .valueChanges.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((tags: Tag[]) => {
const newTag = tags.find(({ id }) => {
return id === undefined;
@@ -217,7 +216,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
switchMap(() => {
return this.userService.get(true);
}),
- takeUntil(this.unsubscribeSubject)
+ takeUntilDestroyed(this.destroyRef)
)
.subscribe();
} else {
@@ -227,7 +226,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
dataSource: this.data.dataSource,
symbol: this.data.symbol
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
}
});
@@ -236,7 +235,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
.fetchAccounts({
filters
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ accounts }) => {
this.accounts = accounts;
@@ -249,7 +248,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
sortColumn: this.sortColumn,
sortDirection: this.sortDirection
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ activities }) => {
this.dataSource = new MatTableDataSource(activities);
@@ -261,7 +260,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
dataSource: this.data.dataSource,
symbol: this.data.symbol
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(
({
activitiesCount,
@@ -524,7 +523,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
);
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -581,8 +580,8 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
};
this.dataService
- .postOrder(activity)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .postActivity(activity)
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.router.navigate(
internalRoutes.portfolio.subRoutes.activities.routerLink
@@ -599,7 +598,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
this.dataService
.fetchExport({ activityIds })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data) => {
downloadAsFile({
content: data,
@@ -629,18 +628,13 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
this.dialogRef.close();
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private fetchMarketData() {
this.dataService
.fetchMarketDataBySymbol({
dataSource: this.data.dataSource,
symbol: this.data.symbol
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ marketData }) => {
this.marketDataItems = marketData;
diff --git a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
index 86f4676f3..b8cb8dda2 100644
--- a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
+++ b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -310,6 +310,9 @@
Symbol
ISIN
diff --git a/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts
index aab854384..527b13636 100644
--- a/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts
+++ b/apps/client/src/app/components/holding-detail-dialog/interfaces/interfaces.ts
@@ -11,7 +11,7 @@ export interface HoldingDetailDialogParams {
hasPermissionToAccessAdminControl: boolean;
hasPermissionToCreateActivity: boolean;
hasPermissionToReportDataGlitch: boolean;
- hasPermissionToUpdateOrder: boolean;
+ hasPermissionToUpdateActivity: boolean;
locale: string;
symbol: string;
}
diff --git a/apps/client/src/app/components/home-holdings/home-holdings.component.ts b/apps/client/src/app/components/home-holdings/home-holdings.component.ts
index dc444977d..19a48ccd8 100644
--- a/apps/client/src/app/components/home-holdings/home-holdings.component.ts
+++ b/apps/client/src/app/components/home-holdings/home-holdings.component.ts
@@ -19,9 +19,10 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
@@ -30,8 +31,6 @@ import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { gridOutline, reorderFourOutline } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
imports: [
@@ -51,7 +50,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./home-holdings.scss'],
templateUrl: './home-holdings.html'
})
-export class GfHomeHoldingsComponent implements OnDestroy, OnInit {
+export class GfHomeHoldingsComponent implements OnInit {
public static DEFAULT_HOLDINGS_VIEW_MODE: HoldingsViewMode = 'TABLE';
public deviceType: string;
@@ -71,11 +70,10 @@ export class GfHomeHoldingsComponent implements OnDestroy, OnInit {
GfHomeHoldingsComponent.DEFAULT_HOLDINGS_VIEW_MODE
);
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private impersonationStorageService: ImpersonationStorageService,
private router: Router,
@@ -89,13 +87,13 @@ export class GfHomeHoldingsComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -107,7 +105,7 @@ export class GfHomeHoldingsComponent implements OnDestroy, OnInit {
this.hasPermissionToCreateActivity = hasPermission(
this.user.permissions,
- permissions.createOrder
+ permissions.createActivity
);
this.initialize();
@@ -117,15 +115,15 @@ export class GfHomeHoldingsComponent implements OnDestroy, OnInit {
});
this.viewModeFormControl.valueChanges
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((holdingsViewMode) => {
this.dataService
.putUserSetting({ holdingsViewMode })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -149,11 +147,6 @@ export class GfHomeHoldingsComponent implements OnDestroy, OnInit {
}
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private fetchHoldings() {
const filters = this.userService.getFilters();
@@ -193,7 +186,7 @@ export class GfHomeHoldingsComponent implements OnDestroy, OnInit {
this.holdings = undefined;
this.fetchHoldings()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ holdings }) => {
this.holdings = holdings;
diff --git a/apps/client/src/app/components/home-holdings/home-holdings.html b/apps/client/src/app/components/home-holdings/home-holdings.html
index ec131cd39..175c88606 100644
--- a/apps/client/src/app/components/home-holdings/home-holdings.html
+++ b/apps/client/src/app/components/home-holdings/home-holdings.html
@@ -46,7 +46,6 @@
}
();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
@@ -59,7 +57,7 @@ export class GfHomeMarketComponent implements OnDestroy, OnInit {
this.info = this.dataService.fetchInfo();
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -82,7 +80,7 @@ export class GfHomeMarketComponent implements OnDestroy, OnInit {
includeHistoricalData: this.numberOfDays,
symbol: ghostfolioFearAndGreedIndexSymbol
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ historicalData, marketPrice }) => {
this.fearAndGreedIndex = marketPrice;
this.historicalDataItems = [
@@ -99,16 +97,11 @@ export class GfHomeMarketComponent implements OnDestroy, OnInit {
this.dataService
.fetchBenchmarks()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ benchmarks }) => {
this.benchmarks = benchmarks;
this.changeDetectorRef.markForCheck();
});
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/components/home-overview/home-overview.component.ts b/apps/client/src/app/components/home-overview/home-overview.component.ts
index e9cafe003..ececc7b13 100644
--- a/apps/client/src/app/components/home-overview/home-overview.component.ts
+++ b/apps/client/src/app/components/home-overview/home-overview.component.ts
@@ -19,14 +19,13 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { RouterModule } from '@angular/router';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
imports: [
@@ -41,7 +40,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./home-overview.scss'],
templateUrl: './home-overview.html'
})
-export class GfHomeOverviewComponent implements OnDestroy, OnInit {
+export class GfHomeOverviewComponent implements OnInit {
public deviceType: string;
public errors: AssetProfileIdentifier[];
public hasError: boolean;
@@ -57,32 +56,31 @@ export class GfHomeOverviewComponent implements OnDestroy, OnInit {
public routerLinkAccounts = internalRoutes.accounts.routerLink;
public routerLinkPortfolio = internalRoutes.portfolio.routerLink;
public routerLinkPortfolioActivities =
- internalRoutes.portfolio.subRoutes.activities.routerLink;
+ internalRoutes.portfolio.subRoutes?.activities.routerLink;
public showDetails = false;
public unit: string;
public user: User;
private graph_type: string;
public graph_unit: string;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private impersonationStorageService: ImpersonationStorageService,
private layoutService: LayoutService,
private userService: UserService
) {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
this.hasPermissionToCreateActivity = hasPermission(
this.user.permissions,
- permissions.createOrder
+ permissions.createActivity
);
this.update();
@@ -106,7 +104,7 @@ export class GfHomeOverviewComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
@@ -114,17 +112,12 @@ export class GfHomeOverviewComponent implements OnDestroy, OnInit {
});
this.layoutService.shouldReloadContent$
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.update();
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private update() {
this.historicalDataItems = null;
this.isLoadingPerformance = true;
@@ -133,7 +126,7 @@ export class GfHomeOverviewComponent implements OnDestroy, OnInit {
.fetchPortfolioPerformance({
range: this.user?.settings?.dateRange
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ chart, errors, performance }) => {
this.errors = errors;
this.performance = performance;
diff --git a/apps/client/src/app/components/home-summary/home-summary.component.ts b/apps/client/src/app/components/home-summary/home-summary.component.ts
index 454d05689..719cfbd29 100644
--- a/apps/client/src/app/components/home-summary/home-summary.component.ts
+++ b/apps/client/src/app/components/home-summary/home-summary.component.ts
@@ -13,14 +13,13 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatCardModule } from '@angular/material/card';
import { MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
imports: [GfPortfolioSummaryComponent, MatCardModule],
@@ -29,7 +28,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./home-summary.scss'],
templateUrl: './home-summary.html'
})
-export class GfHomeSummaryComponent implements OnDestroy, OnInit {
+export class GfHomeSummaryComponent implements OnInit {
public deviceType: string;
public hasImpersonationId: boolean;
public hasPermissionForSubscription: boolean;
@@ -40,11 +39,10 @@ export class GfHomeSummaryComponent implements OnDestroy, OnInit {
public summary: PortfolioSummary;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private impersonationStorageService: ImpersonationStorageService,
private userService: UserService
@@ -57,7 +55,7 @@ export class GfHomeSummaryComponent implements OnDestroy, OnInit {
);
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -77,7 +75,7 @@ export class GfHomeSummaryComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
@@ -86,11 +84,11 @@ export class GfHomeSummaryComponent implements OnDestroy, OnInit {
public onChangeEmergencyFund(emergencyFund: number) {
this.dataService
.putUserSetting({ emergencyFund })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -99,17 +97,12 @@ export class GfHomeSummaryComponent implements OnDestroy, OnInit {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private update() {
this.isLoading = true;
this.dataService
.fetchPortfolioDetails()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ summary }) => {
this.summary = summary;
this.isLoading = false;
diff --git a/apps/client/src/app/components/markets/markets.component.ts b/apps/client/src/app/components/markets/markets.component.ts
index 4b83e897f..4214ee989 100644
--- a/apps/client/src/app/components/markets/markets.component.ts
+++ b/apps/client/src/app/components/markets/markets.component.ts
@@ -19,12 +19,11 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
@@ -39,7 +38,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./markets.scss'],
templateUrl: './markets.html'
})
-export class GfMarketsComponent implements OnDestroy, OnInit {
+export class GfMarketsComponent implements OnInit {
public benchmarks: Benchmark[];
public deviceType: string;
public fearAndGreedIndex: number;
@@ -55,18 +54,17 @@ export class GfMarketsComponent implements OnDestroy, OnInit {
public readonly numberOfDays = 365;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -79,7 +77,7 @@ export class GfMarketsComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.dataService
.fetchMarketDataOfMarkets({ includeHistoricalData: this.numberOfDays })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ fearAndGreedIndex }) => {
this.fearAndGreedIndexData = fearAndGreedIndex;
@@ -90,7 +88,7 @@ export class GfMarketsComponent implements OnDestroy, OnInit {
this.dataService
.fetchBenchmarks()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ benchmarks }) => {
this.benchmarks = benchmarks;
@@ -119,9 +117,4 @@ export class GfMarketsComponent implements OnDestroy, OnInit {
this.initialize();
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
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 46eb2845c..0e26a49a8 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
@@ -65,7 +65,11 @@
[locale]="locale"
[precision]="precision"
[unit]="baseCurrency"
- [value]="isLoading ? undefined : summary?.committedFunds"
+ [value]="
+ isLoading
+ ? undefined
+ : summary?.totalInvestmentValueWithCurrencyEffect
+ "
/>
@@ -180,18 +184,21 @@
[ngClass]="{
'cursor-pointer':
hasPermissionToUpdateUserSettings &&
+ !user?.settings?.isRestrictedView &&
user?.subscription?.type !== 'Basic'
}"
(click)="
hasPermissionToUpdateUserSettings &&
+ !user?.settings?.isRestrictedView &&
user?.subscription?.type !== 'Basic' &&
onEditEmergencyFund()
"
>
@if (
hasPermissionToUpdateUserSettings &&
- user?.subscription?.type !== 'Basic' &&
- !isLoading
+ !isLoading &&
+ !user?.settings?.isRestrictedView &&
+ user?.subscription?.type !== 'Basic'
) {
();
private deviceType: string;
- private unsubscribeSubject = new Subject();
-
public constructor(
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private dialog: MatDialog
) {
@@ -94,7 +94,7 @@ export class GfRuleComponent implements OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((settings: RuleSettings) => {
if (settings) {
this.ruleUpdated.emit({
@@ -115,9 +115,4 @@ export class GfRuleComponent implements OnInit {
this.ruleUpdated.emit(settings);
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/components/user-account-access/user-account-access.component.ts b/apps/client/src/app/components/user-account-access/user-account-access.component.ts
index ef78cccff..4f744a087 100644
--- a/apps/client/src/app/components/user-account-access/user-account-access.component.ts
+++ b/apps/client/src/app/components/user-account-access/user-account-access.component.ts
@@ -1,5 +1,4 @@
import { GfAccessTableComponent } from '@ghostfolio/client/components/access-table/access-table.component';
-import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { CreateAccessDto } from '@ghostfolio/common/dtos';
import { ConfirmationDialogType } from '@ghostfolio/common/enums';
@@ -76,7 +75,6 @@ export class GfUserAccountAccessComponent implements OnDestroy, OnInit {
private notificationService: NotificationService,
private route: ActivatedRoute,
private router: Router,
- private tokenStorageService: TokenStorageService,
private userService: UserService
) {
const { globalPermissions } = this.dataService.fetchInfo();
@@ -161,8 +159,7 @@ export class GfUserAccountAccessComponent implements OnDestroy, OnInit {
.subscribe(({ accessToken }) => {
this.notificationService.alert({
discardFn: () => {
- this.tokenStorageService.signOut();
- this.userService.remove();
+ this.userService.signOut();
document.location.href = `/${document.documentElement.lang}`;
},
diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
index 44be30b9a..0cf18df36 100644
--- a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
+++ b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
@@ -3,7 +3,6 @@ import {
KEY_TOKEN,
SettingsStorageService
} from '@ghostfolio/client/services/settings-storage.service';
-import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service';
import { ConfirmationDialogType } from '@ghostfolio/common/enums';
@@ -108,7 +107,6 @@ export class GfUserAccountSettingsComponent implements OnDestroy, OnInit {
private notificationService: NotificationService,
private settingsStorageService: SettingsStorageService,
private snackBar: MatSnackBar,
- private tokenStorageService: TokenStorageService,
private userService: UserService,
public webAuthnService: WebAuthnService
) {
@@ -198,8 +196,7 @@ export class GfUserAccountSettingsComponent implements OnDestroy, OnInit {
takeUntil(this.unsubscribeSubject)
)
.subscribe(() => {
- this.tokenStorageService.signOut();
- this.userService.remove();
+ this.userService.signOut();
document.location.href = `/${document.documentElement.lang}`;
});
diff --git a/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html b/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
index 570dcf4d6..e9af86942 100644
--- a/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+++ b/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
@@ -27,7 +27,13 @@
- User ID
+ User ID
Role
diff --git a/apps/client/src/app/core/auth.guard.ts b/apps/client/src/app/core/auth.guard.ts
index 123a6169a..3292f0ff7 100644
--- a/apps/client/src/app/core/auth.guard.ts
+++ b/apps/client/src/app/core/auth.guard.ts
@@ -68,7 +68,7 @@ export class AuthGuard {
this.dataService
.putUserSetting({ language: document.documentElement.lang })
.subscribe(() => {
- this.userService.remove();
+ this.userService.reset();
setTimeout(() => {
window.location.reload();
diff --git a/apps/client/src/app/core/http-response.interceptor.ts b/apps/client/src/app/core/http-response.interceptor.ts
index ab99b440f..315e9d64e 100644
--- a/apps/client/src/app/core/http-response.interceptor.ts
+++ b/apps/client/src/app/core/http-response.interceptor.ts
@@ -1,4 +1,4 @@
-import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
+import { UserService } from '@ghostfolio/client/services/user/user.service';
import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service';
import { InfoItem } from '@ghostfolio/common/interfaces';
import { internalRoutes, publicRoutes } from '@ghostfolio/common/routes/routes';
@@ -32,8 +32,8 @@ export class HttpResponseInterceptor implements HttpInterceptor {
public constructor(
private dataService: DataService,
private router: Router,
- private tokenStorageService: TokenStorageService,
private snackBar: MatSnackBar,
+ private userService: UserService,
private webAuthnService: WebAuthnService
) {
this.info = this.dataService.fetchInfo();
@@ -115,7 +115,7 @@ export class HttpResponseInterceptor implements HttpInterceptor {
if (this.webAuthnService.isEnabled()) {
this.router.navigate(internalRoutes.webauthn.routerLink);
} else {
- this.tokenStorageService.signOut();
+ this.userService.signOut();
}
}
}
diff --git a/apps/client/src/app/interfaces/interfaces.ts b/apps/client/src/app/interfaces/interfaces.ts
new file mode 100644
index 000000000..493eff4ab
--- /dev/null
+++ b/apps/client/src/app/interfaces/interfaces.ts
@@ -0,0 +1,8 @@
+import type { Params } from '@angular/router';
+import type { DataSource } from '@prisma/client';
+
+export interface GfAppQueryParams extends Params {
+ dataSource?: DataSource;
+ holdingDetailDialog?: string;
+ symbol?: string;
+}
diff --git a/apps/client/src/app/pages/about/about-page.component.ts b/apps/client/src/app/pages/about/about-page.component.ts
index 5ddb6b2e0..1e749d1cd 100644
--- a/apps/client/src/app/pages/about/about-page.component.ts
+++ b/apps/client/src/app/pages/about/about-page.component.ts
@@ -8,9 +8,10 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
@@ -24,8 +25,6 @@ import {
sparklesOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page has-tabs' },
@@ -35,17 +34,16 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./about-page.scss'],
templateUrl: './about-page.html'
})
-export class AboutPageComponent implements OnDestroy, OnInit {
+export class AboutPageComponent implements OnInit {
public deviceType: string;
public hasPermissionForSubscription: boolean;
public tabs: TabConfiguration[] = [];
public user: User;
- private unsubscribeSubject = new Subject
();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
@@ -57,7 +55,7 @@ export class AboutPageComponent implements OnDestroy, OnInit {
);
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
this.tabs = [
{
@@ -118,9 +116,4 @@ export class AboutPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/about/about-page.routes.ts b/apps/client/src/app/pages/about/about-page.routes.ts
index 4cb13280a..b4466fbab 100644
--- a/apps/client/src/app/pages/about/about-page.routes.ts
+++ b/apps/client/src/app/pages/about/about-page.routes.ts
@@ -15,29 +15,29 @@ export const routes: Routes = [
import('./overview/about-overview-page.routes').then((m) => m.routes)
},
{
- path: publicRoutes.about.subRoutes.changelog.path,
+ path: publicRoutes.about.subRoutes?.changelog.path,
loadChildren: () =>
import('./changelog/changelog-page.routes').then((m) => m.routes)
},
{
- path: publicRoutes.about.subRoutes.license.path,
+ path: publicRoutes.about.subRoutes?.license.path,
loadChildren: () =>
import('./license/license-page.routes').then((m) => m.routes)
},
{
- path: publicRoutes.about.subRoutes.ossFriends.path,
+ path: publicRoutes.about.subRoutes?.ossFriends.path,
loadChildren: () =>
import('./oss-friends/oss-friends-page.routes').then((m) => m.routes)
},
{
- path: publicRoutes.about.subRoutes.privacyPolicy.path,
+ path: publicRoutes.about.subRoutes?.privacyPolicy.path,
loadChildren: () =>
import('./privacy-policy/privacy-policy-page.routes').then(
(m) => m.routes
)
},
{
- path: publicRoutes.about.subRoutes.termsOfService.path,
+ path: publicRoutes.about.subRoutes?.termsOfService.path,
loadChildren: () =>
import('./terms-of-service/terms-of-service-page.routes').then(
(m) => m.routes
diff --git a/apps/client/src/app/pages/about/changelog/changelog-page.component.ts b/apps/client/src/app/pages/about/changelog/changelog-page.component.ts
index 69b397370..d7f583bd1 100644
--- a/apps/client/src/app/pages/about/changelog/changelog-page.component.ts
+++ b/apps/client/src/app/pages/about/changelog/changelog-page.component.ts
@@ -1,7 +1,6 @@
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { MarkdownModule } from 'ngx-markdown';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { Subject } from 'rxjs';
@Component({
imports: [MarkdownModule, NgxSkeletonLoaderModule],
@@ -9,17 +8,10 @@ import { Subject } from 'rxjs';
styleUrls: ['./changelog-page.scss'],
templateUrl: './changelog-page.html'
})
-export class GfChangelogPageComponent implements OnDestroy {
+export class GfChangelogPageComponent {
public isLoading = true;
- private unsubscribeSubject = new Subject();
-
public onLoad() {
this.isLoading = false;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts b/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts
index 523218acc..7b67283e9 100644
--- a/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts
+++ b/apps/client/src/app/pages/about/changelog/changelog-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfChangelogPageComponent,
path: '',
- title: publicRoutes.about.subRoutes.changelog.title
+ title: publicRoutes.about.subRoutes?.changelog.title
}
];
diff --git a/apps/client/src/app/pages/about/license/license-page.component.ts b/apps/client/src/app/pages/about/license/license-page.component.ts
index 0dc5b2f51..d530d0418 100644
--- a/apps/client/src/app/pages/about/license/license-page.component.ts
+++ b/apps/client/src/app/pages/about/license/license-page.component.ts
@@ -1,6 +1,5 @@
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { MarkdownModule } from 'ngx-markdown';
-import { Subject } from 'rxjs';
@Component({
imports: [MarkdownModule],
@@ -8,11 +7,4 @@ import { Subject } from 'rxjs';
styleUrls: ['./license-page.scss'],
templateUrl: './license-page.html'
})
-export class GfLicensePageComponent implements OnDestroy {
- private unsubscribeSubject = new Subject();
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-}
+export class GfLicensePageComponent {}
diff --git a/apps/client/src/app/pages/about/license/license-page.routes.ts b/apps/client/src/app/pages/about/license/license-page.routes.ts
index 1684bb0c5..45de6aaa2 100644
--- a/apps/client/src/app/pages/about/license/license-page.routes.ts
+++ b/apps/client/src/app/pages/about/license/license-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfLicensePageComponent,
path: '',
- title: publicRoutes.about.subRoutes.license.title
+ title: publicRoutes.about.subRoutes?.license.title
}
];
diff --git a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.component.ts b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.component.ts
index bdbbdf9a7..c2e500a52 100644
--- a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.component.ts
+++ b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.component.ts
@@ -1,10 +1,9 @@
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { arrowForwardOutline } from 'ionicons/icons';
-import { Subject } from 'rxjs';
const ossFriends = require('../../../../assets/oss-friends.json');
@@ -14,17 +13,10 @@ const ossFriends = require('../../../../assets/oss-friends.json');
styleUrls: ['./oss-friends-page.scss'],
templateUrl: './oss-friends-page.html'
})
-export class GfOpenSourceSoftwareFriendsPageComponent implements OnDestroy {
+export class GfOpenSourceSoftwareFriendsPageComponent {
public ossFriends = ossFriends.data;
- private unsubscribeSubject = new Subject();
-
public constructor() {
addIcons({ arrowForwardOutline });
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts
index 8dbb9d52a..dfe65d962 100644
--- a/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts
+++ b/apps/client/src/app/pages/about/oss-friends/oss-friends-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfOpenSourceSoftwareFriendsPageComponent,
path: '',
- title: publicRoutes.about.subRoutes.ossFriends.title
+ title: publicRoutes.about.subRoutes?.ossFriends.title
}
];
diff --git a/apps/client/src/app/pages/about/overview/about-overview-page.component.ts b/apps/client/src/app/pages/about/overview/about-overview-page.component.ts
index bea19a1b9..9c399762b 100644
--- a/apps/client/src/app/pages/about/overview/about-overview-page.component.ts
+++ b/apps/client/src/app/pages/about/overview/about-overview-page.component.ts
@@ -9,9 +9,10 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
@@ -23,8 +24,6 @@ import {
logoX,
mail
} from 'ionicons/icons';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
imports: [CommonModule, IonIcon, MatButtonModule, RouterModule],
@@ -33,7 +32,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./about-overview-page.scss'],
templateUrl: './about-overview-page.html'
})
-export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
+export class GfAboutOverviewPageComponent implements OnInit {
public hasPermissionForStatistics: boolean;
public hasPermissionForSubscription: boolean;
public isLoggedIn: boolean;
@@ -43,11 +42,10 @@ export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
public routerLinkOpenStartup = publicRoutes.openStartup.routerLink;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private userService: UserService
) {
const { globalPermissions } = this.dataService.fetchInfo();
@@ -67,7 +65,7 @@ export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -76,9 +74,4 @@ export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
}
});
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts
index 78881cd2c..50e4e3e2f 100644
--- a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts
+++ b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts
@@ -1,6 +1,5 @@
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { MarkdownModule } from 'ngx-markdown';
-import { Subject } from 'rxjs';
@Component({
imports: [MarkdownModule],
@@ -8,11 +7,4 @@ import { Subject } from 'rxjs';
styleUrls: ['./privacy-policy-page.scss'],
templateUrl: './privacy-policy-page.html'
})
-export class GfPrivacyPolicyPageComponent implements OnDestroy {
- private unsubscribeSubject = new Subject();
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-}
+export class GfPrivacyPolicyPageComponent {}
diff --git a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts
index e87436c17..934e06289 100644
--- a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts
+++ b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfPrivacyPolicyPageComponent,
path: '',
- title: publicRoutes.about.subRoutes.privacyPolicy.title
+ title: publicRoutes.about.subRoutes?.privacyPolicy.title
}
];
diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.component.ts b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.component.ts
index dbf07ef19..7899f0187 100644
--- a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.component.ts
+++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.component.ts
@@ -1,6 +1,5 @@
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { MarkdownModule } from 'ngx-markdown';
-import { Subject } from 'rxjs';
@Component({
imports: [MarkdownModule],
@@ -8,11 +7,4 @@ import { Subject } from 'rxjs';
styleUrls: ['./terms-of-service-page.scss'],
templateUrl: './terms-of-service-page.html'
})
-export class GfTermsOfServicePageComponent implements OnDestroy {
- private unsubscribeSubject = new Subject();
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-}
+export class GfTermsOfServicePageComponent {}
diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts
index 34d7a72d0..caf8751f1 100644
--- a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts
+++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfTermsOfServicePageComponent,
path: '',
- title: publicRoutes.about.subRoutes.termsOfService.title
+ title: publicRoutes.about.subRoutes?.termsOfService.title
}
];
diff --git a/apps/client/src/app/pages/accounts/accounts-page.component.ts b/apps/client/src/app/pages/accounts/accounts-page.component.ts
index f7e6541b5..fdc78a8c4 100644
--- a/apps/client/src/app/pages/accounts/accounts-page.component.ts
+++ b/apps/client/src/app/pages/accounts/accounts-page.component.ts
@@ -13,7 +13,13 @@ import { GfAccountsTableComponent } from '@ghostfolio/ui/accounts-table';
import { NotificationService } from '@ghostfolio/ui/notifications';
import { DataService } from '@ghostfolio/ui/services';
-import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ OnInit
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
import { ActivatedRoute, Router, RouterModule } from '@angular/router';
@@ -21,8 +27,8 @@ import { Account as AccountModel } from '@prisma/client';
import { addIcons } from 'ionicons';
import { addOutline } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { EMPTY, Subject, Subscription } from 'rxjs';
-import { catchError, takeUntil } from 'rxjs/operators';
+import { EMPTY, Subscription } from 'rxjs';
+import { catchError } from 'rxjs/operators';
import { GfCreateOrUpdateAccountDialogComponent } from './create-or-update-account-dialog/create-or-update-account-dialog.component';
import { CreateOrUpdateAccountDialogParams } from './create-or-update-account-dialog/interfaces/interfaces';
@@ -36,7 +42,7 @@ import { GfTransferBalanceDialogComponent } from './transfer-balance/transfer-ba
styleUrls: ['./accounts-page.scss'],
templateUrl: './accounts-page.html'
})
-export class GfAccountsPageComponent implements OnDestroy, OnInit {
+export class GfAccountsPageComponent implements OnInit {
public accounts: AccountModel[];
public activitiesCount = 0;
public deviceType: string;
@@ -48,11 +54,10 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
public totalValueInBaseCurrency = 0;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private impersonationStorageService: ImpersonationStorageService,
@@ -62,7 +67,7 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
private userService: UserService
) {
this.route.queryParams
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((params) => {
if (params['accountId'] && params['accountDetailDialog']) {
this.openAccountDetailDialog(params['accountId']);
@@ -94,13 +99,13 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -124,7 +129,7 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
public fetchAccounts() {
this.dataService
.fetchAccounts()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(
({
accounts,
@@ -151,11 +156,11 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
this.dataService
.deleteAccount(aId)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchAccounts();
@@ -204,18 +209,18 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((account: UpdateAccountDto | null) => {
if (account) {
this.reset();
this.dataService
.putAccount(account)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchAccounts();
@@ -228,11 +233,6 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private openAccountDetailDialog(aAccountId: string) {
const dialogRef = this.dialog.open<
GfAccountDetailDialogComponent,
@@ -245,7 +245,7 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
hasImpersonationId: this.hasImpersonationId,
hasPermissionToCreateActivity:
!this.hasImpersonationId &&
- hasPermission(this.user?.permissions, permissions.createOrder) &&
+ hasPermission(this.user?.permissions, permissions.createActivity) &&
!this.user?.settings?.isRestrictedView
},
height: this.deviceType === 'mobile' ? '98vh' : '80vh',
@@ -254,7 +254,7 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.fetchAccounts();
@@ -284,18 +284,18 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((account: CreateAccountDto | null) => {
if (account) {
this.reset();
this.dataService
.postAccount(account)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchAccounts();
@@ -321,7 +321,7 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data: any) => {
if (data) {
this.reset();
@@ -343,7 +343,7 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
return EMPTY;
}),
- takeUntil(this.unsubscribeSubject)
+ takeUntilDestroyed(this.destroyRef)
)
.subscribe(() => {
this.fetchAccounts();
diff --git a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts
index f4c68e70f..6cdd18251 100644
--- a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts
+++ b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts
@@ -5,12 +5,7 @@ import { GfEntityLogoComponent } from '@ghostfolio/ui/entity-logo';
import { DataService } from '@ghostfolio/ui/services';
import { CommonModule, NgClass } from '@angular/common';
-import {
- ChangeDetectionStrategy,
- Component,
- Inject,
- OnDestroy
-} from '@angular/core';
+import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import {
AbstractControl,
FormBuilder,
@@ -30,7 +25,7 @@ import {
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { Platform } from '@prisma/client';
-import { Observable, Subject } from 'rxjs';
+import { Observable } from 'rxjs';
import { map, startWith } from 'rxjs/operators';
import { CreateOrUpdateAccountDialogParams } from './interfaces/interfaces';
@@ -55,14 +50,12 @@ import { CreateOrUpdateAccountDialogParams } from './interfaces/interfaces';
styleUrls: ['./create-or-update-account-dialog.scss'],
templateUrl: 'create-or-update-account-dialog.html'
})
-export class GfCreateOrUpdateAccountDialogComponent implements OnDestroy {
+export class GfCreateOrUpdateAccountDialogComponent {
public accountForm: FormGroup;
public currencies: string[] = [];
public filteredPlatforms: Observable;
public platforms: Platform[] = [];
- private unsubscribeSubject = new Subject();
-
public constructor(
@Inject(MAT_DIALOG_DATA) public data: CreateOrUpdateAccountDialogParams,
private dataService: DataService,
@@ -170,11 +163,6 @@ export class GfCreateOrUpdateAccountDialogComponent implements OnDestroy {
}
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private autocompleteObjectValidator(): ValidatorFn {
return (control: AbstractControl) => {
if (control.value && typeof control.value === 'string') {
diff --git a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts
index 85d2e60bf..34a66b156 100644
--- a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts
+++ b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts
@@ -1,12 +1,7 @@
import { TransferBalanceDto } from '@ghostfolio/common/dtos';
import { GfEntityLogoComponent } from '@ghostfolio/ui/entity-logo';
-import {
- ChangeDetectionStrategy,
- Component,
- Inject,
- OnDestroy
-} from '@angular/core';
+import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import {
AbstractControl,
FormBuilder,
@@ -25,7 +20,6 @@ import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatSelectModule } from '@angular/material/select';
import { Account } from '@prisma/client';
-import { Subject } from 'rxjs';
import { TransferBalanceDialogParams } from './interfaces/interfaces';
@@ -45,13 +39,11 @@ import { TransferBalanceDialogParams } from './interfaces/interfaces';
styleUrls: ['./transfer-balance-dialog.scss'],
templateUrl: 'transfer-balance-dialog.html'
})
-export class GfTransferBalanceDialogComponent implements OnDestroy {
+export class GfTransferBalanceDialogComponent {
public accounts: Account[] = [];
public currency: string;
public transferBalanceForm: FormGroup;
- private unsubscribeSubject = new Subject();
-
public constructor(
@Inject(MAT_DIALOG_DATA) public data: TransferBalanceDialogParams,
public dialogRef: MatDialogRef,
@@ -93,11 +85,6 @@ export class GfTransferBalanceDialogComponent implements OnDestroy {
this.dialogRef.close({ account });
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private compareAccounts(control: AbstractControl): ValidationErrors {
const accountFrom = control.get('fromAccount');
const accountTo = control.get('toAccount');
diff --git a/apps/client/src/app/pages/admin/admin-page.component.ts b/apps/client/src/app/pages/admin/admin-page.component.ts
index b9243dcb9..284d3c41d 100644
--- a/apps/client/src/app/pages/admin/admin-page.component.ts
+++ b/apps/client/src/app/pages/admin/admin-page.component.ts
@@ -1,7 +1,7 @@
import { TabConfiguration } from '@ghostfolio/common/interfaces';
import { internalRoutes } from '@ghostfolio/common/routes/routes';
-import { Component, OnDestroy, OnInit } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
@@ -14,7 +14,6 @@ import {
settingsOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page has-tabs' },
@@ -23,12 +22,10 @@ import { Subject } from 'rxjs';
styleUrls: ['./admin-page.scss'],
templateUrl: './admin-page.html'
})
-export class AdminPageComponent implements OnDestroy, OnInit {
+export class AdminPageComponent implements OnInit {
public deviceType: string;
public tabs: TabConfiguration[] = [];
- private unsubscribeSubject = new Subject();
-
public constructor(private deviceService: DeviceDetectorService) {
addIcons({
flashOutline,
@@ -74,9 +71,4 @@ export class AdminPageComponent implements OnDestroy, OnInit {
}
];
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/admin/admin-page.routes.ts b/apps/client/src/app/pages/admin/admin-page.routes.ts
index c5309edbb..08fce248c 100644
--- a/apps/client/src/app/pages/admin/admin-page.routes.ts
+++ b/apps/client/src/app/pages/admin/admin-page.routes.ts
@@ -20,29 +20,29 @@ export const routes: Routes = [
title: internalRoutes.adminControl.title
},
{
- path: internalRoutes.adminControl.subRoutes.jobs.path,
+ path: internalRoutes.adminControl.subRoutes?.jobs.path,
component: GfAdminJobsComponent,
- title: internalRoutes.adminControl.subRoutes.jobs.title
+ title: internalRoutes.adminControl.subRoutes?.jobs.title
},
{
- path: internalRoutes.adminControl.subRoutes.marketData.path,
+ path: internalRoutes.adminControl.subRoutes?.marketData.path,
component: GfAdminMarketDataComponent,
- title: internalRoutes.adminControl.subRoutes.marketData.title
+ title: internalRoutes.adminControl.subRoutes?.marketData.title
},
{
- path: internalRoutes.adminControl.subRoutes.settings.path,
+ path: internalRoutes.adminControl.subRoutes?.settings.path,
component: GfAdminSettingsComponent,
- title: internalRoutes.adminControl.subRoutes.settings.title
+ title: internalRoutes.adminControl.subRoutes?.settings.title
},
{
- path: internalRoutes.adminControl.subRoutes.users.path,
+ path: internalRoutes.adminControl.subRoutes?.users.path,
component: GfAdminUsersComponent,
- title: internalRoutes.adminControl.subRoutes.users.title
+ title: internalRoutes.adminControl.subRoutes?.users.title
},
{
- path: `${internalRoutes.adminControl.subRoutes.users.path}/:userId`,
+ path: `${internalRoutes.adminControl.subRoutes?.users.path}/:userId`,
component: GfAdminUsersComponent,
- title: internalRoutes.adminControl.subRoutes.users.title
+ title: internalRoutes.adminControl.subRoutes?.users.title
}
],
component: AdminPageComponent,
diff --git a/apps/client/src/app/pages/auth/auth-page.component.ts b/apps/client/src/app/pages/auth/auth-page.component.ts
index 082401d6d..1b0b4a67c 100644
--- a/apps/client/src/app/pages/auth/auth-page.component.ts
+++ b/apps/client/src/app/pages/auth/auth-page.component.ts
@@ -4,20 +4,18 @@ import {
} from '@ghostfolio/client/services/settings-storage.service';
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
-import { Component, OnDestroy, OnInit } from '@angular/core';
+import { Component, DestroyRef, OnInit } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { ActivatedRoute, Router } from '@angular/router';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
selector: 'gf-auth-page',
styleUrls: ['./auth-page.scss'],
templateUrl: './auth-page.html'
})
-export class GfAuthPageComponent implements OnDestroy, OnInit {
- private unsubscribeSubject = new Subject();
-
+export class GfAuthPageComponent implements OnInit {
public constructor(
+ private destroyRef: DestroyRef,
private route: ActivatedRoute,
private router: Router,
private settingsStorageService: SettingsStorageService,
@@ -26,7 +24,7 @@ export class GfAuthPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.route.params
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((params) => {
const jwt = params['jwt'];
@@ -38,9 +36,4 @@ export class GfAuthPageComponent implements OnDestroy, OnInit {
this.router.navigate(['/']);
});
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts
index c5a9cf178..4b62e4449 100644
--- a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts
+++ b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts
@@ -12,6 +12,6 @@ import { RouterModule } from '@angular/router';
})
export class GhostfolioJoinsOssFriendsPageComponent {
public routerLinkAboutOssFriends =
- publicRoutes.about.subRoutes.ossFriends.routerLink;
+ publicRoutes.about.subRoutes?.ossFriends.routerLink;
public routerLinkBlog = publicRoutes.blog.routerLink;
}
diff --git a/apps/client/src/app/pages/blog/blog-page.component.ts b/apps/client/src/app/pages/blog/blog-page.component.ts
index 8a379a7e4..7f2c56d2d 100644
--- a/apps/client/src/app/pages/blog/blog-page.component.ts
+++ b/apps/client/src/app/pages/blog/blog-page.component.ts
@@ -1,13 +1,12 @@
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { DataService } from '@ghostfolio/ui/services';
-import { Component, CUSTOM_ELEMENTS_SCHEMA, OnDestroy } from '@angular/core';
+import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { MatCardModule } from '@angular/material/card';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { chevronForwardOutline } from 'ionicons/icons';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -17,11 +16,9 @@ import { Subject } from 'rxjs';
styleUrls: ['./blog-page.scss'],
templateUrl: './blog-page.html'
})
-export class GfBlogPageComponent implements OnDestroy {
+export class GfBlogPageComponent {
public hasPermissionForSubscription: boolean;
- private unsubscribeSubject = new Subject();
-
public constructor(private dataService: DataService) {
const info = this.dataService.fetchInfo();
@@ -32,9 +29,4 @@ export class GfBlogPageComponent implements OnDestroy {
addIcons({ chevronForwardOutline });
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/demo/demo-page.component.ts b/apps/client/src/app/pages/demo/demo-page.component.ts
index 5b94fd541..235805dcc 100644
--- a/apps/client/src/app/pages/demo/demo-page.component.ts
+++ b/apps/client/src/app/pages/demo/demo-page.component.ts
@@ -3,9 +3,8 @@ import { InfoItem } from '@ghostfolio/common/interfaces';
import { NotificationService } from '@ghostfolio/ui/notifications';
import { DataService } from '@ghostfolio/ui/services';
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { Router } from '@angular/router';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -13,11 +12,9 @@ import { Subject } from 'rxjs';
standalone: true,
templateUrl: './demo-page.html'
})
-export class GfDemoPageComponent implements OnDestroy {
+export class GfDemoPageComponent {
public info: InfoItem;
- private unsubscribeSubject = new Subject();
-
public constructor(
private dataService: DataService,
private notificationService: NotificationService,
@@ -40,9 +37,4 @@ export class GfDemoPageComponent implements OnDestroy {
this.router.navigate(['/']);
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/faq/faq-page.component.ts b/apps/client/src/app/pages/faq/faq-page.component.ts
index caf4217ca..83171254a 100644
--- a/apps/client/src/app/pages/faq/faq-page.component.ts
+++ b/apps/client/src/app/pages/faq/faq-page.component.ts
@@ -3,19 +3,13 @@ import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { DataService } from '@ghostfolio/ui/services';
-import {
- CUSTOM_ELEMENTS_SCHEMA,
- Component,
- OnDestroy,
- OnInit
-} from '@angular/core';
+import { CUSTOM_ELEMENTS_SCHEMA, Component, OnInit } from '@angular/core';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { cloudyOutline, readerOutline, serverOutline } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page has-tabs' },
@@ -25,13 +19,11 @@ import { Subject } from 'rxjs';
styleUrls: ['./faq-page.scss'],
templateUrl: './faq-page.html'
})
-export class GfFaqPageComponent implements OnDestroy, OnInit {
+export class GfFaqPageComponent implements OnInit {
public deviceType: string;
public hasPermissionForSubscription: boolean;
public tabs: TabConfiguration[] = [];
- private unsubscribeSubject = new Subject();
-
public constructor(
private dataService: DataService,
private deviceService: DeviceDetectorService
@@ -68,9 +60,4 @@ export class GfFaqPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/faq/faq-page.routes.ts b/apps/client/src/app/pages/faq/faq-page.routes.ts
index 2999e3c80..f80304a08 100644
--- a/apps/client/src/app/pages/faq/faq-page.routes.ts
+++ b/apps/client/src/app/pages/faq/faq-page.routes.ts
@@ -15,12 +15,12 @@ export const routes: Routes = [
import('./overview/faq-overview-page.routes').then((m) => m.routes)
},
{
- path: publicRoutes.faq.subRoutes.saas.path,
+ path: publicRoutes.faq.subRoutes?.saas.path,
loadChildren: () =>
import('./saas/saas-page.routes').then((m) => m.routes)
},
{
- path: publicRoutes.faq.subRoutes.selfHosting.path,
+ path: publicRoutes.faq.subRoutes?.selfHosting.path,
loadChildren: () =>
import('./self-hosting/self-hosting-page.routes').then(
(m) => m.routes
diff --git a/apps/client/src/app/pages/faq/saas/saas-page.component.ts b/apps/client/src/app/pages/faq/saas/saas-page.component.ts
index b47d45fe2..4429fe492 100644
--- a/apps/client/src/app/pages/faq/saas/saas-page.component.ts
+++ b/apps/client/src/app/pages/faq/saas/saas-page.component.ts
@@ -25,7 +25,7 @@ export class GfSaasPageComponent implements OnDestroy {
public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`;
public routerLinkAccount = internalRoutes.account.routerLink;
public routerLinkAccountMembership =
- internalRoutes.account.subRoutes.membership.routerLink;
+ internalRoutes.account.subRoutes?.membership.routerLink;
public routerLinkMarkets = publicRoutes.markets.routerLink;
public routerLinkRegister = publicRoutes.register.routerLink;
public user: User;
diff --git a/apps/client/src/app/pages/faq/saas/saas-page.routes.ts b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts
index dcb574c38..d68893640 100644
--- a/apps/client/src/app/pages/faq/saas/saas-page.routes.ts
+++ b/apps/client/src/app/pages/faq/saas/saas-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfSaasPageComponent,
path: '',
- title: `${publicRoutes.faq.subRoutes.saas.title} - ${publicRoutes.faq.title}`
+ title: `${publicRoutes.faq.subRoutes?.saas.title} - ${publicRoutes.faq.title}`
}
];
diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts
index ed1d74395..f2468c7d4 100644
--- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts
+++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts
@@ -1,10 +1,9 @@
import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
-import { CUSTOM_ELEMENTS_SCHEMA, Component, OnDestroy } from '@angular/core';
+import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
import { MatCardModule } from '@angular/material/card';
import { RouterModule } from '@angular/router';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -14,13 +13,6 @@ import { Subject } from 'rxjs';
styleUrls: ['./self-hosting-page.scss'],
templateUrl: './self-hosting-page.html'
})
-export class GfSelfHostingPageComponent implements OnDestroy {
+export class GfSelfHostingPageComponent {
public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`;
-
- private unsubscribeSubject = new Subject();
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html
index 42e810eb0..ef88df9aa 100644
--- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html
+++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html
@@ -93,6 +93,10 @@
dialog
+
+ For derived currencies (e.g. GBp), ensure that you
+ gather the data for the parent currency (e.g. GBP).
+
diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts
index d08cdb312..ccf034421 100644
--- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts
+++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfSelfHostingPageComponent,
path: '',
- title: `${publicRoutes.faq.subRoutes.selfHosting.title} - ${publicRoutes.faq.title}`
+ title: `${publicRoutes.faq.subRoutes?.selfHosting.title} - ${publicRoutes.faq.title}`
}
];
diff --git a/apps/client/src/app/pages/features/features-page.component.ts b/apps/client/src/app/pages/features/features-page.component.ts
index b9eb91fe2..cef90f2e5 100644
--- a/apps/client/src/app/pages/features/features-page.component.ts
+++ b/apps/client/src/app/pages/features/features-page.component.ts
@@ -5,11 +5,11 @@ import { publicRoutes } from '@ghostfolio/common/routes/routes';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { DataService } from '@ghostfolio/ui/services';
-import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core';
+import { ChangeDetectorRef, Component, DestroyRef } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { RouterModule } from '@angular/router';
-import { Subject, takeUntil } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -23,7 +23,7 @@ import { Subject, takeUntil } from 'rxjs';
styleUrls: ['./features-page.scss'],
templateUrl: './features-page.html'
})
-export class GfFeaturesPageComponent implements OnDestroy {
+export class GfFeaturesPageComponent {
public hasPermissionForSubscription: boolean;
public hasPermissionToCreateUser: boolean;
public info: InfoItem;
@@ -31,11 +31,10 @@ export class GfFeaturesPageComponent implements OnDestroy {
public routerLinkResources = publicRoutes.resources.routerLink;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private userService: UserService
) {
this.info = this.dataService.fetchInfo();
@@ -43,7 +42,7 @@ export class GfFeaturesPageComponent implements OnDestroy {
public ngOnInit() {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -62,9 +61,4 @@ export class GfFeaturesPageComponent implements OnDestroy {
permissions.createUserAccount
);
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/home/home-page.component.ts b/apps/client/src/app/pages/home/home-page.component.ts
index fd860ced5..5130c8166 100644
--- a/apps/client/src/app/pages/home/home-page.component.ts
+++ b/apps/client/src/app/pages/home/home-page.component.ts
@@ -8,9 +8,10 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
@@ -23,8 +24,6 @@ import {
readerOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page has-tabs' },
@@ -34,22 +33,21 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./home-page.scss'],
templateUrl: './home-page.html'
})
-export class GfHomePageComponent implements OnDestroy, OnInit {
+export class GfHomePageComponent implements OnInit {
public deviceType: string;
public hasImpersonationId: boolean;
public tabs: TabConfiguration[] = [];
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private impersonationStorageService: ImpersonationStorageService,
private userService: UserService
) {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -110,14 +108,9 @@ export class GfHomePageComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/home/home-page.routes.ts b/apps/client/src/app/pages/home/home-page.routes.ts
index 82ef1e521..436826674 100644
--- a/apps/client/src/app/pages/home/home-page.routes.ts
+++ b/apps/client/src/app/pages/home/home-page.routes.ts
@@ -20,29 +20,29 @@ export const routes: Routes = [
component: GfHomeOverviewComponent
},
{
- path: internalRoutes.home.subRoutes.holdings.path,
+ path: internalRoutes.home.subRoutes?.holdings.path,
component: GfHomeHoldingsComponent,
- title: internalRoutes.home.subRoutes.holdings.title
+ title: internalRoutes.home.subRoutes?.holdings.title
},
{
- path: internalRoutes.home.subRoutes.summary.path,
+ path: internalRoutes.home.subRoutes?.summary.path,
component: GfHomeSummaryComponent,
- title: internalRoutes.home.subRoutes.summary.title
+ title: internalRoutes.home.subRoutes?.summary.title
},
{
- path: internalRoutes.home.subRoutes.markets.path,
+ path: internalRoutes.home.subRoutes?.markets.path,
component: GfHomeMarketComponent,
- title: internalRoutes.home.subRoutes.markets.title
+ title: internalRoutes.home.subRoutes?.markets.title
},
{
- path: internalRoutes.home.subRoutes.marketsPremium.path,
+ path: internalRoutes.home.subRoutes?.marketsPremium.path,
component: GfMarketsComponent,
- title: internalRoutes.home.subRoutes.marketsPremium.title
+ title: internalRoutes.home.subRoutes?.marketsPremium.title
},
{
- path: internalRoutes.home.subRoutes.watchlist.path,
+ path: internalRoutes.home.subRoutes?.watchlist.path,
component: GfHomeWatchlistComponent,
- title: internalRoutes.home.subRoutes.watchlist.title
+ title: internalRoutes.home.subRoutes?.watchlist.title
}
],
component: GfHomePageComponent,
diff --git a/apps/client/src/app/pages/i18n/i18n-page.component.ts b/apps/client/src/app/pages/i18n/i18n-page.component.ts
index 19ecd222e..76d123914 100644
--- a/apps/client/src/app/pages/i18n/i18n-page.component.ts
+++ b/apps/client/src/app/pages/i18n/i18n-page.component.ts
@@ -1,5 +1,4 @@
import { Component } from '@angular/core';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -8,11 +7,4 @@ import { Subject } from 'rxjs';
styleUrls: ['./i18n-page.scss'],
templateUrl: './i18n-page.html'
})
-export class GfI18nPageComponent {
- private unsubscribeSubject = new Subject();
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-}
+export class GfI18nPageComponent {}
diff --git a/apps/client/src/app/pages/i18n/i18n-page.html b/apps/client/src/app/pages/i18n/i18n-page.html
index b4297d5ac..99ef3039e 100644
--- a/apps/client/src/app/pages/i18n/i18n-page.html
+++ b/apps/client/src/app/pages/i18n/i18n-page.html
@@ -149,14 +149,14 @@
An emergency fund has been set up
- Fee Ratio
-
- The fees do exceed ${thresholdMax}% of your initial investment
- (${feeRatio}%)
-
-
- The fees do not exceed ${thresholdMax}% of your initial
- investment (${feeRatio}%)
+ Fee Ratio
+
+ The fees do exceed ${thresholdMax}% of your total investment
+ volume (${feeRatio}%)
+
+
+ The fees do not exceed ${thresholdMax}% of your total
+ investment volume (${feeRatio}%)
Fees
diff --git a/apps/client/src/app/pages/landing/landing-page.component.ts b/apps/client/src/app/pages/landing/landing-page.component.ts
index 25fb2d6e7..9ee9cceb4 100644
--- a/apps/client/src/app/pages/landing/landing-page.component.ts
+++ b/apps/client/src/app/pages/landing/landing-page.component.ts
@@ -9,7 +9,7 @@ import { GfValueComponent } from '@ghostfolio/ui/value';
import { GfWorldMapChartComponent } from '@ghostfolio/ui/world-map-chart';
import { CommonModule } from '@angular/common';
-import { Component, OnDestroy, OnInit } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { RouterModule } from '@angular/router';
@@ -21,7 +21,6 @@ import {
starOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -40,7 +39,7 @@ import { Subject } from 'rxjs';
styleUrls: ['./landing-page.scss'],
templateUrl: './landing-page.html'
})
-export class GfLandingPageComponent implements OnDestroy, OnInit {
+export class GfLandingPageComponent implements OnInit {
public countriesOfSubscribersMap: {
[code: string]: { value: number };
} = {};
@@ -107,8 +106,6 @@ export class GfLandingPageComponent implements OnDestroy, OnInit {
}
];
- private unsubscribeSubject = new Subject();
-
public constructor(
private dataService: DataService,
private deviceService: DeviceDetectorService
@@ -155,9 +152,4 @@ export class GfLandingPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/open/open-page.component.ts b/apps/client/src/app/pages/open/open-page.component.ts
index 6284c41f4..090588d7d 100644
--- a/apps/client/src/app/pages/open/open-page.component.ts
+++ b/apps/client/src/app/pages/open/open-page.component.ts
@@ -7,11 +7,11 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatCardModule } from '@angular/material/card';
-import { Subject, takeUntil } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -21,15 +21,14 @@ import { Subject, takeUntil } from 'rxjs';
styleUrls: ['./open-page.scss'],
templateUrl: './open-page.html'
})
-export class GfOpenPageComponent implements OnDestroy, OnInit {
+export class GfOpenPageComponent implements OnInit {
public statistics: Statistics;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private userService: UserService
) {
const { statistics } = this.dataService.fetchInfo();
@@ -39,7 +38,7 @@ export class GfOpenPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -48,9 +47,4 @@ export class GfOpenPageComponent implements OnDestroy, OnInit {
}
});
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts
index cf7a41215..b9dc9077c 100644
--- a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts
+++ b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts
@@ -10,10 +10,17 @@ import {
User
} from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
+import { DateRange } from '@ghostfolio/common/types';
import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table';
import { DataService } from '@ghostfolio/ui/services';
-import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ OnInit
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
import { PageEvent } from '@angular/material/paginator';
@@ -26,8 +33,7 @@ import { format, parseISO } from 'date-fns';
import { addIcons } from 'ionicons';
import { addOutline } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject, Subscription } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
+import { Subscription } from 'rxjs';
import { GfCreateOrUpdateActivityDialogComponent } from './create-or-update-activity-dialog/create-or-update-activity-dialog.component';
import { CreateOrUpdateActivityDialogParams } from './create-or-update-activity-dialog/interfaces/interfaces';
@@ -47,7 +53,7 @@ import { ImportActivitiesDialogParams } from './import-activities-dialog/interfa
styleUrls: ['./activities-page.scss'],
templateUrl: './activities-page.html'
})
-export class GfActivitiesPageComponent implements OnDestroy, OnInit {
+export class GfActivitiesPageComponent implements OnInit {
public dataSource: MatTableDataSource;
public deviceType: string;
public hasImpersonationId: boolean;
@@ -61,11 +67,10 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
public totalItems: number;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private icsService: IcsService,
@@ -75,13 +80,13 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
private userService: UserService
) {
this.routeQueryParams = route.queryParams
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((params) => {
if (params['createDialog']) {
if (params['activityId']) {
this.dataService
.fetchActivity(params['activityId'])
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((activity) => {
this.openCreateActivityDialog(activity);
});
@@ -92,7 +97,7 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
if (params['activityId']) {
this.dataService
.fetchActivity(params['activityId'])
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((activity) => {
this.openUpdateActivityDialog(activity);
});
@@ -110,13 +115,13 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.updateUser(state.user);
@@ -129,15 +134,20 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
}
public fetchActivities() {
+ const dateRange = this.user?.settings?.dateRange;
+
+ const range = this.isCalendarYear(dateRange) ? dateRange : undefined;
+
this.dataService
.fetchActivities({
+ range,
filters: this.userService.getFilters(),
skip: this.pageIndex * this.pageSize,
sortColumn: this.sortColumn,
sortDirection: this.sortDirection,
take: this.pageSize
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ activities, count }) => {
this.dataSource = new MatTableDataSource(activities);
this.totalItems = count;
@@ -178,11 +188,11 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
.deleteActivities({
filters: this.userService.getFilters()
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchActivities();
@@ -192,11 +202,11 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
public onDeleteActivity(aId: string) {
this.dataService
.deleteActivity(aId)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchActivities();
@@ -212,7 +222,7 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
this.dataService
.fetchExport(fetchExportParams)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data) => {
for (const activity of data.activities) {
delete activity.id;
@@ -232,7 +242,7 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
public onExportDrafts(activityIds?: string[]) {
this.dataService
.fetchExport({ activityIds })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data) => {
downloadAsFile({
content: this.icsService.transformActivitiesToIcsContent(
@@ -262,11 +272,11 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchActivities();
@@ -289,11 +299,11 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchActivities();
@@ -330,12 +340,12 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((activity: UpdateOrderDto) => {
if (activity) {
this.dataService
- .putOrder(activity)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .putActivity(activity)
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe({
next: () => {
this.fetchActivities();
@@ -347,15 +357,18 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
+ private isCalendarYear(dateRange: DateRange) {
+ if (!dateRange) {
+ return false;
+ }
+
+ return /^\d{4}$/.test(dateRange);
}
private openCreateActivityDialog(aActivity?: Activity) {
this.userService
.get()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.updateUser(user);
@@ -382,14 +395,14 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((transaction: CreateOrderDto | null) => {
if (transaction) {
- this.dataService.postOrder(transaction).subscribe({
+ this.dataService.postActivity(transaction).subscribe({
next: () => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.fetchActivities();
@@ -407,9 +420,9 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
this.hasPermissionToCreateActivity =
!this.hasImpersonationId &&
- hasPermission(this.user.permissions, permissions.createOrder);
+ hasPermission(this.user.permissions, permissions.createActivity);
this.hasPermissionToDeleteActivity =
!this.hasImpersonationId &&
- hasPermission(this.user.permissions, permissions.deleteOrder);
+ hasPermission(this.user.permissions, permissions.deleteActivity);
}
}
diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts
index c96c8a558..e1c75f6cc 100644
--- a/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts
+++ b/apps/client/src/app/pages/portfolio/activities/activities-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfActivitiesPageComponent,
path: '',
- title: internalRoutes.portfolio.subRoutes.activities.title
+ title: internalRoutes.portfolio.subRoutes?.activities.title
}
];
diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
index 8695f04ed..9cc312b25 100644
--- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
+++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
@@ -20,9 +20,10 @@ import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
- Inject,
- OnDestroy
+ DestroyRef,
+ Inject
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import {
FormBuilder,
FormGroup,
@@ -46,8 +47,8 @@ import { AssetClass, Tag, Type } from '@prisma/client';
import { isAfter, isToday } from 'date-fns';
import { addIcons } from 'ionicons';
import { calendarClearOutline, refreshOutline } from 'ionicons/icons';
-import { EMPTY, Subject } from 'rxjs';
-import { catchError, delay, takeUntil } from 'rxjs/operators';
+import { EMPTY } from 'rxjs';
+import { catchError, delay } from 'rxjs/operators';
import { CreateOrUpdateActivityDialogParams } from './interfaces/interfaces';
import { ActivityType } from './types/activity-type.type';
@@ -75,7 +76,7 @@ import { ActivityType } from './types/activity-type.type';
styleUrls: ['./create-or-update-activity-dialog.scss'],
templateUrl: 'create-or-update-activity-dialog.html'
})
-export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
+export class GfCreateOrUpdateActivityDialogComponent {
public activityForm: FormGroup;
public assetClassOptions: AssetClassSelectorOption[] = Object.keys(AssetClass)
@@ -101,13 +102,12 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
public typesTranslationMap = new Map();
public Validators = Validators;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
@Inject(MAT_DIALOG_DATA) public data: CreateOrUpdateActivityDialogParams,
private dataService: DataService,
private dateAdapter: DateAdapter,
+ private destroyRef: DestroyRef,
public dialogRef: MatDialogRef,
private formBuilder: FormBuilder,
@Inject(MAT_DATE_LOCALE) private locale: string,
@@ -133,7 +133,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.dataService
.fetchPortfolioHoldings()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ holdings }) => {
this.defaultLookupItems = holdings
.filter(({ assetSubClass }) => {
@@ -188,8 +188,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
!this.data.activity?.accountId &&
this.mode === 'create'
? this.data.accounts[0].id
- : this.data.activity?.accountId,
- Validators.required
+ : this.data.activity?.accountId
],
assetClass: [this.data.activity?.SymbolProfile?.assetClass],
assetSubClass: [this.data.activity?.SymbolProfile?.assetSubClass],
@@ -238,7 +237,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
// Slightly delay until the more specific form control value changes have
// completed
delay(300),
- takeUntil(this.unsubscribeSubject)
+ takeUntilDestroyed(this.destroyRef)
)
.subscribe(async () => {
if (
@@ -285,7 +284,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.activityForm
.get('assetClass')
- .valueChanges.pipe(takeUntil(this.unsubscribeSubject))
+ .valueChanges.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((assetClass) => {
const assetSubClasses = ASSET_CLASS_MAPPING.get(assetClass) ?? [];
@@ -336,7 +335,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
if (newTag && this.hasPermissionToCreateOwnTag) {
this.dataService
.postTag({ ...newTag, userId: this.data.user.id })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((tag) => {
this.activityForm.get('tags').setValue(
tags.map((currentTag) => {
@@ -350,7 +349,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
});
}
@@ -358,18 +357,13 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.activityForm
.get('type')
- .valueChanges.pipe(takeUntil(this.unsubscribeSubject))
+ .valueChanges.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((type: ActivityType) => {
if (
type === 'VALUABLE' ||
(this.activityForm.get('dataSource').value === 'MANUAL' &&
type === 'BUY')
) {
- this.activityForm
- .get('accountId')
- .removeValidators(Validators.required);
- this.activityForm.get('accountId').updateValueAndValidity();
-
const currency =
this.data.accounts.find(({ id }) => {
return id === this.activityForm.get('accountId').value;
@@ -397,11 +391,6 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.activityForm.get('updateAccountBalance').disable();
this.activityForm.get('updateAccountBalance').setValue(false);
} else if (['FEE', 'INTEREST', 'LIABILITY'].includes(type)) {
- this.activityForm
- .get('accountId')
- .removeValidators(Validators.required);
- this.activityForm.get('accountId').updateValueAndValidity();
-
const currency =
this.data.accounts.find(({ id }) => {
return id === this.activityForm.get('accountId').value;
@@ -447,8 +436,6 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.activityForm.get('updateAccountBalance').setValue(false);
}
} else {
- this.activityForm.get('accountId').setValidators(Validators.required);
- this.activityForm.get('accountId').updateValueAndValidity();
this.activityForm
.get('dataSource')
.setValidators(Validators.required);
@@ -478,7 +465,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
dataSource: this.data.activity?.SymbolProfile?.dataSource,
symbol: this.data.activity?.SymbolProfile?.symbol
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ marketPrice }) => {
this.currentMarketPrice = marketPrice;
@@ -514,11 +501,12 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
comment: this.activityForm.get('comment').value || null,
currency: this.activityForm.get('currency').value,
customCurrency: this.activityForm.get('currencyOfUnitPrice').value,
+ dataSource: ['FEE', 'INTEREST', 'LIABILITY', 'VALUABLE'].includes(
+ this.activityForm.get('type').value
+ )
+ ? 'MANUAL'
+ : this.activityForm.get('dataSource').value,
date: this.activityForm.get('date').value,
- dataSource:
- this.activityForm.get('type').value === 'VALUABLE'
- ? 'MANUAL'
- : this.activityForm.get('dataSource').value,
fee: this.activityForm.get('fee').value,
quantity: this.activityForm.get('quantity').value,
symbol:
@@ -569,11 +557,6 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
}
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private updateAssetProfile() {
this.isLoading = true;
this.changeDetectorRef.markForCheck();
@@ -593,7 +576,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
return EMPTY;
}),
- takeUntil(this.unsubscribeSubject)
+ takeUntilDestroyed(this.destroyRef)
)
.subscribe(({ currency, dataSource, marketPrice }) => {
if (this.mode === 'create') {
diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
index 42fbd0ebf..278ddcbbd 100644
--- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
+++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
@@ -84,12 +84,8 @@
>
Account
- @if (
- !activityForm.get('accountId').hasValidator(Validators.required) ||
- (!activityForm.get('accountId').value && mode === 'update')
- ) {
-
- }
+
+
@for (account of data.accounts; track account) {
diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
index 1a84e9f31..00f0508fe 100644
--- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
+++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
@@ -21,9 +21,10 @@ import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
- Inject,
- OnDestroy
+ DestroyRef,
+ Inject
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import {
FormBuilder,
FormGroup,
@@ -52,7 +53,6 @@ import { cloudUploadOutline, warningOutline } from 'ionicons/icons';
import { isArray, sortBy } from 'lodash';
import ms from 'ms';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject, takeUntil } from 'rxjs';
import { ImportStep } from './enums/import-step';
import { ImportActivitiesDialogParams } from './interfaces/interfaces';
@@ -81,7 +81,7 @@ import { ImportActivitiesDialogParams } from './interfaces/interfaces';
styleUrls: ['./import-activities-dialog.scss'],
templateUrl: 'import-activities-dialog.html'
})
-export class GfImportActivitiesDialogComponent implements OnDestroy {
+export class GfImportActivitiesDialogComponent {
public accounts: CreateAccountWithBalancesDto[] = [];
public activities: Activity[] = [];
public assetProfileForm: FormGroup;
@@ -104,12 +104,11 @@ export class GfImportActivitiesDialogComponent implements OnDestroy {
public tags: CreateTagDto[] = [];
public totalItems: number;
- private unsubscribeSubject = new Subject
();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
@Inject(MAT_DIALOG_DATA) public data: ImportActivitiesDialogParams,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private formBuilder: FormBuilder,
public dialogRef: MatDialogRef,
@@ -152,7 +151,7 @@ export class GfImportActivitiesDialogComponent implements OnDestroy {
],
range: 'max'
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ holdings }) => {
this.holdings = sortBy(holdings, ({ name }) => {
return name.toLowerCase();
@@ -237,7 +236,7 @@ export class GfImportActivitiesDialogComponent implements OnDestroy {
dataSource,
symbol
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ activities }) => {
this.activities = activities;
this.dataSource = new MatTableDataSource(activities.reverse());
@@ -284,11 +283,6 @@ export class GfImportActivitiesDialogComponent implements OnDestroy {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private async handleFile({
file,
stepper
diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts
index 70fa09eb1..367716d2d 100644
--- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts
+++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts
@@ -22,7 +22,13 @@ import { GfValueComponent } from '@ghostfolio/ui/value';
import { GfWorldMapChartComponent } from '@ghostfolio/ui/world-map-chart';
import { NgClass } from '@angular/common';
-import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ OnInit
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatCardModule } from '@angular/material/card';
import { MatDialog } from '@angular/material/dialog';
import { MatProgressBarModule } from '@angular/material/progress-bar';
@@ -36,8 +42,6 @@ import {
} from '@prisma/client';
import { isNumber } from 'lodash';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
imports: [
@@ -54,7 +58,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./allocations-page.scss'],
templateUrl: './allocations-page.html'
})
-export class GfAllocationsPageComponent implements OnDestroy, OnInit {
+export class GfAllocationsPageComponent implements OnInit {
public accounts: {
[id: string]: Pick & {
id: string;
@@ -119,11 +123,10 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
public user: User;
public worldMapChartFormat: string;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private impersonationStorageService: ImpersonationStorageService,
@@ -132,7 +135,7 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
private userService: UserService
) {
this.route.queryParams
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((params) => {
if (params['accountId'] && params['accountDetailDialog']) {
this.openAccountDetailDialog(params['accountId']);
@@ -145,13 +148,13 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -166,7 +169,7 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
this.initialize();
this.fetchPortfolioDetails()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((portfolioDetails) => {
this.initialize();
@@ -202,11 +205,6 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
}
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private extractEtfProvider({
assetSubClass,
name
@@ -407,17 +405,22 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
}
if (position.holdings.length > 0) {
- for (const holding of position.holdings) {
- const { allocationInPercentage, name, valueInBaseCurrency } =
- holding;
-
- if (this.topHoldingsMap[name]?.value) {
- this.topHoldingsMap[name].value += isNumber(valueInBaseCurrency)
+ for (const {
+ allocationInPercentage,
+ name,
+ valueInBaseCurrency
+ } of position.holdings) {
+ const normalizedAssetName = this.normalizeAssetName(name);
+
+ if (this.topHoldingsMap[normalizedAssetName]?.value) {
+ this.topHoldingsMap[normalizedAssetName].value += isNumber(
+ valueInBaseCurrency
+ )
? valueInBaseCurrency
: allocationInPercentage *
this.portfolioDetails.holdings[symbol].valueInPercentage;
} else {
- this.topHoldingsMap[name] = {
+ this.topHoldingsMap[normalizedAssetName] = {
name,
value: isNumber(valueInBaseCurrency)
? valueInBaseCurrency
@@ -520,7 +523,10 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
if (holding.holdings.length > 0) {
const currentParentHolding = holding.holdings.find(
(parentHolding) => {
- return parentHolding.name === name;
+ return (
+ this.normalizeAssetName(parentHolding.name) ===
+ this.normalizeAssetName(name)
+ );
}
);
@@ -557,6 +563,14 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
}
}
+ private normalizeAssetName(name: string) {
+ if (!name) {
+ return '';
+ }
+
+ return name.trim().toLowerCase();
+ }
+
private openAccountDetailDialog(aAccountId: string) {
const dialogRef = this.dialog.open<
GfAccountDetailDialogComponent,
@@ -569,7 +583,7 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
hasImpersonationId: this.hasImpersonationId,
hasPermissionToCreateActivity:
!this.hasImpersonationId &&
- hasPermission(this.user?.permissions, permissions.createOrder) &&
+ hasPermission(this.user?.permissions, permissions.createActivity) &&
!this.user?.settings?.isRestrictedView
},
height: this.deviceType === 'mobile' ? '98vh' : '80vh',
@@ -578,7 +592,7 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.router.navigate(['.'], { relativeTo: this.route });
});
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 5cd24777c..47845ea6f 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
@@ -24,10 +24,11 @@ import { Clipboard } from '@angular/cdk/clipboard';
import {
ChangeDetectorRef,
Component,
- OnDestroy,
+ DestroyRef,
OnInit,
ViewChild
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu';
@@ -42,8 +43,6 @@ import { isNumber, sortBy } from 'lodash';
import ms from 'ms';
import { DeviceDetectorService } from 'ngx-device-detector';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
imports: [
@@ -64,7 +63,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./analysis-page.scss'],
templateUrl: './analysis-page.html'
})
-export class GfAnalysisPageComponent implements OnDestroy, OnInit {
+export class GfAnalysisPageComponent implements OnInit {
@ViewChild(MatMenuTrigger) actionsMenuButton!: MatMenuTrigger;
public benchmark: Partial;
@@ -102,12 +101,11 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
public unitLongestStreak: string;
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private clipboard: Clipboard,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private impersonationStorageService: ImpersonationStorageService,
private snackBar: MatSnackBar,
@@ -135,13 +133,13 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -163,11 +161,11 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
public onChangeBenchmark(symbolProfileId: string) {
this.dataService
.putUserSetting({ benchmark: symbolProfileId })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -193,7 +191,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
mode,
filters: this.userService.getFilters()
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ prompt }) => {
this.clipboard.copy(prompt);
@@ -207,7 +205,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
snackBarRef
.onAction()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
window.open('https://duck.ai', '_blank');
});
@@ -222,11 +220,6 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private fetchDividendsAndInvestments() {
this.isLoadingDividendTimelineChart = true;
this.isLoadingInvestmentTimelineChart = true;
@@ -237,7 +230,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
groupBy: this.mode,
range: this.user?.settings?.dateRange
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ dividends }) => {
this.dividendsByGroup = dividends;
@@ -252,7 +245,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
groupBy: this.mode,
range: this.user?.settings?.dateRange
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ investments, streaks }) => {
this.investmentsByGroup = investments;
this.streaks = streaks;
@@ -287,7 +280,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
filters: this.userService.getFilters(),
range: this.user?.settings?.dateRange
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ chart, firstOrderDate, performance }) => {
this.firstOrderDate = firstOrderDate ?? new Date();
@@ -346,7 +339,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
filters: this.userService.getFilters(),
range: this.user?.settings?.dateRange
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ holdings }) => {
const holdingsSorted = sortBy(
holdings.filter(({ netPerformancePercentWithCurrencyEffect }) => {
@@ -397,7 +390,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
range: this.user?.settings?.dateRange,
startDate: this.firstOrderDate
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ marketData }) => {
this.benchmarkDataItems = marketData.map(({ date, value }) => {
return {
diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts b/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts
index 91cf4c91b..343d6ced5 100644
--- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts
+++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.routes.ts
@@ -10,6 +10,6 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: GfAnalysisPageComponent,
path: '',
- title: internalRoutes.portfolio.subRoutes.analysis.title
+ title: internalRoutes.portfolio.subRoutes?.analysis.title
}
];
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 27db6c76e..2f7568982 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
@@ -12,14 +12,18 @@ import { DataService } from '@ghostfolio/ui/services';
import { GfValueComponent } from '@ghostfolio/ui/value';
import { CommonModule, NgStyle } from '@angular/common';
-import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ OnInit
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { FormControl } from '@angular/forms';
import { Big } from 'big.js';
import { DeviceDetectorService } from 'ngx-device-detector';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
imports: [
@@ -36,7 +40,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./fire-page.scss'],
templateUrl: './fire-page.html'
})
-export class GfFirePageComponent implements OnDestroy, OnInit {
+export class GfFirePageComponent implements OnInit {
public deviceType: string;
public fireWealth: FireWealth;
public hasImpersonationId: boolean;
@@ -52,11 +56,10 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
public withdrawalRatePerYear: Big;
public withdrawalRatePerYearProjected: Big;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private impersonationStorageService: ImpersonationStorageService,
private userService: UserService
@@ -68,7 +71,7 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
this.dataService
.fetchPortfolioDetails()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ summary }) => {
this.fireWealth = {
today: {
@@ -92,19 +95,19 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
this.safeWithdrawalRateControl.valueChanges
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((value) => {
this.onSafeWithdrawalRateChange(Number(value));
});
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -132,11 +135,11 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
public onAnnualInterestRateChange(annualInterestRate: number) {
this.dataService
.putUserSetting({ annualInterestRate })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -163,11 +166,11 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
retirementDate: retirementDate.toISOString(),
projectedTotalAmount: null
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -179,11 +182,11 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
public onSafeWithdrawalRateChange(safeWithdrawalRate: number) {
this.dataService
.putUserSetting({ safeWithdrawalRate })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -198,11 +201,11 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
public onSavingsRateChange(savingsRate: number) {
this.dataService
.putUserSetting({ savingsRate })
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -217,11 +220,11 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
projectedTotalAmount,
retirementDate: null
})
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((user) => {
this.user = user;
@@ -230,11 +233,6 @@ export class GfFirePageComponent implements OnDestroy, OnInit {
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private calculateWithdrawalRates() {
if (this.fireWealth && this.user?.settings?.safeWithdrawalRate) {
this.withdrawalRatePerYear = new Big(
diff --git a/apps/client/src/app/pages/portfolio/portfolio-page.component.ts b/apps/client/src/app/pages/portfolio/portfolio-page.component.ts
index 387e3fd0f..eb4935127 100644
--- a/apps/client/src/app/pages/portfolio/portfolio-page.component.ts
+++ b/apps/client/src/app/pages/portfolio/portfolio-page.component.ts
@@ -2,7 +2,13 @@ import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces';
import { internalRoutes } from '@ghostfolio/common/routes/routes';
-import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ OnInit
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { addIcons } from 'ionicons';
@@ -14,8 +20,6 @@ import {
swapVerticalOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page has-tabs' },
@@ -24,20 +28,19 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./portfolio-page.scss'],
templateUrl: './portfolio-page.html'
})
-export class PortfolioPageComponent implements OnDestroy, OnInit {
+export class PortfolioPageComponent implements OnInit {
public deviceType: string;
public tabs: TabConfiguration[] = [];
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.tabs = [
@@ -87,9 +90,4 @@ export class PortfolioPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts b/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts
index aeebf4a6b..a4fdc3f61 100644
--- a/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts
+++ b/apps/client/src/app/pages/portfolio/portfolio-page.routes.ts
@@ -15,22 +15,22 @@ export const routes: Routes = [
import('./analysis/analysis-page.routes').then((m) => m.routes)
},
{
- path: internalRoutes.portfolio.subRoutes.activities.path,
+ path: internalRoutes.portfolio.subRoutes?.activities.path,
loadChildren: () =>
import('./activities/activities-page.routes').then((m) => m.routes)
},
{
- path: internalRoutes.portfolio.subRoutes.allocations.path,
+ path: internalRoutes.portfolio.subRoutes?.allocations.path,
loadChildren: () =>
import('./allocations/allocations-page.routes').then((m) => m.routes)
},
{
- path: internalRoutes.portfolio.subRoutes.fire.path,
+ path: internalRoutes.portfolio.subRoutes?.fire.path,
loadChildren: () =>
import('./fire/fire-page.routes').then((m) => m.routes)
},
{
- path: internalRoutes.portfolio.subRoutes.xRay.path,
+ path: internalRoutes.portfolio.subRoutes?.xRay.path,
loadChildren: () =>
import('./x-ray/x-ray-page.routes').then((m) => m.routes)
}
diff --git a/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.ts b/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.ts
index 70b748b10..e97fd4876 100644
--- a/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.ts
+++ b/apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.ts
@@ -12,7 +12,8 @@ import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { DataService } from '@ghostfolio/ui/services';
import { NgClass } from '@angular/common';
-import { ChangeDetectorRef, Component } from '@angular/core';
+import { ChangeDetectorRef, Component, DestroyRef } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import {
@@ -21,7 +22,6 @@ import {
warningOutline
} from 'ionicons/icons';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
-import { Subject, takeUntil } from 'rxjs';
@Component({
imports: [
@@ -48,11 +48,10 @@ export class GfXRayPageComponent {
public statistics: PortfolioReportResponse['xRay']['statistics'];
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private impersonationStorageService: ImpersonationStorageService,
private userService: UserService
) {
@@ -62,13 +61,13 @@ export class GfXRayPageComponent {
public ngOnInit() {
this.impersonationStorageService
.onChangeHasImpersonation()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((impersonationId) => {
this.hasImpersonationId = !!impersonationId;
});
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -91,28 +90,23 @@ export class GfXRayPageComponent {
public onRulesUpdated(event: UpdateUserSettingDto) {
this.dataService
.putUserSetting(event)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.userService
.get(true)
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe();
this.initializePortfolioReport();
});
}
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
-
private initializePortfolioReport() {
this.isLoading = true;
this.dataService
.fetchPortfolioReport()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ xRay: { categories, statistics } }) => {
this.categories = categories;
this.inactiveRules = this.mergeInactiveRules(categories);
diff --git a/apps/client/src/app/pages/public/public-page.component.ts b/apps/client/src/app/pages/public/public-page.component.ts
index fe4b295db..9ccbbf52e 100644
--- a/apps/client/src/app/pages/public/public-page.component.ts
+++ b/apps/client/src/app/pages/public/public-page.component.ts
@@ -19,8 +19,10 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatTableDataSource } from '@angular/material/table';
@@ -29,8 +31,8 @@ import { AssetClass } from '@prisma/client';
import { StatusCodes } from 'http-status-codes';
import { isNumber } from 'lodash';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { EMPTY, Subject } from 'rxjs';
-import { catchError, takeUntil } from 'rxjs/operators';
+import { EMPTY } from 'rxjs';
+import { catchError } from 'rxjs/operators';
@Component({
host: { class: 'page' },
@@ -83,12 +85,12 @@ export class GfPublicPageComponent implements OnInit {
public UNKNOWN_KEY = UNKNOWN_KEY;
private accessId: string;
- private unsubscribeSubject = new Subject();
public constructor(
private activatedRoute: ActivatedRoute,
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private router: Router
) {
@@ -110,7 +112,7 @@ export class GfPublicPageComponent implements OnInit {
this.dataService
.fetchPublicPortfolio(this.accessId)
.pipe(
- takeUntil(this.unsubscribeSubject),
+ takeUntilDestroyed(this.destroyRef),
catchError((error) => {
if (error.status === StatusCodes.NOT_FOUND) {
console.error(error);
@@ -246,9 +248,4 @@ export class GfPublicPageComponent implements OnInit {
};
}
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/register/register-page.component.ts b/apps/client/src/app/pages/register/register-page.component.ts
index 21b26944e..db199143f 100644
--- a/apps/client/src/app/pages/register/register-page.component.ts
+++ b/apps/client/src/app/pages/register/register-page.component.ts
@@ -1,4 +1,5 @@
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
+import { UserService } from '@ghostfolio/client/services/user/user.service';
import { InfoItem, LineChartItem } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { GfLogoComponent } from '@ghostfolio/ui/logo';
@@ -7,15 +8,14 @@ import { DataService } from '@ghostfolio/ui/services';
import {
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
import { Router, RouterModule } from '@angular/router';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
import { UserAccountRegistrationDialogParams } from './user-account-registration-dialog/interfaces/interfaces';
import { GfUserAccountRegistrationDialogComponent } from './user-account-registration-dialog/user-account-registration-dialog.component';
@@ -28,7 +28,7 @@ import { GfUserAccountRegistrationDialogComponent } from './user-account-registr
styleUrls: ['./register-page.scss'],
templateUrl: './register-page.html'
})
-export class GfRegisterPageComponent implements OnDestroy, OnInit {
+export class GfRegisterPageComponent implements OnInit {
public deviceType: string;
public hasPermissionForAuthGoogle: boolean;
public hasPermissionForAuthToken: boolean;
@@ -37,18 +37,18 @@ export class GfRegisterPageComponent implements OnDestroy, OnInit {
public historicalDataItems: LineChartItem[];
public info: InfoItem;
- private unsubscribeSubject = new Subject();
-
public constructor(
private dataService: DataService,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private router: Router,
- private tokenStorageService: TokenStorageService
+ private tokenStorageService: TokenStorageService,
+ private userService: UserService
) {
this.info = this.dataService.fetchInfo();
- this.tokenStorageService.signOut();
+ this.userService.signOut();
}
public ngOnInit() {
@@ -93,7 +93,7 @@ export class GfRegisterPageComponent implements OnDestroy, OnInit {
dialogRef
.afterClosed()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((authToken) => {
if (authToken) {
this.tokenStorageService.saveToken(authToken, true);
@@ -102,9 +102,4 @@ export class GfRegisterPageComponent implements OnDestroy, OnInit {
}
});
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.component.ts b/apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.component.ts
index a7707ad3b..cbbe2d29c 100644
--- a/apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.component.ts
+++ b/apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.component.ts
@@ -8,9 +8,11 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
+ DestroyRef,
Inject,
ViewChild
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox';
@@ -26,8 +28,6 @@ import {
checkmarkOutline,
copyOutline
} from 'ionicons/icons';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
import { UserAccountRegistrationDialogParams } from './interfaces/interfaces';
@@ -63,12 +63,11 @@ export class GfUserAccountRegistrationDialogComponent {
public routerLinkAboutTermsOfService =
publicRoutes.about.subRoutes.termsOfService.routerLink;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
@Inject(MAT_DIALOG_DATA) public data: UserAccountRegistrationDialogParams,
- private dataService: DataService
+ private dataService: DataService,
+ private destroyRef: DestroyRef
) {
addIcons({ arrowForwardOutline, checkmarkOutline, copyOutline });
}
@@ -76,7 +75,7 @@ export class GfUserAccountRegistrationDialogComponent {
public createAccount() {
this.dataService
.postUser()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ accessToken, authToken, role }) => {
this.accessToken = accessToken;
this.authToken = authToken;
diff --git a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts
index 112619239..9c86f2c83 100644
--- a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts
+++ b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts
@@ -16,7 +16,7 @@ export class ResourcesGlossaryPageComponent implements OnInit {
public hasPermissionForSubscription: boolean;
public info: InfoItem;
public routerLinkResourcesPersonalFinanceTools =
- publicRoutes.resources.subRoutes.personalFinanceTools.routerLink;
+ publicRoutes.resources.subRoutes?.personalFinanceTools.routerLink;
public constructor(private dataService: DataService) {
this.info = this.dataService.fetchInfo();
diff --git a/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts b/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts
index 2f864155a..4096dfecd 100644
--- a/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts
+++ b/apps/client/src/app/pages/resources/glossary/resources-glossary.routes.ts
@@ -8,6 +8,6 @@ export const routes: Routes = [
{
component: ResourcesGlossaryPageComponent,
path: '',
- title: publicRoutes.resources.subRoutes.glossary.title
+ title: publicRoutes.resources.subRoutes?.glossary.title
}
];
diff --git a/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts b/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts
index f9f65f44a..eb8c39e24 100644
--- a/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts
+++ b/apps/client/src/app/pages/resources/guides/resources-guides.routes.ts
@@ -8,6 +8,6 @@ export const routes: Routes = [
{
component: ResourcesGuidesComponent,
path: '',
- title: publicRoutes.resources.subRoutes.guides.title
+ title: publicRoutes.resources.subRoutes?.guides.title
}
];
diff --git a/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts b/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts
index 4bcb66789..a56dc7cf7 100644
--- a/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts
+++ b/apps/client/src/app/pages/resources/markets/resources-markets.routes.ts
@@ -8,6 +8,6 @@ export const routes: Routes = [
{
component: ResourcesMarketsComponent,
path: '',
- title: publicRoutes.resources.subRoutes.markets.title
+ title: publicRoutes.resources.subRoutes?.markets.title
}
];
diff --git a/apps/client/src/app/pages/resources/overview/resources-overview.component.html b/apps/client/src/app/pages/resources/overview/resources-overview.component.html
index 3a6f18d40..86a334c79 100644
--- a/apps/client/src/app/pages/resources/overview/resources-overview.component.html
+++ b/apps/client/src/app/pages/resources/overview/resources-overview.component.html
@@ -7,7 +7,9 @@
}
diff --git a/apps/client/src/app/pages/resources/overview/resources-overview.component.ts b/apps/client/src/app/pages/resources/overview/resources-overview.component.ts
index 81338200f..310f16a5e 100644
--- a/apps/client/src/app/pages/resources/overview/resources-overview.component.ts
+++ b/apps/client/src/app/pages/resources/overview/resources-overview.component.ts
@@ -20,20 +20,20 @@ export class ResourcesOverviewComponent {
{
description:
'Explore our guides to help you get started with investing and managing your finances.',
- routerLink: publicRoutes.resources.subRoutes.guides.routerLink,
- title: publicRoutes.resources.subRoutes.guides.title
+ routerLink: publicRoutes.resources.subRoutes?.guides.routerLink,
+ title: publicRoutes.resources.subRoutes?.guides.title
},
{
description:
'Access various market resources and tools to stay informed about financial markets.',
- routerLink: publicRoutes.resources.subRoutes.markets.routerLink,
- title: publicRoutes.resources.subRoutes.markets.title
+ routerLink: publicRoutes.resources.subRoutes?.markets.routerLink,
+ title: publicRoutes.resources.subRoutes?.markets.title
},
{
description:
'Learn key financial terms and concepts in our comprehensive glossary.',
- routerLink: publicRoutes.resources.subRoutes.glossary.routerLink,
- title: publicRoutes.resources.subRoutes.glossary.title
+ routerLink: publicRoutes.resources.subRoutes?.glossary.routerLink,
+ title: publicRoutes.resources.subRoutes?.glossary.title
}
];
}
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts
index c4cfd184e..bb4ae3889 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts
@@ -1,13 +1,12 @@
import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools';
import { publicRoutes } from '@ghostfolio/common/routes/routes';
-import { Component, OnDestroy } from '@angular/core';
+import { Component } from '@angular/core';
import { MatCardModule } from '@angular/material/card';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { chevronForwardOutline } from 'ionicons/icons';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page' },
@@ -16,7 +15,7 @@ import { Subject } from 'rxjs';
styleUrls: ['./personal-finance-tools-page.scss'],
templateUrl: './personal-finance-tools-page.html'
})
-export class PersonalFinanceToolsPageComponent implements OnDestroy {
+export class PersonalFinanceToolsPageComponent {
public pathAlternativeTo =
publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product
.path + '-';
@@ -28,14 +27,7 @@ export class PersonalFinanceToolsPageComponent implements OnDestroy {
});
public routerLinkAbout = publicRoutes.about.routerLink;
- private unsubscribeSubject = new Subject();
-
public constructor() {
addIcons({ chevronForwardOutline });
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts
index 9081f6b28..081c34000 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.routes.ts
@@ -11,7 +11,7 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: PersonalFinanceToolsPageComponent,
path: '',
- title: publicRoutes.resources.subRoutes.personalFinanceTools.title
+ title: publicRoutes.resources.subRoutes?.personalFinanceTools.title
},
...personalFinanceTools.map(({ alias, key, name }) => {
return {
@@ -23,8 +23,8 @@ export const routes: Routes = [
return GfProductPageComponent;
}
),
- path: `${publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product.path}-${alias ?? key}`,
- title: `${publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product.title} ${name}`
+ path: `${publicRoutes.resources.subRoutes?.personalFinanceTools.subRoutes?.product.path}-${alias ?? key}`,
+ title: `${publicRoutes.resources.subRoutes?.personalFinanceTools.subRoutes?.product.title} ${name}`
};
})
];
diff --git a/apps/client/src/app/pages/resources/resources-page.component.ts b/apps/client/src/app/pages/resources/resources-page.component.ts
index 9db996f57..c25ef00d6 100644
--- a/apps/client/src/app/pages/resources/resources-page.component.ts
+++ b/apps/client/src/app/pages/resources/resources-page.component.ts
@@ -13,7 +13,6 @@ import {
readerOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
@Component({
host: { class: 'page has-tabs' },
@@ -47,8 +46,6 @@ export class ResourcesPageComponent implements OnInit {
}
];
- private unsubscribeSubject = new Subject();
-
public constructor(private deviceService: DeviceDetectorService) {
addIcons({ bookOutline, libraryOutline, newspaperOutline, readerOutline });
}
@@ -56,9 +53,4 @@ export class ResourcesPageComponent implements OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/resources/resources-page.routes.ts b/apps/client/src/app/pages/resources/resources-page.routes.ts
index 107988238..6e59f0995 100644
--- a/apps/client/src/app/pages/resources/resources-page.routes.ts
+++ b/apps/client/src/app/pages/resources/resources-page.routes.ts
@@ -16,22 +16,22 @@ export const routes: Routes = [
import('./overview/resources-overview.routes').then((m) => m.routes)
},
{
- path: publicRoutes.resources.subRoutes.glossary.path,
+ path: publicRoutes.resources.subRoutes?.glossary.path,
loadChildren: () =>
import('./glossary/resources-glossary.routes').then((m) => m.routes)
},
{
- path: publicRoutes.resources.subRoutes.guides.path,
+ path: publicRoutes.resources.subRoutes?.guides.path,
loadChildren: () =>
import('./guides/resources-guides.routes').then((m) => m.routes)
},
{
- path: publicRoutes.resources.subRoutes.markets.path,
+ path: publicRoutes.resources.subRoutes?.markets.path,
loadChildren: () =>
import('./markets/resources-markets.routes').then((m) => m.routes)
},
{
- path: publicRoutes.resources.subRoutes.personalFinanceTools.path,
+ path: publicRoutes.resources.subRoutes?.personalFinanceTools.path,
loadChildren: () =>
import('./personal-finance-tools/personal-finance-tools-page.routes').then(
(m) => m.routes
diff --git a/apps/client/src/app/pages/user-account/user-account-page.component.ts b/apps/client/src/app/pages/user-account/user-account-page.component.ts
index 7341660f2..24c150408 100644
--- a/apps/client/src/app/pages/user-account/user-account-page.component.ts
+++ b/apps/client/src/app/pages/user-account/user-account-page.component.ts
@@ -6,16 +6,16 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
- OnDestroy,
+ DestroyRef,
OnInit
} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { diamondOutline, keyOutline, settingsOutline } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject, takeUntil } from 'rxjs';
@Component({
host: { class: 'page has-tabs' },
@@ -25,20 +25,19 @@ import { Subject, takeUntil } from 'rxjs';
styleUrls: ['./user-account-page.scss'],
templateUrl: './user-account-page.html'
})
-export class GfUserAccountPageComponent implements OnDestroy, OnInit {
+export class GfUserAccountPageComponent implements OnInit {
public deviceType: string;
public tabs: TabConfiguration[] = [];
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@@ -73,9 +72,4 @@ export class GfUserAccountPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/user-account/user-account-page.routes.ts b/apps/client/src/app/pages/user-account/user-account-page.routes.ts
index 5d0f5b202..7eac1298e 100644
--- a/apps/client/src/app/pages/user-account/user-account-page.routes.ts
+++ b/apps/client/src/app/pages/user-account/user-account-page.routes.ts
@@ -18,14 +18,14 @@ export const routes: Routes = [
title: internalRoutes.account.title
},
{
- path: internalRoutes.account.subRoutes.membership.path,
+ path: internalRoutes.account.subRoutes?.membership.path,
component: GfUserAccountMembershipComponent,
- title: internalRoutes.account.subRoutes.membership.title
+ title: internalRoutes.account.subRoutes?.membership.title
},
{
- path: internalRoutes.account.subRoutes.access.path,
+ path: internalRoutes.account.subRoutes?.access.path,
component: GfUserAccountAccessComponent,
- title: internalRoutes.account.subRoutes.access.title
+ title: internalRoutes.account.subRoutes?.access.title
}
],
component: GfUserAccountPageComponent,
diff --git a/apps/client/src/app/pages/webauthn/webauthn-page.component.ts b/apps/client/src/app/pages/webauthn/webauthn-page.component.ts
index 74631eeca..8e7e58fd1 100644
--- a/apps/client/src/app/pages/webauthn/webauthn-page.component.ts
+++ b/apps/client/src/app/pages/webauthn/webauthn-page.component.ts
@@ -2,12 +2,16 @@ import { TokenStorageService } from '@ghostfolio/client/services/token-storage.s
import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service';
import { GfLogoComponent } from '@ghostfolio/ui/logo';
-import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ OnInit
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { Router } from '@angular/router';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page' },
@@ -16,13 +20,12 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./webauthn-page.scss'],
templateUrl: './webauthn-page.html'
})
-export class GfWebauthnPageComponent implements OnDestroy, OnInit {
+export class GfWebauthnPageComponent implements OnInit {
public hasError = false;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
+ private destroyRef: DestroyRef,
private router: Router,
private tokenStorageService: TokenStorageService,
private webAuthnService: WebAuthnService
@@ -35,7 +38,7 @@ export class GfWebauthnPageComponent implements OnDestroy, OnInit {
public deregisterDevice() {
this.webAuthnService
.deregister()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.router.navigate(['/']);
});
@@ -46,7 +49,7 @@ export class GfWebauthnPageComponent implements OnDestroy, OnInit {
this.webAuthnService
.login()
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(
({ authToken }) => {
this.tokenStorageService.saveToken(authToken, false);
@@ -59,9 +62,4 @@ export class GfWebauthnPageComponent implements OnDestroy, OnInit {
}
);
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/zen/zen-page.component.ts b/apps/client/src/app/pages/zen/zen-page.component.ts
index 280f33c25..633f15885 100644
--- a/apps/client/src/app/pages/zen/zen-page.component.ts
+++ b/apps/client/src/app/pages/zen/zen-page.component.ts
@@ -2,15 +2,19 @@ import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces';
import { internalRoutes } from '@ghostfolio/common/routes/routes';
-import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ OnInit
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { albumsOutline, analyticsOutline } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
-import { Subject } from 'rxjs';
-import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page has-tabs' },
@@ -19,20 +23,19 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./zen-page.scss'],
templateUrl: './zen-page.html'
})
-export class GfZenPageComponent implements OnDestroy, OnInit {
+export class GfZenPageComponent implements OnInit {
public deviceType: string;
public tabs: TabConfiguration[] = [];
public user: User;
- private unsubscribeSubject = new Subject();
-
public constructor(
private changeDetectorRef: ChangeDetectorRef,
+ private destroyRef: DestroyRef,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
this.userService.stateChanged
- .pipe(takeUntil(this.unsubscribeSubject))
+ .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.tabs = [
@@ -59,9 +62,4 @@ export class GfZenPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
-
- public ngOnDestroy() {
- this.unsubscribeSubject.next();
- this.unsubscribeSubject.complete();
- }
}
diff --git a/apps/client/src/app/pages/zen/zen-page.routes.ts b/apps/client/src/app/pages/zen/zen-page.routes.ts
index 60e163ca4..38929dc85 100644
--- a/apps/client/src/app/pages/zen/zen-page.routes.ts
+++ b/apps/client/src/app/pages/zen/zen-page.routes.ts
@@ -16,9 +16,9 @@ export const routes: Routes = [
component: GfHomeOverviewComponent
},
{
- path: internalRoutes.zen.subRoutes.holdings.path,
+ path: internalRoutes.zen.subRoutes?.holdings.path,
component: GfHomeHoldingsComponent,
- title: internalRoutes.home.subRoutes.holdings.title
+ title: internalRoutes.home.subRoutes?.holdings.title
}
],
component: GfZenPageComponent,
diff --git a/apps/client/src/app/services/import-activities.service.ts b/apps/client/src/app/services/import-activities.service.ts
index 94d8470f7..55b5c44d5 100644
--- a/apps/client/src/app/services/import-activities.service.ts
+++ b/apps/client/src/app/services/import-activities.service.ts
@@ -97,9 +97,7 @@ export class ImportActivitiesService {
isin: null,
marketData: [],
name: symbol,
- scraperConfiguration: null,
sectors: [],
- symbolMapping: {},
url: null
});
}
diff --git a/apps/client/src/app/services/token-storage.service.ts b/apps/client/src/app/services/token-storage.service.ts
index 5b9a29a08..f54aab828 100644
--- a/apps/client/src/app/services/token-storage.service.ts
+++ b/apps/client/src/app/services/token-storage.service.ts
@@ -1,19 +1,11 @@
-import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service';
-
import { Injectable } from '@angular/core';
import { KEY_TOKEN } from './settings-storage.service';
-import { UserService } from './user/user.service';
@Injectable({
providedIn: 'root'
})
export class TokenStorageService {
- public constructor(
- private userService: UserService,
- private webAuthnService: WebAuthnService
- ) {}
-
public getToken(): string {
return (
window.sessionStorage.getItem(KEY_TOKEN) ||
@@ -25,23 +17,7 @@ export class TokenStorageService {
if (staySignedIn) {
window.localStorage.setItem(KEY_TOKEN, token);
}
- window.sessionStorage.setItem(KEY_TOKEN, token);
- }
-
- public signOut() {
- const utmSource = window.localStorage.getItem('utm_source');
- if (this.webAuthnService.isEnabled()) {
- this.webAuthnService.deregister().subscribe();
- }
-
- window.localStorage.clear();
- window.sessionStorage.clear();
-
- this.userService.remove();
-
- if (utmSource) {
- window.localStorage.setItem('utm_source', utmSource);
- }
+ window.sessionStorage.setItem(KEY_TOKEN, token);
}
}
diff --git a/apps/client/src/app/services/user/user.service.ts b/apps/client/src/app/services/user/user.service.ts
index bd9d7d04c..44b63e056 100644
--- a/apps/client/src/app/services/user/user.service.ts
+++ b/apps/client/src/app/services/user/user.service.ts
@@ -1,3 +1,4 @@
+import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service';
import { Filter, User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
@@ -26,7 +27,8 @@ export class UserService extends ObservableStore {
public constructor(
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
- private http: HttpClient
+ private http: HttpClient,
+ private webAuthnService: WebAuthnService
) {
super({ trackStateHistory: true });
@@ -93,10 +95,40 @@ export class UserService extends ObservableStore {
return this.getFilters().length > 0;
}
- public remove() {
+ public reset() {
this.setState({ user: null }, UserStoreActions.RemoveUser);
}
+ public signOut() {
+ const utmSource = window.localStorage.getItem('utm_source');
+
+ if (this.webAuthnService.isEnabled()) {
+ this.webAuthnService.deregister().subscribe();
+ }
+
+ window.localStorage.clear();
+ window.sessionStorage.clear();
+
+ void this.clearAllCookies();
+
+ this.reset();
+
+ if (utmSource) {
+ window.localStorage.setItem('utm_source', utmSource);
+ }
+ }
+
+ private async clearAllCookies() {
+ if (!('cookieStore' in window)) {
+ console.warn('Cookie Store API not available in this browser');
+ return;
+ }
+
+ const cookies = await cookieStore.getAll();
+
+ await Promise.all(cookies.map(({ name }) => cookieStore.delete(name)));
+ }
+
private fetchUser(): Observable {
return this.http.get('/api/v1/user').pipe(
map((user) => {
diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf
index a6bec7df3..566d91cc7 100644
--- a/apps/client/src/locales/messages.ca.xlf
+++ b/apps/client/src/locales/messages.ca.xlf
@@ -38,7 +38,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -403,7 +403,7 @@
Balanç de Caixa
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -427,7 +427,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -439,7 +439,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -455,7 +455,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -499,7 +499,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -511,7 +511,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -531,15 +531,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -587,11 +587,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -619,11 +619,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -647,7 +651,7 @@
Realment vol suprimir aquest compte?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -655,7 +659,7 @@
Tipus
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -675,7 +679,7 @@
Perfil d’Actiu
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -683,11 +687,11 @@
Dades Històriques de Mercat
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -695,7 +699,7 @@
Origen de les Dades
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -707,7 +711,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -719,7 +723,7 @@
Prioritat
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -727,7 +731,7 @@
Intents
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -735,7 +739,7 @@
Creat
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -743,7 +747,7 @@
Finalitzat
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -751,11 +755,11 @@
Estat
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -771,7 +775,7 @@
Aturar Processos
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -779,7 +783,7 @@
Veure les Dades
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -787,7 +791,7 @@
Veure Stacktrace
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -795,7 +799,7 @@
Executar Procés
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -803,7 +807,7 @@
Suprimir Procés
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -819,7 +823,7 @@
Data
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -855,7 +859,7 @@
Punts de referència
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -863,11 +867,11 @@
Divises
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -875,7 +879,7 @@
ETFs sense País
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -883,7 +887,7 @@
ETFs sense Sector
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -891,7 +895,7 @@
Filtra per...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -931,7 +935,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -999,7 +1003,7 @@
Oooh! No s’han pogut recopilar les dades históriques.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -1007,7 +1011,7 @@
El preu de mercat actual és
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -1031,7 +1035,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -1063,7 +1067,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -1075,7 +1079,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -1083,7 +1087,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -1095,7 +1099,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -1107,7 +1111,7 @@
Mapatge de Símbols
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -1123,7 +1127,7 @@
Configuració del Proveïdor de Dades
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -1131,7 +1135,7 @@
Prova
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -1139,11 +1143,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1159,7 +1163,7 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -1167,7 +1171,7 @@
Notes
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -1175,7 +1179,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -1219,7 +1223,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1227,7 +1231,7 @@
Està segur qeu vol eliminar aquest cupó?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -1235,7 +1239,7 @@
Està segur que vol eliminar aquest missatge del sistema?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -1243,7 +1247,7 @@
Està segur que vol depurar el cache?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -1251,7 +1255,7 @@
Si us plau, afegeixi el seu missatge del sistema:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -1315,7 +1319,7 @@
Recollida de Dades
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -1387,7 +1391,15 @@
Està segur que vol eliminar aquesta plataforma?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
+
+
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
@@ -1411,7 +1423,7 @@
Current year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -1427,7 +1439,7 @@
Plataformes
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -1435,7 +1447,7 @@
Etiquetes
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1459,7 +1471,7 @@
Està segur que vol eliminar aquesta etiqueta?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -1519,7 +1531,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -1551,11 +1563,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -1603,7 +1615,7 @@
Punt de Referència
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -1679,15 +1691,15 @@
Oooh! El testimoni de seguretat és incorrecte.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -1715,7 +1727,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1743,7 +1755,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -1767,7 +1779,7 @@
Informar d’un Problema amb les Dades
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1775,7 +1787,7 @@
en Actiiu
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -1783,7 +1795,7 @@
Finalitzat
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -1807,7 +1819,7 @@
Gestionar Activitats
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -1815,11 +1827,11 @@
Por
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1831,11 +1843,11 @@
Cobdícia
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -1939,7 +1951,7 @@
Current week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1959,7 +1971,7 @@
Import total
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -2095,7 +2107,7 @@
Rendiment brut absolut
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -2103,7 +2115,7 @@
Rendiment net absolut
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -2115,7 +2127,7 @@
Rendiment net
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -2127,7 +2139,7 @@
Actius totals
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -2135,7 +2147,7 @@
Actius
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -2143,7 +2155,7 @@
Poder adquisitiu
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -2151,7 +2163,7 @@
Exclòs de l’anàlisi
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -2159,7 +2171,7 @@
Passius
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -2171,7 +2183,7 @@
Valor net
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -2179,7 +2191,7 @@
Rendiment anualitzat
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -2339,7 +2351,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -2347,11 +2359,11 @@
YTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -2359,11 +2371,11 @@
1 any
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -2371,11 +2383,11 @@
5 anys
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -2391,11 +2403,11 @@
Màx
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -2451,7 +2463,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -2535,7 +2547,7 @@
Automàtic
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2547,7 +2559,7 @@
De debò vols tancar el teu compte de Ghostfolio?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -2555,7 +2567,7 @@
De debò vols eliminar aquest mètode d’inici de sessió?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -2563,7 +2575,7 @@
Include in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -2571,7 +2583,7 @@
Ups! Hi ha hagut un error en configurar l’autenticació biomètrica.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -2619,7 +2631,7 @@
Localització
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2763,7 +2775,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2783,7 +2795,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2799,7 +2811,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -2935,11 +2947,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -3039,7 +3051,7 @@
Dades de mercat
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -3073,6 +3085,10 @@
Overview
Visió general
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -3091,11 +3107,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -3219,11 +3235,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -3239,7 +3255,7 @@
Com que ja has iniciat sessió, no pots accedir al compte de demostració.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -3267,7 +3283,7 @@
General
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -3275,7 +3291,7 @@
Núvol
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -3287,7 +3303,7 @@
Autoallotjament
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -3436,7 +3452,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -3488,7 +3504,7 @@
Mercats
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -3512,7 +3528,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -3960,7 +3976,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -3996,7 +4012,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -4016,11 +4032,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -4100,7 +4116,7 @@
Actualitzar el saldo d’efectiu
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -4108,7 +4124,7 @@
Preu unitari
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -4136,7 +4152,7 @@
Importar dividends
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -4152,7 +4168,7 @@
S’estan important dades...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -4160,7 +4176,7 @@
La importació s’ha completat
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -4176,7 +4192,7 @@
S’estan validant les dades...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -4348,7 +4364,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -4372,7 +4388,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -4380,7 +4396,7 @@
Latest activities
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -4392,7 +4408,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -4404,7 +4420,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -4480,7 +4496,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -4488,11 +4504,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -4512,11 +4528,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -4536,7 +4552,7 @@
Mensualment
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -4544,7 +4560,7 @@
Anualment
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -4552,7 +4568,7 @@
Close Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -4848,11 +4864,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -4876,7 +4892,7 @@
Continents
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -4884,7 +4900,7 @@
Vols refinar la teva estratègia d’inversió personal ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -4900,7 +4916,7 @@
Ghostfolio us permet fer un seguiment de la vostra riquesa.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -4930,6 +4946,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Personal Finance Tools
@@ -5273,7 +5293,7 @@
Pertinença
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5341,7 +5361,7 @@
Realment voleu eliminar el saldo d’aquest compte?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5405,7 +5425,7 @@
De veritat vols suprimir aquestes activitats?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -5413,7 +5433,7 @@
Realment vols suprimir aquesta activitat?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -5421,7 +5441,7 @@
Setmana fins avui
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5429,11 +5449,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5441,7 +5461,7 @@
Mes fins a la data
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5449,11 +5469,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5461,7 +5481,7 @@
Any fins a la data
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5469,7 +5489,7 @@
any
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -5481,7 +5501,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -5489,11 +5509,11 @@
anys
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -5501,7 +5521,7 @@
Perfils d’actius
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -5641,7 +5661,7 @@
Dipòsit
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -5653,11 +5673,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -5669,7 +5689,7 @@
Estalvi
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -5697,7 +5717,7 @@
Mostra-ho tot
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -5741,7 +5761,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5749,7 +5769,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -5773,7 +5793,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5781,7 +5801,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -5833,7 +5853,7 @@
Fons d’emergència
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -5909,7 +5929,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -5920,6 +5940,14 @@
27
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Provisió de jubilació
@@ -5949,7 +5977,7 @@
Símbol
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -5965,7 +5993,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -6037,7 +6065,7 @@
Comissió
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -6081,7 +6109,7 @@
Efectiu
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -6137,7 +6165,7 @@
Authentication
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -6281,7 +6309,7 @@
Vàlid fins a
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -6305,7 +6333,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -6313,11 +6341,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -6661,7 +6689,7 @@
Error
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6713,7 +6741,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6745,7 +6773,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6753,7 +6781,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6765,7 +6793,7 @@
Close
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6791,13 +6819,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6809,7 +6841,7 @@
Role
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6833,7 +6865,7 @@
Portfolio Snapshot
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6900,6 +6932,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
From the beginning
@@ -7065,7 +7105,7 @@
Set API key
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7101,7 +7141,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7117,7 +7157,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7171,7 +7211,7 @@
of
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7179,7 +7219,7 @@
daily requests
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7187,7 +7227,7 @@
Remove API key
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7195,7 +7235,7 @@
Do you really want to delete the API key?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7215,7 +7255,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7287,7 +7327,7 @@
Save
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7323,11 +7363,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7339,7 +7379,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7363,7 +7403,7 @@
Please enter your Ghostfolio API key.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7379,7 +7419,7 @@
AI prompt has been copied to the clipboard
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7395,7 +7435,7 @@
Lazy
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7403,7 +7443,7 @@
Instant
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7411,7 +7451,7 @@
Default Market Price
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7419,7 +7459,7 @@
Mode
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7427,7 +7467,7 @@
Selector
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7435,7 +7475,7 @@
HTTP Request Headers
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7443,7 +7483,7 @@
end of day
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7451,7 +7491,7 @@
real-time
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7459,7 +7499,7 @@
Open Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7479,7 +7519,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7491,7 +7531,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7499,11 +7539,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7607,11 +7647,11 @@
Security token
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7619,7 +7659,7 @@
Do you really want to generate a new security token for this user?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7627,7 +7667,7 @@
Find account, holding or page...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7692,7 +7732,7 @@
( ) is already in use.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7700,7 +7740,7 @@
An error occurred while updating to ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
someone
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Do you really want to delete this item?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,7 +7877,7 @@
Demo user account has been synced.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7872,7 +7912,7 @@
150
-
+
Fee Ratio
Fee Ratio
@@ -7880,17 +7920,17 @@
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8051,7 +8091,7 @@
Current month
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
new
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Do you really want to generate a new security token?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8244,7 +8284,7 @@
Stocks
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Cryptocurrencies
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Manage Asset Profile
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8696,7 +8736,7 @@
Registration Date
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf
index 44ee607c3..ff12aebcb 100644
--- a/apps/client/src/locales/messages.de.xlf
+++ b/apps/client/src/locales/messages.de.xlf
@@ -50,7 +50,7 @@
Typ
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -106,7 +106,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -118,7 +118,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -134,7 +134,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -178,15 +178,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -234,11 +234,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -266,11 +266,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -294,7 +298,7 @@
Möchtest du dieses Konto wirklich löschen?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -302,7 +306,7 @@
Jobs löschen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -310,7 +314,7 @@
Datenquelle
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -322,7 +326,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -334,7 +338,7 @@
Versuche
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -342,7 +346,7 @@
Erstellt
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -350,7 +354,7 @@
Abgeschlossen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -358,11 +362,11 @@
Status
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -378,7 +382,7 @@
Anlageprofile
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -390,11 +394,11 @@
Historische Marktdaten
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -402,7 +406,7 @@
Daten anzeigen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -410,7 +414,7 @@
Stacktrace anzeigen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -418,7 +422,7 @@
Job löschen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -434,7 +438,7 @@
Datum
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -502,7 +506,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -510,7 +514,7 @@
Möchtest du diesen Gutscheincode wirklich löschen?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -518,7 +522,7 @@
Möchtest du den Cache wirklich leeren?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -526,7 +530,7 @@
Bitte gebe deine Systemmeldung ein:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -682,7 +686,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -738,7 +742,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -754,7 +758,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -774,15 +778,15 @@
Ups! Falsches Sicherheits-Token.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -790,7 +794,7 @@
Aktivitäten verwalten
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -906,7 +910,7 @@
Absolute Brutto Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -914,7 +918,7 @@
Absolute Netto Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -926,7 +930,7 @@
Netto Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -938,7 +942,7 @@
Gesamtanlagevermögen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -946,7 +950,7 @@
Kaufkraft
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -954,7 +958,7 @@
Gesamtvermögen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -962,7 +966,7 @@
Performance pro Jahr
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -982,7 +986,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -990,7 +994,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -1002,7 +1006,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -1014,7 +1018,7 @@
Tags
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1030,7 +1034,7 @@
Datenfehler melden
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1058,7 +1062,7 @@
Alle anzeigen
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -1070,7 +1074,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -1078,11 +1082,11 @@
YTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -1090,11 +1094,11 @@
1J
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -1102,11 +1106,11 @@
5J
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -1122,11 +1126,11 @@
Max
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -1142,7 +1146,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -1234,7 +1238,7 @@
Möchtest du diese Anmeldemethode wirklich löschen?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -1294,7 +1298,7 @@
Lokalität
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1342,7 +1346,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -1390,11 +1394,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -1434,7 +1438,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -1446,7 +1450,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -1626,7 +1630,7 @@
Da du bereits eingeloggt bist, kannst du nicht auf die Live Demo zugreifen.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -1672,6 +1676,10 @@
Overview
Übersicht
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -1690,11 +1698,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -1710,7 +1718,7 @@
Märkte
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -1734,7 +1742,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -1834,7 +1842,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -1930,7 +1938,7 @@
Aktuelle Woche
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1974,7 +1982,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1986,7 +1994,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -2002,7 +2010,7 @@
Stückpreis
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -2014,7 +2022,7 @@
Kommentar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -2022,7 +2030,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -2034,7 +2042,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -2054,11 +2062,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -2078,7 +2086,7 @@
Daten importieren...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -2086,7 +2094,7 @@
Der Import wurde abgeschlossen
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -2158,7 +2166,7 @@
Kontinente
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -2174,7 +2182,7 @@
Ghostfolio verschafft dir den Überblick über dein Vermögen.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -2204,6 +2212,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Resources
@@ -2322,7 +2334,7 @@
Möchtest du diese Aktivität wirklich löschen?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -2394,7 +2406,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2406,7 +2418,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2454,7 +2466,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -2478,7 +2490,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -2486,7 +2498,7 @@
Neueste Aktivitäten
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -2498,7 +2510,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -2510,7 +2522,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -2526,7 +2538,7 @@
Monatlich
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -2542,7 +2554,7 @@
Einlage
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -2554,11 +2566,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -2570,7 +2582,7 @@
Ersparnisse
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -2594,11 +2606,11 @@
Angst
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -2610,11 +2622,11 @@
Gier
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -2626,7 +2638,7 @@
Filtern nach...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -2662,11 +2674,11 @@
Das Formular konnte nicht validiert werden
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -2682,7 +2694,7 @@
Benchmark
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -2702,7 +2714,7 @@
Von der Analyse ausgenommen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -2710,7 +2722,7 @@
Automatisch
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2746,7 +2758,7 @@
Gesamtbetrag
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -2798,7 +2810,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -2806,7 +2818,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -2822,7 +2834,7 @@
Symbol
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -2838,7 +2850,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -2862,7 +2874,7 @@
Bargeld
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -2910,7 +2922,7 @@
Authentifizierung
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -2974,7 +2986,7 @@
Notfallfonds
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -2994,7 +3006,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -3006,7 +3018,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -3014,11 +3026,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -3122,7 +3134,7 @@
Symbol Zuordnung
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -3154,7 +3166,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -3162,11 +3174,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -3186,7 +3198,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -3194,7 +3206,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -3214,7 +3226,7 @@
Daten validieren...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3230,7 +3242,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -3238,7 +3250,7 @@
Marktdaten
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -3290,7 +3302,7 @@
Jährlich
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -3298,7 +3310,7 @@
Dividenden importieren
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3314,7 +3326,7 @@
Gültig bis
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -3353,6 +3365,14 @@
22
+
+ No Activities
+ Keine Aktivitäten
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Altersvorsorge
@@ -3626,11 +3646,11 @@
Das Anlageprofil konnte nicht gespeichert werden
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -3650,7 +3670,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -3822,7 +3842,7 @@
Möchtest du diese Aktivitäten wirklich löschen?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3833,6 +3853,14 @@
306
+
+ Explore
+ Entdecke
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
+
+
By
Bis
@@ -3854,7 +3882,7 @@
Aktuelles Jahr
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -3870,11 +3898,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -3890,7 +3918,7 @@
Das Anlageprofil wurde gespeichert
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -3898,7 +3926,7 @@
Möchtest du diese Plattform wirklich löschen?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
@@ -3906,7 +3934,7 @@
Plattformen
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -3914,7 +3942,7 @@
Cash-Bestand aktualisieren
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -4094,7 +4122,7 @@
Verbindlichkeiten
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -4250,7 +4278,7 @@
Scraper Konfiguration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -4494,7 +4522,7 @@
ETFs ohne Länder
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -4502,7 +4530,7 @@
ETFs ohne Sektoren
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -4510,7 +4538,7 @@
Anlagevermögen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -4682,7 +4710,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -4738,11 +4766,11 @@
Währungen
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -4790,11 +4818,11 @@
Die Scraper Konfiguration konnte nicht geparsed werden
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -5456,7 +5484,7 @@
Gebühr
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5488,7 +5516,7 @@
Möchtest du diesen Tag wirklich löschen?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -5556,7 +5584,7 @@
Mitgliedschaft
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5588,7 +5616,7 @@
Anlageprofil
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -5712,7 +5740,7 @@
Ups! Die historischen Daten konnten nicht geparsed werden.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -5720,7 +5748,7 @@
Möchtest du diese Systemmeldung wirklich löschen?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -5744,7 +5772,7 @@
Cash-Bestände
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5764,7 +5792,7 @@
Möchtest du diesen Cash-Bestand wirklich löschen?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5780,7 +5808,7 @@
Der aktuelle Marktpreis ist
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5788,7 +5816,7 @@
Test
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5876,11 +5904,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5900,7 +5928,7 @@
Position abschliessen
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5940,7 +5968,7 @@
Seit Wochenbeginn
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5948,11 +5976,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5960,7 +5988,7 @@
Seit Monatsbeginn
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5968,11 +5996,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5980,7 +6008,7 @@
Seit Jahresbeginn
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -6016,7 +6044,7 @@
Jahr
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6028,7 +6056,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6036,11 +6064,11 @@
Jahre
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6056,7 +6084,7 @@
Finanzmarktdaten synchronisieren
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6068,7 +6096,7 @@
Allgemein
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6076,7 +6104,7 @@
Cloud
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6088,7 +6116,7 @@
Self-Hosting
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6129,7 +6157,7 @@
Aktiv
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6137,7 +6165,7 @@
Abgeschlossen
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6169,7 +6197,7 @@
Job ausführen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6177,7 +6205,7 @@
Priorität
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6233,7 +6261,7 @@
Möchtest du dieses Ghostfolio Konto wirklich schliessen?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6281,7 +6309,7 @@
Berücksichtigen in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6289,7 +6317,7 @@
Ups! Beim Einrichten der biometrischen Authentifizierung ist ein Fehler aufgetreten.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6305,7 +6333,7 @@
Benchmarks
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6353,7 +6381,7 @@
Möchtest du deine persönliche Anlagestrategie verfeinern ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6685,7 +6713,7 @@
Fehler
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6737,7 +6765,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6769,7 +6797,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6777,7 +6805,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6789,7 +6817,7 @@
Schliessen
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6815,13 +6843,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6833,7 +6865,7 @@
Rolle
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6857,7 +6889,7 @@
Portfolio Snapshot
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6924,6 +6956,14 @@
42
+
+ has been copied to the clipboard
+ wurde in die Zwischenablage kopiert
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Seit Beginn
@@ -7089,7 +7129,7 @@
API-Schlüssel setzen
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7125,7 +7165,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7141,7 +7181,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7195,7 +7235,7 @@
von
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7203,7 +7243,7 @@
täglichen Anfragen
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7211,7 +7251,7 @@
API-Schlüssel löschen
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7219,7 +7259,7 @@
Möchtest du den API-Schlüssel wirklich löschen?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7239,7 +7279,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7311,7 +7351,7 @@
Speichern
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7347,11 +7387,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7363,7 +7403,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7387,7 +7427,7 @@
Bitte gebe deinen Ghostfolio API-Schlüssel ein.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7403,7 +7443,7 @@
KI-Anweisung wurde in die Zwischenablage kopiert
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7419,7 +7459,7 @@
Verzögert
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7427,7 +7467,7 @@
Sofort
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7435,7 +7475,7 @@
Standardmarktpreis
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7443,7 +7483,7 @@
Modus
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7451,7 +7491,7 @@
Selektor
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7459,7 +7499,7 @@
HTTP Request-Headers
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7467,7 +7507,7 @@
Tagesende
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7475,7 +7515,7 @@
in Echtzeit
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7483,7 +7523,7 @@
Öffne Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7503,7 +7543,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7515,7 +7555,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7523,11 +7563,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7631,11 +7671,11 @@
Sicherheits-Token
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7643,7 +7683,7 @@
Möchtest du für diesen Benutzer wirklich ein neues Sicherheits-Token generieren?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7651,7 +7691,7 @@
Konto, Position oder Seite finden...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7716,7 +7756,7 @@
( ) wird bereits verwendet.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7724,7 +7764,7 @@
Bei der Änderung zu ( ) ist ein Fehler aufgetreten.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
jemand
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Möchtest du diesen Eintrag wirklich löschen?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,12 +7877,12 @@
Demo Benutzerkonto wurde synchronisiert.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
Sync Demo User Account
- Synchronisiere Demo Benutzerkonto
+ Synchronisiere Demo Benutzerkonto
apps/client/src/app/components/admin-overview/admin-overview.html
195
@@ -7872,7 +7912,7 @@
150
-
+
Fee Ratio
Gebührenverhältnis
@@ -7880,17 +7920,17 @@
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ Die Gebühren übersteigen ${thresholdMax}% deines gesamten Investitionsvolumens (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${feeRatio}%) nicht
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ Die Gebühren übersteigen ${thresholdMax}% deines gesamten Investitionsvolumens (${feeRatio}%) nicht
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8051,7 +8091,7 @@
Aktueller Monat
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
neu
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Möchtest du wirklich ein neues Sicherheits-Token generieren?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8244,7 +8284,7 @@
Aktien
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Kryptowährungen
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Anlageprofil verwalten
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8696,7 +8736,7 @@
Registrierungsdatum
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf
index 7564e4d80..26c76ef6c 100644
--- a/apps/client/src/locales/messages.es.xlf
+++ b/apps/client/src/locales/messages.es.xlf
@@ -32,7 +32,7 @@
Grantee
- Beneficiario
+ Usuario autorizado
apps/client/src/app/components/access-table/access-table.component.html
11
@@ -51,7 +51,7 @@
Tipo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -76,7 +76,7 @@
Revoke
- Revoca
+ Revocar
apps/client/src/app/components/access-table/access-table.component.html
96
@@ -92,7 +92,7 @@
Do you really want to revoke this granted access?
- ¿Quieres revocar el acceso concedido?
+ ¿Seguro que quieres revocar el acceso concedido?
apps/client/src/app/components/access-table/access-table.component.ts
113
@@ -107,7 +107,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -119,7 +119,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -135,7 +135,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -179,15 +179,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -224,7 +224,7 @@
Edit
- Edita
+ Editar
apps/client/src/app/components/access-table/access-table.component.html
76
@@ -235,11 +235,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -252,7 +252,7 @@
Delete
- Elimina
+ Eliminar
apps/client/src/app/components/admin-market-data/admin-market-data.html
289
@@ -267,11 +267,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -292,18 +296,18 @@
Do you really want to delete this account?
- ¿Estás seguro de eliminar esta cuenta?
+ ¿Seguro que quieres eliminar esta cuenta?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
Delete Jobs
- Elimina los trabajos
+ Eliminar trabajos
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -311,7 +315,7 @@
Fuente de datos
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -323,7 +327,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -335,7 +339,7 @@
Intentos
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -343,7 +347,7 @@
Creado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -351,7 +355,7 @@
Finalizado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -359,16 +363,16 @@
Estado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
and is driven by the efforts of its contributors
- y es impulsado por los esfuerzos de sus contribuidores
+ y es impulsado por los esfuerzos de sus colaboradores
apps/client/src/app/pages/about/overview/about-overview-page.html
49
@@ -376,10 +380,10 @@
Asset Profiles
- Perfiles de activos.
+ Perfiles de activos
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -391,40 +395,40 @@
Datos históricos del mercado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
View Data
- Visualiza los datos
+ Ver datos
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
View Stacktrace
- Visualiza Stacktrace
+ Ver Stacktrace
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
Delete Job
- Elimina el trabajo
+ Eliminar trabajo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
Details for
- Detalles para
+ Detalles de
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
2
@@ -435,7 +439,7 @@
Fecha
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -468,7 +472,7 @@
First Activity
- Primera actividad
+ Primera operación
apps/client/src/app/components/admin-market-data/admin-market-data.html
147
@@ -488,7 +492,7 @@
Activity Count
- Recuento de actividad
+ Número de operaciones
apps/client/src/app/components/admin-overview/admin-overview.html
19
@@ -503,23 +507,23 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
Do you really want to delete this coupon?
- ¿Estás seguro de eliminar este cupón?
+ ¿Seguro que quieres eliminar este cupón?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
Do you really want to flush the cache?
- ¿Estás seguro de limpiar la caché?
+ ¿Seguro que quieres limpiar la caché?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -527,7 +531,7 @@
Por favor, establece tu mensaje del sistema:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -540,7 +544,7 @@
per User
- por usario
+ por usuario
apps/client/src/app/components/admin-overview/admin-overview.html
28
@@ -548,7 +552,7 @@
Gather Profile Data
- Recoger los datos del perfil
+ Recopilar datos del perfil
apps/client/src/app/components/admin-market-data/admin-market-data.html
234
@@ -612,7 +616,7 @@
Housekeeping
- Tareas domésticas
+ Limpieza del sistema
apps/client/src/app/components/admin-overview/admin-overview.html
184
@@ -628,7 +632,7 @@
Do you really want to delete this user?
- ¿Estás seguro de eliminar este usuario?
+ ¿Seguro que quieres eliminar este usuario?
apps/client/src/app/components/admin-users/admin-users.component.ts
215
@@ -652,7 +656,7 @@
No auto-renewal on membership.
- No se renueva automáticamente la membresía.
+ Sin renovación automática de la membresía.
apps/client/src/app/components/user-account-membership/user-account-membership.html
74
@@ -660,14 +664,14 @@
Engagement per Day
- Contratación diaria
+ Interacción diaria
apps/client/src/app/components/admin-users/admin-users.html
140
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -680,7 +684,7 @@
Current Market Mood
- Estado de ánimo del mercado
+ Sentimiento del mercado
apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.html
12
@@ -723,7 +727,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -739,7 +743,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -756,26 +760,26 @@
Oops! Incorrect Security Token.
- Vaya! Token de seguridad incorrecto.
+ ¡Vaya! Token de seguridad incorrecto.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
Manage Activities
- Gestión de las operaciones
+ Gestionar operaciones
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -891,7 +895,7 @@
Rendimiento bruto absoluto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -899,7 +903,7 @@
Rendimiento neto absoluto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -911,7 +915,7 @@
Rendimiento neto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -923,15 +927,15 @@
Total de activos
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
Buying Power
- Capacidad de compra
+ Poder adquisitivo
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -939,7 +943,7 @@
Patrimonio neto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -947,12 +951,12 @@
Rendimiento anualizado
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
Please set the amount of your emergency fund.
- Por favor, ingresa la cantidad de tu fondo de emergencia:
+ Por favor, ingresa la cantidad de tu fondo de emergencia.
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts
111
@@ -967,7 +971,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -975,7 +979,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -987,7 +991,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -999,7 +1003,7 @@
Etiquetas
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1012,10 +1016,10 @@
Report Data Glitch
- Reporta un anomalía de los datos
+ Reportar anomalía en los datos
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1043,7 +1047,7 @@
Mostrar todos
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -1055,19 +1059,19 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
YTD
- Desde principio de año
+ YTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -1075,11 +1079,11 @@
1 año
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -1087,16 +1091,16 @@
5 años
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
Performance with currency effect
- Rendimiento con el efecto del tipo de cambio de divisa
+ Rendimiento con el efecto de la divisa
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
135
@@ -1107,11 +1111,11 @@
Máximo
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -1127,12 +1131,12 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
About
- Sobre
+ Acerca de
apps/client/src/app/components/footer/footer.component.html
20
@@ -1184,7 +1188,7 @@
Please enter your coupon code.
- Por favor, ingresa tu código de cupón:
+ Por favor, ingresa tu código de cupón.
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts
210
@@ -1192,7 +1196,7 @@
Could not redeem coupon code
- No se puede canjear este código de cupón
+ No se pudo canjear el código de cupón
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts
174
@@ -1200,7 +1204,7 @@
Coupon code has been redeemed
- El codigo de cupón ha sido canjeado
+ El código del cupón ha sido canjeado
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts
187
@@ -1208,7 +1212,7 @@
Reload
- Refrescar
+ Recargar
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts
188
@@ -1216,10 +1220,10 @@
Do you really want to remove this sign in method?
- ¿Estás seguro de eliminar este método de acceso?
+ ¿Seguro que quieres eliminar este método de acceso?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -1244,7 +1248,7 @@
Try Premium
- Prueba Premium
+ Probar Premium
apps/client/src/app/components/user-account-membership/user-account-membership.html
53
@@ -1252,7 +1256,7 @@
Redeem Coupon
- Canjea el cupón
+ Canjear cupón
apps/client/src/app/components/user-account-membership/user-account-membership.html
67
@@ -1276,10 +1280,10 @@
Locale
- Ubicación
+ Configuración regional
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1316,7 +1320,7 @@
User ID
- ID usuario
+ ID de usuario
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
51
@@ -1327,7 +1331,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -1375,11 +1379,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -1396,7 +1400,7 @@
Update account
- Editar cuenta
+ Actualizar cuenta
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
8
@@ -1412,14 +1416,14 @@
Currency
- Divisa base
+ Divisa
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
199
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -1431,7 +1435,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -1476,7 +1480,7 @@
Account ID
- ID cuenta
+ ID de cuenta
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
96
@@ -1611,12 +1615,12 @@
Como estás conectado, no puedes acceder a la cuenta de demostración.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
Frequently Asked Questions (FAQ)
- Preguntas más frecuentes (FAQ)
+ Preguntas frecuentes (FAQ)
apps/client/src/app/components/footer/footer.component.html
33
@@ -1657,6 +1661,10 @@
Overview
Visión general
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -1675,11 +1683,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -1695,7 +1703,7 @@
Mercados
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -1719,7 +1727,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -1780,7 +1788,7 @@
By Holding
- Por participación
+ Por posiciones
apps/client/src/app/pages/portfolio/allocations/allocations-page.html
107
@@ -1819,7 +1827,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -1844,7 +1852,7 @@
Top
- Lo mejor
+ Mejores
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
305
@@ -1852,7 +1860,7 @@
Bottom
- Lo peor
+ Peores
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
354
@@ -1876,7 +1884,7 @@
Holdings
- Participaciones
+ Posiciones
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
102
@@ -1904,7 +1912,7 @@
Update activity
- Actualizar opereación
+ Actualizar operación
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
10
@@ -1915,7 +1923,7 @@
Semana actual
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1959,7 +1967,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1971,7 +1979,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1987,7 +1995,7 @@
Precio unitario
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1999,7 +2007,7 @@
Nota
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -2007,19 +2015,19 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
Activities
- Operación
+ Operaciones
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
86
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -2039,11 +2047,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -2063,7 +2071,7 @@
Importando datos...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -2071,12 +2079,12 @@
La importación se ha completado
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
or start a discussion at
- o iniciar una discusión en
+ o inicia una discusión en
apps/client/src/app/pages/about/overview/about-overview-page.html
94
@@ -2143,12 +2151,12 @@
Continentes
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
Sustainable retirement income
- Ingreso sostenible de retiro
+ Ingresos sostenibles para la jubilación
apps/client/src/app/pages/portfolio/fire/fire-page.html
41
@@ -2156,10 +2164,10 @@
Ghostfolio empowers you to keep track of your wealth.
- Ghostfolio te permite hacer un seguimiento de tu riqueza.
+ Ghostfolio te permite hacer un seguimiento de tu patrimonio.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -2189,6 +2197,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Resources
@@ -2304,10 +2316,10 @@
Do you really want to delete this activity?
- ¿Estás seguro de eliminar esta operación?
+ ¿Seguro que quieres eliminar esta operación?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -2320,7 +2332,7 @@
contact us
- contactarnos
+ contáctanos
apps/client/src/app/pages/pricing/pricing-page.html
336
@@ -2336,7 +2348,7 @@
Annual Interest Rate
- Tipo de interés anual
+ Tasa de interés anual
libs/ui/src/lib/fire-calculator/fire-calculator.component.html
21
@@ -2368,14 +2380,14 @@
Oops! Something went wrong.
- Vaya! Algo no funcionó bien.
+ ¡Vaya! Algo no funcionó bien.
apps/client/src/app/core/http-response.interceptor.ts
86
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2391,7 +2403,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2415,15 +2427,15 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
Latest activities
- Últimas actividades
+ Últimas operaciones
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -2443,7 +2455,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -2455,7 +2467,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -2487,7 +2499,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -2511,7 +2523,7 @@
Ahorros
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -2523,11 +2535,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -2547,7 +2559,7 @@
Depósito
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -2555,7 +2567,7 @@
Mensual
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -2579,11 +2591,11 @@
Miedo
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -2595,11 +2607,11 @@
Codicia
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -2611,12 +2623,12 @@
Filtrar por...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
Hello, has shared a Portfolio with you!
- Hola, ha compartido una Cartera contigo!
+ ¡Hola, ha compartido una cartera contigo!
apps/client/src/app/pages/public/public-page.html
5
@@ -2644,10 +2656,10 @@
Benchmark
- Benchmark
+ Índice de referencia
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -2659,11 +2671,11 @@
No se pudo validar el formulario
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -2687,7 +2699,7 @@
Excluido del análisis
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -2695,7 +2707,7 @@
Automático
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2731,12 +2743,12 @@
Importe total
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
Portfolio Evolution
- Evolución cartera
+ Evolución de la cartera
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
407
@@ -2783,7 +2795,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -2791,7 +2803,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -2807,7 +2819,7 @@
Símbolo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -2823,7 +2835,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -2847,7 +2859,7 @@
Efectivo
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -2856,7 +2868,7 @@
Commodity
- Bien
+ Materia prima
libs/ui/src/lib/i18n.ts
47
@@ -2864,7 +2876,7 @@
Equity
- Capital
+ Renta variable
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
57
@@ -2895,7 +2907,7 @@
Autenticación
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -2959,7 +2971,7 @@
Fondo de emergencia
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -2979,7 +2991,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -2991,7 +3003,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -2999,11 +3011,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -3044,7 +3056,7 @@
If you retire today, you would be able to withdraw
- Si te retirases hoy, podrías sacar
+ Si te jubilas hoy, podrías retirar
apps/client/src/app/pages/portfolio/fire/fire-page.html
68
@@ -3068,7 +3080,7 @@
The following file formats are supported:
- Los siguientes formatos de archivo están soportados:
+ Los siguientes formatos de archivo son compatibles:
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
90
@@ -3088,7 +3100,7 @@
Activities Count
- Recuento de actividades
+ Número de operaciones
apps/client/src/app/components/admin-market-data/admin-market-data.html
156
@@ -3096,7 +3108,7 @@
Refresh
- Refrescar
+ Actualizar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
21
@@ -3107,12 +3119,12 @@
Mapeo de símbolos
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
Looking for a student discount?
- ¿Buscando un descuento para estudiantes?
+ ¿Buscas un descuento para estudiantes?
apps/client/src/app/pages/pricing/pricing-page.html
342
@@ -3131,7 +3143,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -3139,11 +3151,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -3171,7 +3183,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -3179,7 +3191,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -3199,7 +3211,7 @@
Validando datos...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3215,7 +3227,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -3223,7 +3235,7 @@
Datos del mercado
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -3252,7 +3264,7 @@
Holding
- Participación
+ Posición
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
32
@@ -3275,15 +3287,15 @@
Anual
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
Import Dividends
- Importar Dividendos
+ Importar dividendos
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3299,7 +3311,7 @@
Válido hasta
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -3324,7 +3336,7 @@
Higher Risk
- Riesgo mayor
+ Mayor riesgo
libs/ui/src/lib/i18n.ts
20
@@ -3338,6 +3350,14 @@
22
+
+ No Activities
+ Sin operaciones
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Provisión de jubilación
@@ -3348,7 +3368,7 @@
Everything in Basic , plus
- Todo en Básico , más
+ Todo lo incluido en Basic , más
apps/client/src/app/pages/pricing/pricing-page.html
199
@@ -3364,7 +3384,7 @@
Protection for sensitive information like absolute performances and quantity values
- Protección de información confidencial como rendimientos absolutos y valores cuantitativos
+ Protección de información confidencial como rendimientos absolutos y cantidades
apps/client/src/app/components/user-account-settings/user-account-settings.html
194
@@ -3388,7 +3408,7 @@
Are you an ambitious investor who needs the full picture?
- ¿Es usted un inversor ambicioso que necesita una visión completa?
+ ¿Eres un inversor ambicioso que necesita una visión completa?
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
15
@@ -3412,7 +3432,7 @@
Performance Benchmarks
- Puntos de referencia de rendimiento
+ Índices de referencia de rendimiento
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
32
@@ -3444,7 +3464,7 @@
and more Features...
- y más características...
+ y más funcionalidades...
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
44
@@ -3460,7 +3480,7 @@
Skip
- Saltar
+ Omitir
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
59
@@ -3516,7 +3536,7 @@
Unlimited Transactions
- Transacciones ilimitadas
+ Operaciones ilimitadas
apps/client/src/app/pages/pricing/pricing-page.html
35
@@ -3540,7 +3560,7 @@
Portfolio Performance
- Rendimiento del Portfolio
+ Rendimiento de la cartera
apps/client/src/app/pages/pricing/pricing-page.html
43
@@ -3552,7 +3572,7 @@
Self-hosted, update manually.
- Auto alojado, actualiza manualmente.
+ Autoalojado, actualiza manualmente.
apps/client/src/app/pages/pricing/pricing-page.html
84
@@ -3572,7 +3592,7 @@
For new investors who are just getting started with trading.
- Para nuevos inversores que estan empezando con el trading.
+ Para nuevos inversores que están empezando con el trading.
apps/client/src/app/pages/pricing/pricing-page.html
119
@@ -3580,7 +3600,7 @@
Fully managed Ghostfolio cloud offering.
- Oferta en la nube de Ghostfolio totalmente administrada.
+ Oferta de Ghostfolio en la nube totalmente gestionada.
apps/client/src/app/pages/pricing/pricing-page.html
150
@@ -3592,7 +3612,7 @@
For ambitious investors who need the full picture of their financial assets.
- Para inversores ambiciosos que necesitan una visión completa de sus activos financieros
+ Para inversores ambiciosos que necesitan una visión completa de sus activos financieros.
apps/client/src/app/pages/pricing/pricing-page.html
193
@@ -3611,11 +3631,11 @@
No se pudo guardar el perfil del activo
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -3635,12 +3655,12 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
Portfolio Allocations
- Distribucion del Portfolio
+ Distribución de la cartera
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
28
@@ -3668,7 +3688,7 @@
Data Import and Export
- Importacion y exportacion de datos
+ Importación y exportación de datos
apps/client/src/app/pages/pricing/pricing-page.html
63
@@ -3680,7 +3700,7 @@
Switch to Ghostfolio Premium easily
- Cambia a Ghostfolio Premium facilmente
+ Cambia a Ghostfolio Premium fácilmente
libs/ui/src/lib/i18n.ts
13
@@ -3696,7 +3716,7 @@
Email and Chat Support
- Soporte a Traves de Email y Chat
+ Soporte a través de correo electrónico y chat
apps/client/src/app/pages/pricing/pricing-page.html
248
@@ -3704,7 +3724,7 @@
Switch to Ghostfolio Premium or Ghostfolio Open Source easily
- Cambie a Ghostfolio Premium o Ghostfolio Open Source fácilmente
+ Cambia a Ghostfolio Premium o Ghostfolio Open Source fácilmente
libs/ui/src/lib/i18n.ts
12
@@ -3712,7 +3732,7 @@
Switch to Ghostfolio Open Source or Ghostfolio Basic easily
- Cambie a Ghostfolio Open Source o Ghostfolio Basic fácilmente
+ Cambia a Ghostfolio Open Source o Ghostfolio Basic fácilmente
libs/ui/src/lib/i18n.ts
14
@@ -3736,7 +3756,7 @@
Professional Data Provider
- Proveedor de datos profesional
+ Proveedor de datos profesional
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
40
@@ -3796,10 +3816,10 @@
Do you really want to delete these activities?
- ¿Realmente deseas eliminar estas actividades?
+ ¿Seguro que quieres eliminar estas operaciones?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3810,6 +3830,14 @@
306
+
+ Explore
+ Explorar
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
+
+
By
Por
@@ -3831,12 +3859,12 @@
Año actual
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
Add platform
- Agregar plataforma
+ Añadir plataforma
apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-platform-dialog.html
10
@@ -3844,14 +3872,14 @@
Url
- ¿La URL?
+ Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -3864,18 +3892,18 @@
Asset profile has been saved
- El perfil del activo ha sido guardado
+ Perfil del activo guardado
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
Do you really want to delete this platform?
- ¿Realmente deseas eliminar esta plataforma?
+ ¿Seguro que quieres eliminar esta plataforma?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
@@ -3883,7 +3911,7 @@
Plataformas
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -3891,7 +3919,7 @@
Actualizar saldo en efectivo
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -3904,7 +3932,7 @@
Upgrade to Ghostfolio Premium today and gain access to exclusive features to enhance your investment experience:
- Actualiza a Ghostfolio Premium hoy y accede a características exclusivas para mejorar tu experiencia de inversión:
+ Actualiza a Ghostfolio Premium hoy y accede a funcionalidades exclusivas para mejorar tu experiencia de inversión:
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
18
@@ -3920,7 +3948,7 @@
Add Platform
- Agregar plataforma
+ Añadir plataforma
apps/client/src/app/components/admin-platform/admin-platform.component.html
9
@@ -3928,7 +3956,7 @@
Settings
- Configuraciones
+ Ajustes
apps/client/src/app/components/user-account-settings/user-account-settings.html
2
@@ -3944,7 +3972,7 @@
This activity already exists.
- Esta actividad ya existe.
+ Esta operación ya existe.
libs/ui/src/lib/i18n.ts
21
@@ -3952,7 +3980,7 @@
Manage Benchmarks
- Gestionar puntos de referencia
+ Gestionar índices de referencia
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.html
35
@@ -3984,7 +4012,7 @@
Select Activities
- Seleccionar dividendos
+ Seleccionar operaciones
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
115
@@ -4071,7 +4099,7 @@
Pasivos
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -4144,7 +4172,7 @@
Multi-Accounts
- Cuentas múltiples
+ Múltiples cuentas
apps/client/src/app/pages/features/features-page.html
127
@@ -4152,7 +4180,7 @@
Portfolio Calculations
- Cálculos de portafolio
+ Cálculos de la cartera
apps/client/src/app/pages/features/features-page.html
141
@@ -4168,7 +4196,7 @@
Market Mood
- Modo de mercado
+ Sentimiento del mercado
apps/client/src/app/pages/features/features-page.html
215
@@ -4184,7 +4212,7 @@
Multi-Language
- Multilenguaje
+ Multilingüe
apps/client/src/app/pages/features/features-page.html
259
@@ -4208,7 +4236,7 @@
Liability
- Responsabilidad
+ Pasivo
libs/ui/src/lib/i18n.ts
41
@@ -4216,7 +4244,7 @@
and we share aggregated key metrics of the platform’s performance
- y compartimos agregados métricas clave del rendimiento de la plataforma
+ y compartimos métricas clave agregadas del rendimiento de la plataforma
apps/client/src/app/pages/about/overview/about-overview-page.html
32
@@ -4227,12 +4255,12 @@
Configuración del scraper
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
Add Asset Profile
- Agregar perfil de activo
+ Añadir perfil de activo
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
7
@@ -4252,7 +4280,7 @@
Discover Open Source Alternatives for Personal Finance Tools
- Descubra alternativas de software libre para herramientas de finanzas personales
+ Descubre alternativas de software de código abierto para herramientas de finanzas personales
apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html
5
@@ -4404,7 +4432,7 @@
Effortlessly track, analyze, and visualize your wealth with Ghostfolio.
- Siga, analice y visualice su patrimonio sin esfuerzo con Ghostfolio.
+ Sigue, analiza y visualiza tu patrimonio sin esfuerzo con Ghostfolio.
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
329
@@ -4448,7 +4476,7 @@
Buy
- Comprar
+ Compra
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
31
@@ -4460,7 +4488,7 @@
Valuable
- Valioso
+ Activo de valor
libs/ui/src/lib/i18n.ts
43
@@ -4471,7 +4499,7 @@
ETFs sin países
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -4479,7 +4507,7 @@
ETFs sin sectores
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -4487,7 +4515,7 @@
Activos
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -4532,7 +4560,7 @@
The source code is fully available as open source software (OSS) under the AGPL-3.0 license
- El código fuente está disponible completamente en software de código abierto (OSS) bajo la licencia AGPL-3.0
+ El código fuente está disponible como software de código abierto (OSS) bajo la licencia AGPL-3.0
apps/client/src/app/pages/about/overview/about-overview-page.html
16
@@ -4556,7 +4584,7 @@
Capture your activities
- Captura tus actividades
+ Captura tus operaciones
apps/client/src/app/components/home-overview/home-overview.html
28
@@ -4564,7 +4592,7 @@
Record your investment activities to keep your portfolio up to date.
- Registra tus actividades de inversión para mantener tu portafolio actualizado.
+ Registra tus operaciones de inversión para mantener tu cartera actualizada.
apps/client/src/app/components/home-overview/home-overview.html
30
@@ -4572,7 +4600,7 @@
Monitor and analyze your portfolio
- Monitorea y analiza tu portafolio
+ Monitorea y analiza tu cartera
apps/client/src/app/components/home-overview/home-overview.html
37
@@ -4588,7 +4616,7 @@
Ready to take control of your personal finances?
- ¿Listo para tomar el control de tus finanzas personales?
+ ¿Estás preparado para tomar el control de tus finanzas personales?
apps/client/src/app/components/home-overview/home-overview.html
12
@@ -4604,7 +4632,7 @@
this is projected to increase to
- esto se proyecta a aumentar a
+ se proyecta que esto aumente a
apps/client/src/app/pages/portfolio/fire/fire-page.html
147
@@ -4620,7 +4648,7 @@
At Ghostfolio, transparency is at the core of our values. We publish the source code as open source software (OSS) under the AGPL-3.0 license and we openly share aggregated key metrics of the platform’s operational status.
- En Ghostfolio, la transparencia está en el centro de nuestros valores. Publicamos el código fuente como software de código abierto (OSS) bajo la licencia Licencia AGPL-3.0 y compartimos abiertamente métricas clave agregadas sobre el estado operativo de la plataforma.
+ En Ghostfolio, la transparencia está en el centro de nuestros valores. Publicamos el código fuente como software de código abierto (OSS) bajo la Licencia AGPL-3.0 y compartimos abiertamente métricas clave agregadas sobre el estado operativo de la plataforma.
apps/client/src/app/pages/open/open-page.html
7
@@ -4656,10 +4684,10 @@
Job ID
- ID de trabajo
+ ID del trabajo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -4712,14 +4740,14 @@
Currencies
- Monedas
+ Divisas
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -4756,7 +4784,7 @@
Check out the numerous features of Ghostfolio to manage your wealth
- Descubra las numerosas funciones de Ghostfolio para gestionar su patrimonio
+ Descubre las numerosas funciones de Ghostfolio para gestionar tu patrimonio
apps/client/src/app/pages/features/features-page.html
7
@@ -4767,11 +4795,11 @@
No se pudo analizar la configuración del scraper
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -4832,7 +4860,7 @@
Protect your assets . Refine your personal investment strategy .
- Protege tus assets . Mejora tu estrategia de inversión personal .
+ Protege tus activos . Mejora tu estrategia de inversión personal .
apps/client/src/app/pages/landing/landing-page.html
124
@@ -4880,7 +4908,7 @@
Get access to 80’000+ tickers from over 50 exchanges
- Obtén acceso a más de 80,000 tickers de más de 50 exchanges
+ Accede a más de 80.000 tickers de más de 50 bolsas
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
84
@@ -4912,7 +4940,7 @@
pursuing a buy & hold strategy
- persiguiendo una compra & mantener estrategia
+ siguiendo una estrategia de comprar y mantener
apps/client/src/app/pages/landing/landing-page.html
184
@@ -4920,7 +4948,7 @@
interested in getting insights of your portfolio composition
- interesado en obtener información sobre la composición de tu portafolio
+ interesado en obtener información sobre la composición de tu cartera
apps/client/src/app/pages/landing/landing-page.html
189
@@ -4936,7 +4964,7 @@
into minimalism
- en el minimalismo
+ interesado en el minimalismo
apps/client/src/app/pages/landing/landing-page.html
197
@@ -4944,7 +4972,7 @@
caring about diversifying your financial resources
- preocuparse por diversificar tus recursos financieros
+ preocupado por diversificar tus recursos financieros
apps/client/src/app/pages/landing/landing-page.html
201
@@ -5000,7 +5028,7 @@
How does Ghostfolio work?
- ¿Cómo Ghostfolio work?
+ ¿Cómo funciona Ghostfolio ?
apps/client/src/app/pages/landing/landing-page.html
282
@@ -5016,7 +5044,7 @@
* no e-mail address nor credit card required
- * no se requiere dirección de correo electrónico ni tarjeta de crédito
+ * no se necesita correo electrónico ni tarjeta de crédito
apps/client/src/app/pages/landing/landing-page.html
292
@@ -5032,7 +5060,7 @@
Get valuable insights of your portfolio composition
- Obtén información valiosa sobre la composición de tu portafolio
+ Obtén información valiosa sobre la composición de tu cartera
apps/client/src/app/pages/landing/landing-page.html
316
@@ -5040,7 +5068,7 @@
Are you ready?
- ¿Estás tú listo?
+ ¿Estás preparado ?
apps/client/src/app/pages/landing/landing-page.html
330
@@ -5064,7 +5092,7 @@
less than
- menos que
+ menos de
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
129
@@ -5253,7 +5281,7 @@
Open Source Alternative to
- Alternativa de software libre a
+ Alternativa de software de código abierto a
apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html
42
@@ -5261,7 +5289,7 @@
The Open Source Alternative to
- La alternativa de software libre a
+ La alternativa de software de código abierto a
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
8
@@ -5269,7 +5297,7 @@
Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future.
- ¿Estás buscando una alternativa de código abierto a ? Ghostfolio es una potente herramienta de gestión de carteras que ofrece a los usuarios una plataforma integral para rastrear, analizar y optimizar sus inversiones. Ya seas un inversor con experiencia o estés comenzando, Ghostfolio ofrece una interfaz intuitiva y una amplia gama de funcionalidades para ayudarte a tomar decisiones informadas y tener el control de tu futuro financiero.
+ ¿Estás buscando una alternativa de código abierto a ? Ghostfolio es una potente herramienta de gestión de carteras que proporciona a los usuarios una plataforma completa para seguir, analizar y optimizar sus inversiones. Ya seas un inversor con experiencia o estés comenzando, Ghostfolio ofrece una interfaz intuitiva y una amplia gama de funcionalidades para ayudarte a tomar decisiones informadas y tener el control de tu futuro financiero.
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
19
@@ -5293,7 +5321,7 @@
open-source-alternative-to
- alternativa-de-software-libre-a
+ alternativa-de-software-de-codigo-abierto-a
kebab-case
libs/common/src/lib/routes/routes.ts
@@ -5314,7 +5342,7 @@
Ready to take your investments to the next level ?
- ¿Listo para llevar sus inversiones al siguiente nivel ?
+ ¿Estás preparado para llevar tus inversiones al siguiente nivel ?
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
325
@@ -5362,7 +5390,7 @@
with your university e-mail address
- con tu dirección de correo electrónico de la universidad
+ con tu dirección de correo electrónico universitaria
apps/client/src/app/pages/pricing/pricing-page.html
348
@@ -5414,7 +5442,7 @@
One-time fee, annual account fees
- Tarifa única, tarifas anuales de la cuenta
+ Comisión única, comisiones anuales de la cuenta
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
33
@@ -5430,10 +5458,10 @@
Fee
- Tarifa
+ Comisión
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5454,7 +5482,7 @@
Add Tag
- Agregar etiqueta
+ Añadir etiqueta
apps/client/src/app/components/admin-tag/admin-tag.component.html
9
@@ -5462,10 +5490,10 @@
Do you really want to delete this tag?
- ¿Realmente deseas eliminar esta etiqueta?
+ ¿Seguro que quieres eliminar esta etiqueta?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -5533,7 +5561,7 @@
Membresía
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5546,7 +5574,7 @@
Request it
- Solicitar
+ Solicítalo
apps/client/src/app/pages/pricing/pricing-page.html
344
@@ -5565,12 +5593,12 @@
Perfil de activo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
Do you really want to delete this asset profile?
- ¿Realmente deseas eliminar este perfil de activo?
+ ¿Seguro que quieres eliminar este perfil de activo?
apps/client/src/app/components/admin-market-data/admin-market-data.service.ts
37
@@ -5594,7 +5622,7 @@
Ghostfolio is a personal finance dashboard to keep track of your net worth including cash, stocks, ETFs and cryptocurrencies across multiple platforms.
- Ghostfolio es un dashboard de finanzas personales para hacer un seguimiento de tus activos como acciones, ETFs o criptodivisas a través de múltiples plataformas.
+ Ghostfolio es un panel de control de finanzas personales para hacer un seguimiento de tu patrimonio neto, incluyendo efectivo, acciones, ETFs y criptomonedas a través de múltiples plataformas.
apps/client/src/app/pages/i18n/i18n-page.html
5
@@ -5630,7 +5658,7 @@
Ghostfolio vs comparison table
- Ghostfolio vs tabla comparativa
+ Tabla comparativa de Ghostfolio vs
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
55
@@ -5646,7 +5674,7 @@
app, asset, cryptocurrency, dashboard, etf, finance, management, performance, portfolio, software, stock, trading, wealth, web3
- aplicación, activo, criptomoneda, panel, ETF, finanzas, gestión, rendimiento, cartera, software, acciones, comercio, riqueza, web3
+ aplicación, activo, criptomoneda, panel, ETF, finanzas, gestión, rendimiento, cartera, software, acciones, comercio, patrimonio, web3
apps/client/src/app/pages/i18n/i18n-page.html
10
@@ -5654,7 +5682,7 @@
Oops, cash balance transfer has failed.
- Oops, el saldo de efectivo no se ha transferido.
+ ¡Vaya! La transferencia del saldo de efectivo ha fallado.
apps/client/src/app/pages/accounts/accounts-page.component.ts
341
@@ -5670,7 +5698,7 @@
Extreme Greed
- Avaricia extrema
+ Codicia extrema
libs/ui/src/lib/i18n.ts
107
@@ -5686,18 +5714,18 @@
Oops! Could not parse historical data.
- ¡Ups! No se pudieron analizar los datos históricos.
+ ¡Vaya! No se pudieron analizar los datos históricos.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
Do you really want to delete this system message?
- ¿Realmente deseas eliminar este mensaje del sistema?
+ ¿Seguro que quieres eliminar este mensaje del sistema?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -5721,7 +5749,7 @@
Saldos de efectivo
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5738,15 +5766,15 @@
Do you really want to delete this account balance?
- ¿Realmente desea eliminar el saldo de esta cuenta?
+ ¿Seguro que quieres eliminar el saldo de esta cuenta?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
If a translation is missing, kindly support us in extending it here .
- Si falta una traducción, por favor ayúdenos a ampliarla. here .
+ Si falta una traducción, por favor ayúdanos a completarla aquí .
apps/client/src/app/components/user-account-settings/user-account-settings.html
59
@@ -5757,7 +5785,7 @@
El precio actual de mercado es
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5765,7 +5793,7 @@
Prueba
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5802,7 +5830,7 @@
Oops! Could not grant access.
- ¡Ups! No se pudo otorgar acceso.
+ ¡Vaya! No se pudo otorgar acceso.
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts
141
@@ -5834,7 +5862,7 @@
Market data is delayed for
- Los datos del mercado se retrasan por
+ Los datos del mercado tienen un retraso de
apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts
95
@@ -5853,11 +5881,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5877,7 +5905,7 @@
Cerrar posición
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5890,7 +5918,7 @@
Asset Performance
- Rendimiento de activos
+ Rendimiento de los activos
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
190
@@ -5898,7 +5926,7 @@
Absolute Currency Performance
- Rendimiento absoluto de divisas
+ Rendimiento absoluto de las divisas
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
211
@@ -5906,7 +5934,7 @@
Currency Performance
- Rendimiento de la moneda
+ Rendimiento de la divisa
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
236
@@ -5917,7 +5945,7 @@
Semana hasta la fecha
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5925,11 +5953,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5937,7 +5965,7 @@
Mes hasta la fecha
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5945,19 +5973,19 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
Year to date
- El año hasta la fecha
+ Año hasta la fecha
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5974,7 +6002,7 @@
Oops! A data provider is experiencing the hiccups.
- ¡Ups! Un proveedor de datos está experimentando problemas.
+ ¡Vaya! Un proveedor de datos está experimentando problemas.
apps/client/src/app/components/portfolio-performance/portfolio-performance.component.html
8
@@ -5993,7 +6021,7 @@
año
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6005,7 +6033,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6013,11 +6041,11 @@
años
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6033,7 +6061,7 @@
Recopilación de datos
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6045,7 +6073,7 @@
General
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6053,7 +6081,7 @@
Nube
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6065,7 +6093,7 @@
Autoalojamiento
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6074,7 +6102,7 @@
self-hosting
- auto-alojado
+ autoalojado
kebab-case
libs/common/src/lib/routes/routes.ts
@@ -6106,7 +6134,7 @@
Activo
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6114,7 +6142,7 @@
Cerrado
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6127,7 +6155,7 @@
Activity
- Actividad
+ Operación
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
229
@@ -6143,10 +6171,10 @@
Execute Job
- Ejecutar Tarea
+ Ejecutar trabajo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6154,7 +6182,7 @@
Prioridad
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6175,7 +6203,7 @@
{VAR_PLURAL, plural, =1 {activity} other {activities}}
- {VAR_PLURAL, plural, =1 {actividad} other {actividades}}
+ {VAR_PLURAL, plural, =1 {operación} other {operaciones}}
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
14
@@ -6191,7 +6219,7 @@
Delete Activities
- Eliminar actividades
+ Eliminar operaciones
libs/ui/src/lib/activities-table/activities-table.component.html
69
@@ -6207,10 +6235,10 @@
Do you really want to close your Ghostfolio account?
- ¿Estás seguro de querer borrar tu cuenta de Ghostfolio?
+ ¿Seguro que quieres eliminar tu cuenta de Ghostfolio?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6239,7 +6267,7 @@
Approximation based on the top holdings of each ETF
- Aproximación basada en las principales participaciones de cada ETF
+ Aproximación basada en las principales posiciones de cada ETF
apps/client/src/app/pages/portfolio/allocations/allocations-page.html
340
@@ -6258,15 +6286,15 @@
Incluir en
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
Oops! There was an error setting up biometric authentication.
- ¡Ups! Hubo un error al configurar la autenticación biométrica.
+ ¡Vaya! Hubo un error al configurar la autenticación biométrica.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6279,15 +6307,15 @@
Benchmarks
- Puntos de referencia
+ Índices de referencia
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
Delete Profiles
- Borrar Perfiles
+ Eliminar Perfiles
apps/client/src/app/components/admin-market-data/admin-market-data.html
242
@@ -6295,7 +6323,7 @@
Do you really want to delete these profiles?
- Estas seguro de borrar estos perfiles?
+ ¿Seguro que quieres eliminar estos perfiles?
apps/client/src/app/components/admin-market-data/admin-market-data.service.ts
68
@@ -6303,7 +6331,7 @@
Oops! Could not delete profiles.
- ¡Ups! No se pudieron eliminar los perfiles.
+ ¡Vaya! No se pudieron eliminar los perfiles.
apps/client/src/app/components/admin-market-data/admin-market-data.service.ts
56
@@ -6319,7 +6347,7 @@
Chart
- Grafico
+ Gráfico
apps/client/src/app/components/home-holdings/home-holdings.html
19
@@ -6330,7 +6358,7 @@
¿Te gustaría refinar tu estrategia de inversión personal ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6351,7 +6379,7 @@
Budgeting
- Presupuestación
+ Presupuestos
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
85
@@ -6491,7 +6519,7 @@
Wealth
- Riqueza
+ Patrimonio
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
99
@@ -6539,7 +6567,7 @@
View Holding
- Ver fondos
+ Ver posición
libs/ui/src/lib/activities-table/activities-table.component.html
450
@@ -6662,7 +6690,7 @@
Error
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6683,7 +6711,7 @@
Oops! Could not update access.
- Oops! No se pudo actualizar el acceso.
+ ¡Vaya! No se pudo actualizar el acceso.
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts
178
@@ -6714,7 +6742,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6746,7 +6774,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6754,7 +6782,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6766,7 +6794,7 @@
Cerrar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6792,13 +6820,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6810,7 +6842,7 @@
Rol
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6834,12 +6866,12 @@
Instantánea de la cartera
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
Change with currency effect Change
- Cambiar con efecto de cambio dedivisa Cambiar
+ Cambio con el efecto de la divisa Cambio
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
63
@@ -6855,7 +6887,7 @@
Performance with currency effect Performance
- Rendimiento con cambio de divisa Rendimiento
+ Rendimiento con el efecto de la divisa Rendimiento
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
83
@@ -6879,7 +6911,7 @@
send an e-mail to
- enviar un correo electrónico a
+ envía un correo electrónico a
apps/client/src/app/pages/about/overview/about-overview-page.html
87
@@ -6901,6 +6933,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Desde el principio
@@ -6911,7 +6951,7 @@
Oops! Invalid currency.
- ¡Ups! Moneda inválida.
+ ¡Vaya! Divisa no válida.
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
48
@@ -6959,7 +6999,7 @@
to use our referral link and get a Ghostfolio Premium membership for one year
- para usar nuestro enlace de referido y obtener una membresía Ghostfolio Premium por un año
+ para utilizar nuestro enlace de recomendación y obtener una membresía de Ghostfolio Premium por un año
apps/client/src/app/pages/pricing/pricing-page.html
340
@@ -7039,7 +7079,7 @@
Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions.
- Ghostfolio es una aplicación de gestión de patrimonio para aquellos individuos que desean realizar un seguimiento de acciones, ETFs o criptomonedas y tomar decisiones de inversión sólidas y basadas en datos.
+ Ghostfolio es una aplicación ligera de gestión de patrimonio para que las personas realicen un seguimiento de acciones, ETFs o criptomonedas y tomen decisiones de inversión sólidas basadas en datos.
apps/client/src/app/pages/about/overview/about-overview-page.html
10
@@ -7047,7 +7087,7 @@
Oops! Could not find any assets.
- ¡Ups! No se pudieron encontrar activos.
+ ¡Vaya! No se pudieron encontrar activos.
libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html
40
@@ -7066,12 +7106,12 @@
Configurar clave API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
Get access to 80’000+ tickers from over 50 exchanges
- Accede a más de 80’000 tickers de más de 50 bolsas
+ Accede a más de 80.000 tickers de más de 50 bolsas
libs/ui/src/lib/i18n.ts
26
@@ -7102,7 +7142,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7118,7 +7158,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7153,7 +7193,7 @@
Threshold range
- Rango umbral
+ Rango del umbral
apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html
9
@@ -7172,7 +7212,7 @@
de
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7180,7 +7220,7 @@
solicitudes diarias
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7188,20 +7228,20 @@
Eliminar clave API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
Do you really want to delete the API key?
- ¿Realmente deseas eliminar la clave API?
+ ¿Seguro que quieres eliminar la clave API?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
Please enter your Ghostfolio API key:
- Ingrese su clave API de Ghostfolio:
+ Ingresa tu clave API de Ghostfolio:
apps/client/src/app/pages/api/api-page.component.ts
43
@@ -7209,14 +7249,14 @@
API Requests Today
- Solicitudes de API hoy
+ Solicitudes de API de hoy
apps/client/src/app/components/admin-users/admin-users.html
161
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7229,7 +7269,7 @@
Set this API key in your self-hosted environment:
- Configure esta clave API en su entorno autohospedado:
+ Configura esta clave API en tu entorno autoalojado:
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts
151
@@ -7245,7 +7285,7 @@
Do you really want to generate a new API key?
- ¿Realmente desea generar una nueva clave API?
+ ¿Seguro que quieres generar una nueva clave API?
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts
159
@@ -7261,7 +7301,7 @@
Generate Ghostfolio Premium Data Provider API key for self-hosted environments...
- Genere la clave API del proveedor de datos premium de Ghostfolio para entornos autohospedados...
+ Genera la clave API del proveedor de datos premium de Ghostfolio para entornos autoalojados...
libs/ui/src/lib/membership-card/membership-card.component.html
29
@@ -7269,7 +7309,7 @@
out of
- fuera de
+ de
apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html
56
@@ -7277,7 +7317,7 @@
rules align with your portfolio.
- Las reglas se alinean con su cartera.
+ reglas se alinean con tu cartera.
apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html
58
@@ -7285,10 +7325,10 @@
Save
- Ahorrar
+ Guardar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7324,11 +7364,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7340,7 +7380,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7353,7 +7393,7 @@
Check the system status at
- Verificar el estado del sistema en
+ Verifica el estado del sistema en
apps/client/src/app/pages/about/overview/about-overview-page.html
57
@@ -7364,12 +7404,12 @@
Por favor, ingresa tu clave API de Ghostfolio.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
Change with currency effect
- Cambiar con el efecto del tipo de cambio de divisa
+ Cambio con el efecto de la divisa
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
116
@@ -7377,10 +7417,10 @@
AI prompt has been copied to the clipboard
- El aviso de IA ha sido copiado al portapapeles
+ El prompt para la IA ha sido copiado al portapapeles
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7393,10 +7433,10 @@
Lazy
- Perezoso
+ Bajo demanda
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7404,7 +7444,7 @@
Instantáneo
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7412,7 +7452,7 @@
Precio de mercado por defecto
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7420,7 +7460,7 @@
Modo
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7428,7 +7468,7 @@
Selector
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7436,7 +7476,7 @@
Encabezados de solicitud HTTP
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7444,7 +7484,7 @@
final del día
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7452,7 +7492,7 @@
en tiempo real
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7460,7 +7500,7 @@
Abrir Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7473,14 +7513,14 @@
Change
- Cambiar
+ Cambio
libs/ui/src/lib/holdings-table/holdings-table.component.html
138
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7492,7 +7532,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7500,11 +7540,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7517,7 +7557,7 @@
Copy portfolio data to clipboard for AI prompt
- Copiar los datos del portafolio al portapapeles para el aviso de IA
+ Copiar los datos de la cartera al portapapeles para el prompt de IA
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
42
@@ -7525,7 +7565,7 @@
Copy AI prompt to clipboard for analysis
- Copiar el aviso de IA al portapapeles para análisis
+ Copiar el prompt de IA al portapapeles para análisis
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
67
@@ -7533,7 +7573,7 @@
Total amount
- Cantidad total
+ Importe total
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
95
@@ -7565,7 +7605,7 @@
Terms and Conditions
- Terminos y condiciones
+ Términos y Condiciones
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
15
@@ -7608,27 +7648,27 @@
Token de seguridad
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
Do you really want to generate a new security token for this user?
- ¿Realmente deseas generar un nuevo token de seguridad para este usuario?
+ ¿Seguro que quieres generar un nuevo token de seguridad para este usuario?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
Find account, holding or page...
- Buscar cuenta, posición o página...
+ Busca una cuenta, posición o página...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7682,7 +7722,7 @@
and I agree to the Terms of Service .
- y acepto los Términos del servicio .
+ y acepto los Términos de servicio .
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
34
@@ -7693,7 +7733,7 @@
( ) ya está en uso.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7701,7 +7741,7 @@
Ocurrió un error al actualizar a ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7765,7 +7805,7 @@
alguien
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7794,15 +7834,15 @@
Do you really want to delete this item?
- ¿Realmente deseas eliminar este elemento?
+ ¿Seguro que quieres eliminar este elemento?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
Log out
- Finalizar la sesión
+ Cerrar sesión
apps/client/src/app/components/header/header.component.html
329
@@ -7810,7 +7850,7 @@
Calculations are based on delayed market data and may not be displayed in real-time.
- Los cálculos se basan en datos de mercado retrasados y es posible que no se muestren en tiempo real.
+ Los cálculos se basan en datos de mercado con retraso y es posible que no se muestren en tiempo real.
apps/client/src/app/components/home-market/home-market.html
45
@@ -7822,7 +7862,7 @@
changelog
- registro-decambios
+ registro-de-cambios
kebab-case
libs/common/src/lib/routes/routes.ts
@@ -7838,7 +7878,7 @@
La cuenta de usuario de demostración se ha sincronizado.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7851,7 +7891,7 @@
Set up
- Fondo de Emergencia: Establecer
+ Establecer
apps/client/src/app/pages/i18n/i18n-page.html
145
@@ -7873,25 +7913,25 @@
150
-
+
Fee Ratio
- Relación de tarifas
+ Relación de comisiones
apps/client/src/app/pages/i18n/i18n-page.html
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Las tarifas superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ Las comisiones superan el ${thresholdMax}% de tu volumen total de inversión (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Las tarifas no superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ Las comisiones no superan el ${thresholdMax}% de tu volumen total de inversión (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -7923,7 +7963,7 @@
Open Source Alternative to
- Alternativa de software libre a
+ Alternativa de software de código abierto a
libs/common/src/lib/routes/routes.ts
326
@@ -7985,7 +8025,7 @@
Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide.
- Alimenta tu Ghostfolio autoalojado con un proveedor de datos potente para acceder a más de 80.000 tickers de más de 50 intercambios a nivel mundial.
+ Alimenta tu Ghostfolio autoalojado con un proveedor de datos potente para acceder a más de 80.000 tickers de más de 50 bolsas a nivel mundial.
apps/client/src/app/components/admin-settings/admin-settings.component.html
16
@@ -8001,7 +8041,7 @@
Learn more
- Aprender más
+ Más información
apps/client/src/app/components/admin-settings/admin-settings.component.html
38
@@ -8052,7 +8092,7 @@
Mes actual
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8060,11 +8100,11 @@
nuevo
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8093,7 +8133,7 @@
Equity
- Acciones
+ Renta variable
apps/client/src/app/pages/i18n/i18n-page.html
41
@@ -8157,7 +8197,7 @@
Investment: Base Currency
- Inversión: Moneda base
+ Inversión: Divisa base
apps/client/src/app/pages/i18n/i18n-page.html
85
@@ -8165,7 +8205,7 @@
The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency})
- La mayor parte de tu inversión actual no está en tu moneda base (${baseCurrencyValueRatio}% en ${baseCurrency})
+ La mayor parte de tu inversión actual no está en tu divisa base (${baseCurrencyValueRatio}% en ${baseCurrency})
apps/client/src/app/pages/i18n/i18n-page.html
88
@@ -8173,7 +8213,7 @@
The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency})
- La mayor parte de tu inversión actual está en tu moneda base (${baseCurrencyValueRatio}% en ${baseCurrency})
+ La mayor parte de tu inversión actual está en tu divisa base (${baseCurrencyValueRatio}% en ${baseCurrency})
apps/client/src/app/pages/i18n/i18n-page.html
92
@@ -8218,10 +8258,10 @@
Do you really want to generate a new security token?
- ¿Realmente deseas generar un nuevo token de seguridad?
+ ¿Seguro que quieres generar un nuevo token de seguridad?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8234,7 +8274,7 @@
If you encounter a bug, would like to suggest an improvement or a new feature , please join the Ghostfolio Slack community, post to @ghostfolio_
- Si encuentras un error, deseas sugerir una mejora o una nueva característica , por favor únete a la comunidad Ghostfolio Slack , publica en @ghostfolio_
+ Si encuentras un error, deseas sugerir una mejora o una nueva funcionalidad , por favor únete a la comunidad de Ghostfolio en Slack y publica en @ghostfolio_
apps/client/src/app/pages/about/overview/about-overview-page.html
69
@@ -8245,7 +8285,7 @@
Acciones
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8257,7 +8297,7 @@
Criptomonedas
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8266,7 +8306,7 @@
-
+
apps/client/src/app/components/admin-users/admin-users.html
39
@@ -8277,7 +8317,7 @@
Gestionar perfil de activo
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8310,7 +8350,7 @@
Account Cluster Risks
- Riesgos de grupo de cuentas
+ Riesgos de agrupación de cuentas
apps/client/src/app/pages/i18n/i18n-page.html
14
@@ -8318,7 +8358,7 @@
Asset Class Cluster Risks
- Riesgos de grupo de clases de activos
+ Riesgos de agrupación de tipos de activos
apps/client/src/app/pages/i18n/i18n-page.html
39
@@ -8326,7 +8366,7 @@
Currency Cluster Risks
- Riesgos del clúster de divisas
+ Riesgos de agrupación de divisas
apps/client/src/app/pages/i18n/i18n-page.html
83
@@ -8334,7 +8374,7 @@
Economic Market Cluster Risks
- Riesgos del clúster de mercados económicos
+ Riesgos de agrupación de mercados económicos
apps/client/src/app/pages/i18n/i18n-page.html
106
@@ -8366,7 +8406,7 @@
Buying Power
- Poder de compra
+ Poder adquisitivo
apps/client/src/app/pages/i18n/i18n-page.html
71
@@ -8374,7 +8414,7 @@
Your buying power is below ${thresholdMin} ${baseCurrency}
- Tu poder de compra es inferior a ${thresholdMin} ${baseCurrency}
+ Tu poder adquisitivo está por debajo de ${thresholdMin} ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
73
@@ -8382,7 +8422,7 @@
Your buying power is 0 ${baseCurrency}
- Tu poder de compra es 0 ${baseCurrency}
+ Tu poder adquisitivo es 0 ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
77
@@ -8390,7 +8430,7 @@
Your buying power exceeds ${thresholdMin} ${baseCurrency}
- Tu poder de compra excede ${thresholdMin} ${baseCurrency}
+ Tu poder adquisitivo supera ${thresholdMin} ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
80
@@ -8398,7 +8438,7 @@
Regional Market Cluster Risks
- Riesgos de los grupos de mercados regionales
+ Riesgos de agrupación de mercados regionales
apps/client/src/app/pages/i18n/i18n-page.html
163
@@ -8422,7 +8462,7 @@
The developed markets contribution of your current investment (${developedMarketsValueRatio}%) exceeds ${thresholdMax}%
- La contribución a los mercados desarrollados de tu inversión actual (${developedMarketsValueRatio}%) supera el ${thresholdMax}%
+ La contribución a mercados desarrollados de tu inversión actual (${developedMarketsValueRatio}%) supera ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
112
@@ -8430,7 +8470,7 @@
The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is below ${thresholdMin}%
- La contribución a los mercados desarrollados de tu inversión actual (${developedMarketsValueRatio}%) es inferior al ${thresholdMin}%
+ La contribución a mercados desarrollados de tu inversión actual (${developedMarketsValueRatio}%) es inferior a ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
117
@@ -8438,7 +8478,7 @@
The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- La contribución a los mercados desarrollados de tu inversión actual (${developedMarketsValueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
+ La contribución a mercados desarrollados de tu inversión actual (${developedMarketsValueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
122
@@ -8454,7 +8494,7 @@
The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) exceeds ${thresholdMax}%
- La contribución a los mercados emergentes de tu inversión actual (${emergingMarketsValueRatio}%) supera el ${thresholdMax}%
+ La contribución a mercados emergentes de tu inversión actual (${emergingMarketsValueRatio}%) supera ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
130
@@ -8462,7 +8502,7 @@
The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is below ${thresholdMin}%
- La contribución a los mercados emergentes de tu inversión actual (${emergingMarketsValueRatio}%) es inferior al ${thresholdMin}%
+ La contribución a mercados emergentes de tu inversión actual (${emergingMarketsValueRatio}%) es inferior a ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
135
@@ -8470,7 +8510,7 @@
The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- La contribución a los mercados emergentes de tu inversión actual (${emergingMarketsValueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
+ La contribución a mercados emergentes de tu inversión actual (${emergingMarketsValueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
140
@@ -8486,7 +8526,7 @@
Your net worth is managed by 0 accounts
- Su patrimonio neto es administrado por 0 cuentas
+ Tu patrimonio neto es administrado por 0 cuentas
apps/client/src/app/pages/i18n/i18n-page.html
33
@@ -8502,7 +8542,7 @@
The Asia-Pacific market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- La contribución al mercado de Asia-Pacífico de tu inversión actual (${valueRatio}%) supera el ${thresholdMax}%
+ La contribución al mercado Asiático-Pacífico de tu inversión actual (${valueRatio}%) supera ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
167
@@ -8510,7 +8550,7 @@
The Asia-Pacific market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- La contribución al mercado de Asia-Pacífico de tu inversión actual (${valueRatio}%) es inferior al ${thresholdMin}%
+ La contribución al mercado Asiático-Pacífico de tu inversión actual (${valueRatio}%) es inferior a ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
171
@@ -8518,7 +8558,7 @@
The Asia-Pacific market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- La contribución al mercado de Asia-Pacífico de tu inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
+ La contribución al mercado Asiático-Pacífico de tu inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
175
@@ -8534,7 +8574,7 @@
The Emerging Markets contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- La contribución a los mercados emergentes de tu inversión actual (${valueRatio}%) supera el ${thresholdMax}%
+ La contribución a mercados emergentes de tu inversión actual (${valueRatio}%) supera ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
183
@@ -8542,7 +8582,7 @@
The Emerging Markets contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- La contribución a los mercados emergentes de tu inversión actual (${valueRatio}%) es inferior al ${thresholdMin}%
+ La contribución a mercados emergentes de tu inversión actual (${valueRatio}%) es inferior a ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
187
@@ -8550,7 +8590,7 @@
The Emerging Markets contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- La contribución a los mercados emergentes de tu inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
+ La contribución a mercados emergentes de tu inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
191
@@ -8566,7 +8606,7 @@
The Europe market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- La contribución al mercado europeo de tu inversión actual (${valueRatio}%) supera el ${thresholdMax}%
+ La contribución al mercado europeo de tu inversión actual (${valueRatio}%) supera ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
197
@@ -8574,7 +8614,7 @@
The Europe market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- La contribución al mercado europeo de tu inversión actual (${valueRatio}%) es inferior al ${thresholdMin}%
+ La contribución al mercado europeo de tu inversión actual (${valueRatio}%) es inferior a ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
201
@@ -8598,7 +8638,7 @@
The Japan market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- La contribución al mercado japonés de su inversión actual (${valueRatio}%) supera el ${thresholdMax}%
+ La contribución al mercado japonés de tu inversión actual (${valueRatio}%) supera el ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
211
@@ -8606,7 +8646,7 @@
The Japan market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- La contribución al mercado japonés de su inversión actual (${valueRatio}%) es inferior a ${thresholdMin}%
+ La contribución al mercado japonés de tu inversión actual (${valueRatio}%) es inferior a ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
215
@@ -8614,7 +8654,7 @@
The Japan market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- La contribución al mercado japonés de su inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
+ La contribución al mercado japonés de tu inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
219
@@ -8630,7 +8670,7 @@
The North America market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- La contribución del mercado de América del Norte de su inversión actual (${valueRatio}%) supera el ${thresholdMax}%
+ La contribución al mercado de América del Norte de tu inversión actual (${valueRatio}%) supera el ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
225
@@ -8638,7 +8678,7 @@
The North America market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- La contribución al mercado de América del Norte de su inversión actual (${valueRatio}%) es inferior a ${thresholdMin}%
+ La contribución al mercado de América del Norte de tu inversión actual (${valueRatio}%) es inferior a ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
229
@@ -8646,7 +8686,7 @@
The North America market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- La contribución al mercado de América del Norte de su inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
+ La contribución al mercado de América del Norte de tu inversión actual (${valueRatio}%) está dentro del rango de ${thresholdMin}% y ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
233
@@ -8666,7 +8706,7 @@
Join the Ghostfolio Slack community
- Únete a la comunidad de Ghostfolio Slack
+ Únete a la comunidad de Ghostfolio en Slack
apps/client/src/app/pages/about/overview/about-overview-page.html
109
@@ -8674,7 +8714,7 @@
Follow Ghostfolio on X (formerly Twitter)
- Siga a Ghostfolio en X (anteriormente Twitter)
+ Sigue a Ghostfolio en X (anteriormente Twitter)
apps/client/src/app/pages/about/overview/about-overview-page.html
118
@@ -8697,12 +8737,12 @@
Fecha de registro
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
Follow Ghostfolio on LinkedIn
- Siga a Ghostfolio en LinkedIn
+ Sigue a Ghostfolio en LinkedIn
apps/client/src/app/pages/about/overview/about-overview-page.html
147
@@ -8710,7 +8750,7 @@
Ghostfolio is an independent & bootstrapped business
- Ghostfolio es una empresa independiente y autónoma
+ Ghostfolio es una empresa independiente y autofinanciada
apps/client/src/app/pages/about/overview/about-overview-page.html
157
@@ -8718,7 +8758,7 @@
Support Ghostfolio
- Soporte Ghostfolio
+ Apoya a Ghostfolio
apps/client/src/app/pages/about/overview/about-overview-page.html
166
diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf
index 0da1c3f6a..eec144e92 100644
--- a/apps/client/src/locales/messages.fr.xlf
+++ b/apps/client/src/locales/messages.fr.xlf
@@ -42,7 +42,7 @@
Type
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -114,7 +114,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -126,7 +126,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -142,7 +142,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -186,7 +186,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -198,7 +198,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -234,15 +234,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -290,11 +290,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -322,11 +322,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -350,7 +354,7 @@
Voulez-vous vraiment supprimer ce compte ?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -358,7 +362,7 @@
Source Données
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -370,7 +374,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -382,7 +386,7 @@
Tentatives
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -390,7 +394,7 @@
Créé
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -398,7 +402,7 @@
Terminé
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -406,11 +410,11 @@
Statut
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -426,7 +430,7 @@
Supprimer Tâches
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -434,7 +438,7 @@
Profils d’Actifs
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -446,11 +450,11 @@
Données historiques du marché
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -458,7 +462,7 @@
Voir Données
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -466,7 +470,7 @@
Voir la Stacktrace
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -474,7 +478,7 @@
Supprimer Tâche
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -490,7 +494,7 @@
Date
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -526,7 +530,7 @@
Filtrer par...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -566,7 +570,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -634,7 +638,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -646,7 +650,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -654,7 +658,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -666,7 +670,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -678,7 +682,7 @@
Équivalence de Symboles
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -686,7 +690,7 @@
Note
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -694,7 +698,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -702,7 +706,7 @@
Voulez-vous vraiment supprimer ce code promotionnel ?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -710,7 +714,7 @@
Voulez-vous vraiment vider le cache ?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -718,7 +722,7 @@
Veuillez définir votre message système :
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -758,7 +762,7 @@
Étiquettes
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -878,7 +882,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -894,11 +898,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -938,7 +942,7 @@
Référence
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -974,7 +978,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -994,15 +998,15 @@
Oups! Jeton de Sécurité Incorrect.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -1010,7 +1014,7 @@
Gérer les Activités
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -1018,11 +1022,11 @@
Peur
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1034,11 +1038,11 @@
Avidité
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -1062,7 +1066,7 @@
Montant Total
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -1174,7 +1178,7 @@
Performance Absolue Brute
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -1182,7 +1186,7 @@
Performance Absolue Nette
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1194,7 +1198,7 @@
Performance nette
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1206,7 +1210,7 @@
Actifs Totaux
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -1214,7 +1218,7 @@
Pouvoir d’Achat
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -1222,7 +1226,7 @@
Exclus de l’Analyse
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -1230,7 +1234,7 @@
Fortune
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -1238,7 +1242,7 @@
Performance annualisée
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -1274,7 +1278,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1290,7 +1294,7 @@
Signaler une Erreur de Données
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1302,7 +1306,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -1310,11 +1314,11 @@
CDA
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -1322,11 +1326,11 @@
1A
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -1334,11 +1338,11 @@
5A
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -1354,11 +1358,11 @@
Max
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -1382,7 +1386,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -1394,7 +1398,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -1410,7 +1414,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -1470,7 +1474,7 @@
Auto
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1514,7 +1518,7 @@
Voulez-vous vraiment supprimer cette méthode de connexion ?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -1582,7 +1586,7 @@
Paramètres régionaux
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1662,7 +1666,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -1710,11 +1714,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -1758,7 +1762,7 @@
Données du marché
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -1902,7 +1906,7 @@
Puisque vous êtes déjà connecté·e, vous ne pouvez pas accéder au compte de démonstration.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -1990,7 +1994,7 @@
Marchés
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -2014,7 +2018,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -2042,7 +2046,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -2062,11 +2066,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -2094,7 +2098,7 @@
Current week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -2138,7 +2142,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -2146,7 +2150,7 @@
Prix Unitaire
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -2158,7 +2162,7 @@
Import des données...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -2166,7 +2170,7 @@
L’import est terminé
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -2182,7 +2186,7 @@
Validation des données...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -2218,7 +2222,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -2310,7 +2314,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -2334,7 +2338,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -2342,7 +2346,7 @@
Latest activities
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -2354,7 +2358,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -2366,7 +2370,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -2402,7 +2406,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -2410,11 +2414,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -2434,7 +2438,7 @@
Dépôt
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -2442,7 +2446,7 @@
Mensuel
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -2546,7 +2550,7 @@
Continents
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -2562,7 +2566,7 @@
Ghostfolio vous aide à garder un aperçu de votre patrimoine.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -2590,7 +2594,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -2644,6 +2648,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Resources
@@ -2696,6 +2704,10 @@
Overview
Aperçu
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -2714,11 +2726,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -2798,7 +2810,7 @@
Voulez-vous vraiment supprimer cette activité ?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -2850,11 +2862,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -2866,7 +2878,7 @@
Épargne
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -2894,7 +2906,7 @@
Montrer tout
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -2930,7 +2942,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -2938,7 +2950,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -2962,7 +2974,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -2970,7 +2982,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -2982,7 +2994,7 @@
Fonds d’Urgence
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -3002,7 +3014,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -3010,7 +3022,7 @@
Symbole
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -3026,7 +3038,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -3050,7 +3062,7 @@
Cash
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -3098,7 +3110,7 @@
Authentication
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -3230,7 +3242,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -3238,11 +3250,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -3274,7 +3286,7 @@
Annuel
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -3282,7 +3294,7 @@
Importer Dividendes
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3298,7 +3310,7 @@
Valide jusqu’au
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -3337,6 +3349,14 @@
22
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Réserve pour retraite
@@ -3610,11 +3630,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -3634,7 +3654,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -3798,7 +3818,7 @@
Voulez-vous vraiment supprimer toutes vos activités ?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3809,6 +3829,14 @@
306
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
+
+
By
By
@@ -3830,7 +3858,7 @@
Current year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -3846,11 +3874,11 @@
Lien
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -3866,7 +3894,7 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -3874,7 +3902,7 @@
Voulez-vous vraiment supprimer cette plateforme ?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
@@ -3882,7 +3910,7 @@
Platformes
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -3890,7 +3918,7 @@
Mettre à jour le Solde
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -4070,7 +4098,7 @@
Dettes
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -4226,7 +4254,7 @@
Configuration du Scraper
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -4470,7 +4498,7 @@
ETF sans Pays
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -4478,7 +4506,7 @@
ETF sans Secteurs
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -4486,7 +4514,7 @@
Actifs
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -4658,7 +4686,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -4714,11 +4742,11 @@
Devises
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -4766,11 +4794,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -5432,7 +5460,7 @@
Frais
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5464,7 +5492,7 @@
Confirmez la suppression de ce tag ?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -5532,7 +5560,7 @@
Statut
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5564,7 +5592,7 @@
Profil d’Actif
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -5688,7 +5716,7 @@
Oops! Echec du parsing des données historiques.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -5696,7 +5724,7 @@
Confirmer la suppresion de ce message système?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -5720,7 +5748,7 @@
Cash Balances
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5740,7 +5768,7 @@
Voulez-vous vraiment supprimer ce solde de compte ?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5756,7 +5784,7 @@
Le prix actuel du marché est
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5764,7 +5792,7 @@
Test
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5852,11 +5880,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5876,7 +5904,7 @@
Close Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5916,7 +5944,7 @@
Week to date
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5924,11 +5952,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5936,7 +5964,7 @@
Month to date
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5944,11 +5972,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5956,7 +5984,7 @@
Year to date
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5992,7 +6020,7 @@
année
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6004,7 +6032,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6012,11 +6040,11 @@
années
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6032,7 +6060,7 @@
Collecter les données
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6044,7 +6072,7 @@
Général
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6052,7 +6080,7 @@
Cloud
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6064,7 +6092,7 @@
Self-Hosting
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6105,7 +6133,7 @@
Actif
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6113,7 +6141,7 @@
Clôturé
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6145,7 +6173,7 @@
Execute la tâche
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6153,7 +6181,7 @@
Priorité
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6209,7 +6237,7 @@
Confirmer la suppresion de votre compte Ghostfolio ?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6257,7 +6285,7 @@
Include in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6265,7 +6293,7 @@
Oops! Une erreur s’est produite lors de la configuration de l’authentification biométrique.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6281,7 +6309,7 @@
Benchmarks
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6329,7 +6357,7 @@
Souhaitez-vous affiner votre stratégie d’investissement personnelle ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6661,7 +6689,7 @@
Erreur
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6713,7 +6741,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6745,7 +6773,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6753,7 +6781,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6765,7 +6793,7 @@
Fermer
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6791,13 +6819,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6809,7 +6841,7 @@
Role
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6833,7 +6865,7 @@
Résumé du portefeuille
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6900,6 +6932,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Depuis le début
@@ -7065,7 +7105,7 @@
Définir clé API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7101,7 +7141,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7117,7 +7157,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7171,7 +7211,7 @@
sur
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7179,7 +7219,7 @@
requêtes journalières
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7187,7 +7227,7 @@
Retirer la clé API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7195,7 +7235,7 @@
Voulez-vous vraiment supprimer la clé API?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7215,7 +7255,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7287,7 +7327,7 @@
Sauvegarder
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7323,11 +7363,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7339,7 +7379,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7363,7 +7403,7 @@
Veuillez saisir votre clé API Ghostfolio.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7379,7 +7419,7 @@
Le prompt IA a été copié dans le presse-papiers
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7395,7 +7435,7 @@
Paresseux
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7403,7 +7443,7 @@
Instantané
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7411,7 +7451,7 @@
Prix du marché par défaut
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7419,7 +7459,7 @@
Mode
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7427,7 +7467,7 @@
Selecteur
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7435,7 +7475,7 @@
En-têtes de requête HTTP
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7443,7 +7483,7 @@
fin de journée
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7451,7 +7491,7 @@
temps réel
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7459,7 +7499,7 @@
Ouvrir Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7479,7 +7519,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7491,7 +7531,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7499,11 +7539,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7607,11 +7647,11 @@
Jeton de sécurité
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7619,7 +7659,7 @@
Voulez-vous vraiment générer un nouveau jeton de sécurité pour cet utilisateur ?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7627,7 +7667,7 @@
Find account, holding or page...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7692,7 +7732,7 @@
( ) est déjà utilisé.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7700,7 +7740,7 @@
Une erreur s’est produite lors de la mise à jour vers ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
quelqu’un
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Voulez-vous vraiment supprimer cet élément?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,7 +7877,7 @@
Le compte utilisateur de démonstration a été synchronisé.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7872,25 +7912,25 @@
150
-
+
Fee Ratio
- Ratio de frais
+ Fee Ratio
apps/client/src/app/pages/i18n/i18n-page.html
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Les frais dépassent ${thresholdMax}% de votre investissement initial (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Les frais ne dépassent pas ${thresholdMax}% de votre investissement initial (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8051,7 +8091,7 @@
Current month
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
new
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Voulez-vous vraiment générer un nouveau jeton de sécurité?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8244,7 +8284,7 @@
Actions
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Crypto-monnaies
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Gérer le profil d’actif
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8696,7 +8736,7 @@
Registration Date
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf
index 746e1fbd1..b143bbde3 100644
--- a/apps/client/src/locales/messages.it.xlf
+++ b/apps/client/src/locales/messages.it.xlf
@@ -51,7 +51,7 @@
Tipo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -107,7 +107,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -119,7 +119,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -135,7 +135,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -179,15 +179,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -235,11 +235,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -267,11 +267,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -295,7 +299,7 @@
Vuoi davvero eliminare questo account?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -303,7 +307,7 @@
Elimina i lavori
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -311,7 +315,7 @@
Sorgente dei dati
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -323,7 +327,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -335,7 +339,7 @@
Tentativi
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -343,7 +347,7 @@
Creato
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -351,7 +355,7 @@
Finito
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -359,11 +363,11 @@
Stato
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -379,7 +383,7 @@
Profilo dell’asset
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -391,11 +395,11 @@
Dati storici del mercato
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -403,7 +407,7 @@
Visualizza i dati
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -411,7 +415,7 @@
Visualizza Stacktrace
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -419,7 +423,7 @@
Elimina il lavoro
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -435,7 +439,7 @@
Data
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -503,7 +507,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -511,7 +515,7 @@
Vuoi davvero eliminare questo buono?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -519,7 +523,7 @@
Vuoi davvero svuotare la cache?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -527,7 +531,7 @@
Imposta il messaggio di sistema:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -667,7 +671,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -723,7 +727,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -739,7 +743,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -759,15 +763,15 @@
Ops! Token di sicurezza errato.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -775,7 +779,7 @@
Gestione delle attività
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -891,7 +895,7 @@
Prestazioni lorde assolute
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -899,7 +903,7 @@
Prestazioni nette assolute
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -911,7 +915,7 @@
Prestazioni nette
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -923,7 +927,7 @@
Asset totali
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -931,7 +935,7 @@
Potere d’acquisto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -939,7 +943,7 @@
Patrimonio netto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -947,7 +951,7 @@
Prestazioni annualizzate
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -967,7 +971,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -975,7 +979,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -987,7 +991,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -999,7 +1003,7 @@
Tag
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1015,7 +1019,7 @@
Segnala un’anomalia dei dati
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1043,7 +1047,7 @@
Mostra tutti
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -1055,7 +1059,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -1063,11 +1067,11 @@
anno corrente
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -1075,11 +1079,11 @@
1 anno
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -1087,11 +1091,11 @@
5 anni
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -1107,11 +1111,11 @@
Massimo
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -1127,7 +1131,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -1219,7 +1223,7 @@
Vuoi davvero rimuovere questo metodo di accesso?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -1279,7 +1283,7 @@
Locale
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1327,7 +1331,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -1375,11 +1379,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -1419,7 +1423,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -1431,7 +1435,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -1611,7 +1615,7 @@
Poiché hai già effettuato l’accesso, non puoi accedere all’account demo.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -1657,6 +1661,10 @@
Overview
Panoramica
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -1675,11 +1683,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -1695,7 +1703,7 @@
Mercati
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -1719,7 +1727,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -1819,7 +1827,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -1915,7 +1923,7 @@
Current week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1959,7 +1967,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1971,7 +1979,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1987,7 +1995,7 @@
Prezzo unitario
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1999,7 +2007,7 @@
Nota
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -2007,7 +2015,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -2019,7 +2027,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -2039,11 +2047,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -2063,7 +2071,7 @@
Importazione dei dati...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -2071,7 +2079,7 @@
L’importazione è stata completata
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -2143,7 +2151,7 @@
Continenti
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -2159,7 +2167,7 @@
Ghostfolio ti permette di tenere traccia della tua ricchezza.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -2189,6 +2197,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Resources
@@ -2307,7 +2319,7 @@
Vuoi davvero eliminare questa attività?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -2375,7 +2387,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2391,7 +2403,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2415,7 +2427,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -2423,7 +2435,7 @@
Latest activities
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -2443,7 +2455,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -2455,7 +2467,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -2487,7 +2499,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -2511,7 +2523,7 @@
Risparmio
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -2523,11 +2535,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -2547,7 +2559,7 @@
Deposito
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -2555,7 +2567,7 @@
Mensile
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -2579,11 +2591,11 @@
Paura
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -2595,11 +2607,11 @@
Avidità
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -2611,7 +2623,7 @@
Filtra per...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -2647,7 +2659,7 @@
Benchmark
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -2659,11 +2671,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -2687,7 +2699,7 @@
Escluso dall’analisi
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -2695,7 +2707,7 @@
Auto
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2731,7 +2743,7 @@
Importo totale
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -2783,7 +2795,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -2791,7 +2803,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -2807,7 +2819,7 @@
Simbolo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -2823,7 +2835,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -2847,7 +2859,7 @@
Contanti
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -2895,7 +2907,7 @@
Authentication
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -2959,7 +2971,7 @@
Fondo di emergenza
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -2979,7 +2991,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -2991,7 +3003,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -2999,11 +3011,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -3107,7 +3119,7 @@
Mappatura dei simboli
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -3131,7 +3143,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -3139,11 +3151,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -3171,7 +3183,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -3179,7 +3191,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -3199,7 +3211,7 @@
Convalida dei dati...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3215,7 +3227,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -3223,7 +3235,7 @@
Dati del mercato
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -3240,7 +3252,7 @@
Summary
- Summario
+ Riepilogo
apps/client/src/app/components/home-summary/home-summary.html
2
@@ -3275,7 +3287,7 @@
Annuale
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -3283,7 +3295,7 @@
Importa i dividendi
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3299,7 +3311,7 @@
Valido fino a
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -3338,6 +3350,14 @@
22
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Fondo pensione
@@ -3611,11 +3631,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -3635,7 +3655,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -3799,7 +3819,7 @@
Vuoi davvero eliminare tutte le tue attività?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3810,6 +3830,14 @@
306
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
+
+
By
By
@@ -3831,7 +3859,7 @@
Current year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -3847,11 +3875,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -3867,7 +3895,7 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -3875,7 +3903,7 @@
Vuoi davvero eliminare questa piattaforma?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
@@ -3883,7 +3911,7 @@
Piattaforme
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -3891,7 +3919,7 @@
Aggiornamento del saldo di cassa
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -4071,7 +4099,7 @@
Passività
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -4227,7 +4255,7 @@
Configurazione dello scraper
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -4471,7 +4499,7 @@
ETF senza paesi
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -4479,7 +4507,7 @@
ETF senza settori
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -4487,7 +4515,7 @@
Asset
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -4659,7 +4687,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -4715,11 +4743,11 @@
Valute
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -4767,11 +4795,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -5433,7 +5461,7 @@
Commissione
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5465,7 +5493,7 @@
Sei sicuro di voler eliminare questo tag?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -5533,7 +5561,7 @@
Iscrizione
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5565,7 +5593,7 @@
Profilo dell’asset
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -5689,7 +5717,7 @@
Ops! Impossibile elaborare i dati storici.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -5697,7 +5725,7 @@
Confermi di voler cancellare questo messaggio di sistema?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -5721,7 +5749,7 @@
Saldi di cassa
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5741,7 +5769,7 @@
Vuoi veramente elimnare il saldo di questo conto?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5757,7 +5785,7 @@
L’attuale prezzo di mercato è
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5765,7 +5793,7 @@
Prova
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5853,11 +5881,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5877,7 +5905,7 @@
Close Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5917,7 +5945,7 @@
Da inizio settimana
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5925,11 +5953,11 @@
Settimana corrente
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5937,7 +5965,7 @@
Da inizio mese
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5945,11 +5973,11 @@
Mese corrente
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5957,7 +5985,7 @@
Da inizio anno
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5993,7 +6021,7 @@
anno
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6005,7 +6033,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6013,11 +6041,11 @@
anni
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6033,7 +6061,7 @@
Raccolta Dati
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6045,7 +6073,7 @@
Generale
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6053,7 +6081,7 @@
Cloud
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6065,7 +6093,7 @@
Self-Hosting
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6106,7 +6134,7 @@
Attivo
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6114,7 +6142,7 @@
Chiuso
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6146,7 +6174,7 @@
Esegui il lavoro
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6154,7 +6182,7 @@
Priorità
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6210,7 +6238,7 @@
Confermi di voler chiudere il tuo account Ghostfolio?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6258,7 +6286,7 @@
Include in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6266,7 +6294,7 @@
Ops! C’è stato un errore impostando l’autenticazione biometrica.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6282,7 +6310,7 @@
Benchmarks
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6330,7 +6358,7 @@
Vorresti perfezionare la tua strategia personale di investimento ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6662,7 +6690,7 @@
Errore
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6714,7 +6742,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6746,7 +6774,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6754,7 +6782,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6766,7 +6794,7 @@
Chiudi
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6792,13 +6820,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6810,7 +6842,7 @@
Role
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6834,7 +6866,7 @@
Stato del Portfolio
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6901,6 +6933,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Dall’inizio
@@ -7066,7 +7106,7 @@
Imposta API Key
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7102,7 +7142,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7118,7 +7158,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7172,7 +7212,7 @@
di
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7180,7 +7220,7 @@
richieste giornaliere
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7188,7 +7228,7 @@
Rimuovi API key
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7196,7 +7236,7 @@
Vuoi davvero eliminare l’API key?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7216,7 +7256,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7288,7 +7328,7 @@
Salva
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7324,11 +7364,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7340,7 +7380,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7364,7 +7404,7 @@
Inserisci la tua API key di Ghostfolio.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7380,7 +7420,7 @@
L’AI prompt è stato copiato negli appunti
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7396,7 +7436,7 @@
Pigro
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7404,7 +7444,7 @@
Istantaneo
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7412,7 +7452,7 @@
Prezzo di mercato predefinito
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7420,7 +7460,7 @@
Modalità
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7428,7 +7468,7 @@
Selettore
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7436,7 +7476,7 @@
Intestazioni della richiesta HTTP
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7444,7 +7484,7 @@
fine giornata
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7452,7 +7492,7 @@
in tempo reale
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7460,7 +7500,7 @@
Apri Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7480,7 +7520,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7492,7 +7532,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7500,11 +7540,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7608,11 +7648,11 @@
Token di sicurezza
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7620,7 +7660,7 @@
Vuoi davvero generare un nuovo token di sicurezza per questo utente?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7628,7 +7668,7 @@
Find account, holding or page...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7693,7 +7733,7 @@
( ) e gia in uso.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7701,7 +7741,7 @@
Si è verificato un errore durante l’aggiornamento di ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7765,7 +7805,7 @@
qualcuno
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7797,7 +7837,7 @@
Vuoi davvero eliminare questo elemento?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7838,7 +7878,7 @@
L’account utente demo è stato sincronizzato.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7873,25 +7913,25 @@
150
-
+
Fee Ratio
- Rapporto tariffario
+ Fee Ratio
apps/client/src/app/pages/i18n/i18n-page.html
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Le commissioni superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Le commissioni non superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8052,7 +8092,7 @@
Current month
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8060,11 +8100,11 @@
nuovo
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8221,7 +8261,7 @@
Vuoi davvero generare un nuovo token di sicurezza?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8245,7 +8285,7 @@
Azioni
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8257,7 +8297,7 @@
criptovalute
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8277,7 +8317,7 @@
Gestisci profilo risorsa
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8697,7 +8737,7 @@
Registration Date
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.ko.xlf b/apps/client/src/locales/messages.ko.xlf
index 67443706b..4f544e4aa 100644
--- a/apps/client/src/locales/messages.ko.xlf
+++ b/apps/client/src/locales/messages.ko.xlf
@@ -252,7 +252,7 @@
유형
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -336,7 +336,7 @@
현금 잔액
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -360,7 +360,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -372,7 +372,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -388,7 +388,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -432,7 +432,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -444,7 +444,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -464,15 +464,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -520,11 +520,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -552,11 +552,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -580,7 +584,7 @@
이 계정을 정말 삭제하시겠습니까?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -588,7 +592,7 @@
자산 프로필
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -596,11 +600,11 @@
과거 시장 데이터
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -608,7 +612,7 @@
데이터 소스
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -620,7 +624,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -632,7 +636,7 @@
시도 횟수
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -640,7 +644,7 @@
생성됨
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -648,7 +652,7 @@
완료됨
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -656,11 +660,11 @@
상태
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -676,7 +680,7 @@
작업 삭제
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -684,7 +688,7 @@
데이터 보기
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -692,7 +696,7 @@
스택트레이스 보기
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -700,7 +704,7 @@
작업 삭제
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -716,7 +720,7 @@
날짜
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -752,11 +756,11 @@
통화
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -764,7 +768,7 @@
국가 정보 없는 ETF
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -772,7 +776,7 @@
섹터 정보 없는 ETF
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -788,7 +792,7 @@
다음 기준으로 필터...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -828,7 +832,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -880,7 +884,7 @@
이런! 과거 데이터를 파싱할 수 없습니다.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -912,7 +916,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -944,7 +948,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -956,7 +960,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -964,7 +968,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -976,7 +980,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -988,7 +992,7 @@
심볼 매핑
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -1004,7 +1008,7 @@
스크래퍼 설정
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -1012,7 +1016,7 @@
메모
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -1020,7 +1024,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -1064,7 +1068,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1072,7 +1076,7 @@
이 쿠폰을 정말 삭제하시겠습니까?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -1080,7 +1084,7 @@
이 시스템 메시지를 정말 삭제하시겠습니까?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -1088,7 +1092,7 @@
정말로 캐시를 플러시하시겠습니까?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -1096,7 +1100,7 @@
시스템 메시지를 설정하십시오:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -1220,11 +1224,11 @@
링크
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1240,7 +1244,7 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -1248,7 +1252,15 @@
정말로 이 플랫폼을 삭제하시겠습니까?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
+
+
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
@@ -1272,7 +1284,7 @@
올해
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -1288,7 +1300,7 @@
플랫폼
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -1296,7 +1308,7 @@
태그
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1320,7 +1332,7 @@
이 태그를 정말로 삭제하시겠습니까?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -1380,7 +1392,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -1412,11 +1424,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -1464,7 +1476,7 @@
기준
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -1500,7 +1512,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -1520,15 +1532,15 @@
이런! 잘못된 보안 토큰.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -1536,7 +1548,7 @@
활동 관리
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -1544,11 +1556,11 @@
두려움
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1560,11 +1572,11 @@
탐욕
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -1668,7 +1680,7 @@
이번주
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1688,7 +1700,7 @@
총액
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -1800,7 +1812,7 @@
절대 총 성과
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -1812,7 +1824,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -1820,7 +1832,7 @@
절대 순 성과
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1832,7 +1844,7 @@
순 성과
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1844,7 +1856,7 @@
총자산
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -1852,7 +1864,7 @@
자산
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -1860,7 +1872,7 @@
매수 가능 금액
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -1868,7 +1880,7 @@
분석에서 제외됨
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -1876,7 +1888,7 @@
부채
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -1888,7 +1900,7 @@
순자산
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -1896,7 +1908,7 @@
연환산 성과
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -1932,7 +1944,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1948,7 +1960,7 @@
데이터 결함 보고
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -2128,7 +2140,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -2136,11 +2148,11 @@
연초 대비
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -2148,11 +2160,11 @@
1년
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -2160,11 +2172,11 @@
5년
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -2180,11 +2192,11 @@
맥스
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -2284,7 +2296,7 @@
자동
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2296,7 +2308,7 @@
이 로그인 방법을 정말로 제거하시겠습니까?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -2336,7 +2348,7 @@
장소
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2448,7 +2460,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -2480,7 +2492,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2492,7 +2504,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2508,7 +2520,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -2636,11 +2648,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -2732,7 +2744,7 @@
시장 데이터
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -2766,6 +2778,10 @@
Overview
개요
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -2784,11 +2800,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -2912,11 +2928,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -2932,7 +2948,7 @@
이미 로그인되어 있으므로 데모 계정에 접근할 수 없습니다.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -3104,7 +3120,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -3156,7 +3172,7 @@
시장
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -3180,7 +3196,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -3612,7 +3628,7 @@
작업 ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -3648,7 +3664,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -3668,11 +3684,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -3692,7 +3708,7 @@
정말로 이 활동을 삭제하시겠습니까?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3760,7 +3776,7 @@
현금 잔액 업데이트
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -3768,7 +3784,7 @@
단가
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3796,7 +3812,7 @@
배당금 가져오기
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3812,7 +3828,7 @@
데이터 가져오는 중...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -3820,7 +3836,7 @@
가져오기가 완료되었습니다.
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -3836,7 +3852,7 @@
데이터 유효성을 검사하는 중...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -4008,7 +4024,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -4032,7 +4048,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -4040,7 +4056,7 @@
최신 활동
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -4052,7 +4068,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -4064,7 +4080,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -4124,7 +4140,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -4132,11 +4148,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -4156,7 +4172,7 @@
보증금
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -4164,7 +4180,7 @@
월간
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -4172,7 +4188,7 @@
매년
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -4452,11 +4468,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -4480,7 +4496,7 @@
대륙
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -4496,7 +4512,7 @@
Ghostfolio는 귀하의 재산을 추적할 수 있도록 해줍니다.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -4526,6 +4542,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Personal Finance Tools
@@ -4869,7 +4889,7 @@
멤버십
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -4937,7 +4957,7 @@
정말로 이 계정 잔액을 삭제하시겠습니까?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -4993,7 +5013,7 @@
정말로 이 활동을 삭제하시겠습니까?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -5001,7 +5021,7 @@
자산 프로필
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -5113,11 +5133,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -5129,7 +5149,7 @@
저금
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -5157,7 +5177,7 @@
모두 표시
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -5201,7 +5221,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5209,7 +5229,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -5233,7 +5253,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5241,7 +5261,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -5285,7 +5305,7 @@
비상자금
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -5361,7 +5381,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -5372,6 +5392,14 @@
27
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
퇴직금
@@ -5401,7 +5429,7 @@
상징
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -5417,7 +5445,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -5489,7 +5517,7 @@
요금
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5533,7 +5561,7 @@
현금
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -5581,7 +5609,7 @@
입증
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -5725,7 +5753,7 @@
유효기간
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -5749,7 +5777,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -5757,11 +5785,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -5789,7 +5817,7 @@
현재 시장가격은
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5797,7 +5825,7 @@
시험
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5877,7 +5905,7 @@
닫기 보유
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5901,11 +5929,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5941,7 +5969,7 @@
연초 현재
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5949,7 +5977,7 @@
이번주 현재까지
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5957,7 +5985,7 @@
월간 누계
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5965,11 +5993,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5977,11 +6005,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -6017,7 +6045,7 @@
년도
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6029,7 +6057,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6037,11 +6065,11 @@
연령
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6070,7 +6098,7 @@
셀프 호스팅
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6082,7 +6110,7 @@
데이터 수집
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6094,7 +6122,7 @@
일반적인
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6102,7 +6130,7 @@
구름
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6130,7 +6158,7 @@
닫은
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6138,7 +6166,7 @@
활동적인
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6170,7 +6198,7 @@
작업 실행
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6186,7 +6214,7 @@
우선 사항
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6242,7 +6270,7 @@
정말로 Ghostfolio 계정을 폐쇄하시겠습니까?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6282,7 +6310,7 @@
포함
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6290,7 +6318,7 @@
이런! 생체 인증을 설정하는 중에 오류가 발생했습니다.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6330,7 +6358,7 @@
벤치마크
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6354,7 +6382,7 @@
개인 투자 전략 을 개선 하시겠습니까?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6686,7 +6714,7 @@
오류
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6698,7 +6726,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6730,7 +6758,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6738,7 +6766,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6750,7 +6778,7 @@
역할
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6782,7 +6810,7 @@
닫다
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6808,13 +6836,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6874,7 +6906,7 @@
포트폴리오 스냅샷
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6933,6 +6965,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
offers a free plan
은(는) 무료 요금제를 제공합니다
@@ -7090,7 +7130,7 @@
API 키 설정
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7126,7 +7166,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7155,7 +7195,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7204,7 +7244,7 @@
~의
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7212,7 +7252,7 @@
API 키를 정말로 삭제하시겠습니까?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7220,7 +7260,7 @@
API 키 제거
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7228,7 +7268,7 @@
일일 요청
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7256,7 +7296,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7312,7 +7352,7 @@
구하다
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7348,11 +7388,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7380,7 +7420,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7388,7 +7428,7 @@
Ghostfolio API 키를 입력하세요.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7404,7 +7444,7 @@
AI 프롬프트가 클립보드에 복사되었습니다.
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7420,7 +7460,7 @@
방법
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7428,7 +7468,7 @@
기본 시장 가격
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7436,7 +7476,7 @@
선택자
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7444,7 +7484,7 @@
즉각적인
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7452,7 +7492,7 @@
게으른
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7460,7 +7500,7 @@
HTTP 요청 헤더
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7468,7 +7508,7 @@
실시간
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7476,7 +7516,7 @@
하루의 끝
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7484,7 +7524,7 @@
오픈 Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7504,7 +7544,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7516,7 +7556,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7524,11 +7564,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7632,7 +7672,7 @@
정말로 이 사용자에 대한 새 보안 토큰을 생성하시겠습니까?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7640,7 +7680,7 @@
계정, 보유 또는 페이지 찾기...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7648,11 +7688,11 @@
보안 토큰
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7717,7 +7757,7 @@
( )은(는) 이미 사용 중입니다.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7725,7 +7765,7 @@
( )로 업데이트하는 동안 오류가 발생했습니다.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7765,7 +7805,7 @@
누구
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7797,7 +7837,7 @@
이 항목을 정말로 삭제하시겠습니까?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7846,7 +7886,7 @@
데모 사용자 계정이 동기화되었습니다.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7873,25 +7913,25 @@
150
-
+
Fee Ratio
- 수수료 비율
+ Fee Ratio
apps/client/src/app/pages/i18n/i18n-page.html
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- 수수료가 초기 투자금(${feeRatio}%)의 ${thresholdMax}%를 초과합니다.
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- 수수료는 초기 투자금의 ${thresholdMax}%(${feeRatio}%)를 초과하지 않습니다.
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8052,7 +8092,7 @@
이번 달
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8060,11 +8100,11 @@
새로운
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8237,7 +8277,7 @@
정말로 새로운 보안 토큰을 생성하시겠습니까?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8245,7 +8285,7 @@
암호화폐
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8257,7 +8297,7 @@
주식
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8277,7 +8317,7 @@
자산 프로필 관리
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8697,7 +8737,7 @@
등록일
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf
index d7d0b71e8..039969da0 100644
--- a/apps/client/src/locales/messages.nl.xlf
+++ b/apps/client/src/locales/messages.nl.xlf
@@ -39,7 +39,7 @@
please
- please
+ alsjeblieft
apps/client/src/app/pages/pricing/pricing-page.html
333
@@ -50,7 +50,7 @@
Type
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -83,7 +83,7 @@
with
- with
+ met
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
87
@@ -106,7 +106,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -118,7 +118,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -134,7 +134,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -178,15 +178,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -234,11 +234,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -266,11 +266,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -294,7 +298,7 @@
Wil je deze rekening echt verwijderen?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -302,7 +306,7 @@
Taken verwijderen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -310,7 +314,7 @@
Gegevensbron
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -322,7 +326,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -334,7 +338,7 @@
Pogingen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -342,7 +346,7 @@
Aangemaakt
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -350,7 +354,7 @@
Voltooid
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -358,16 +362,16 @@
Status
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
and is driven by the efforts of its contributors
- and is driven by the efforts of its contributors
+ en wordt gedreven door de inspanningen van zijn bijdragers
apps/client/src/app/pages/about/overview/about-overview-page.html
49
@@ -378,7 +382,7 @@
Activa Profiel
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -390,11 +394,11 @@
Historische marktgegevens
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -402,7 +406,7 @@
Bekijk gegevens
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -410,7 +414,7 @@
Bekijk Stacktrace
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -418,7 +422,7 @@
Taak verwijderen
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -434,7 +438,7 @@
Datum
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -502,7 +506,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -510,7 +514,7 @@
Wil je deze coupon echt verwijderen?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -518,7 +522,7 @@
Wil je echt de cache legen?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -526,7 +530,7 @@
Stel je systeemboodschap in:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -651,7 +655,7 @@
No auto-renewal on membership.
- No auto-renewal on membership.
+ Het lidmaatschap wordt niet automatisch verlengd.
apps/client/src/app/components/user-account-membership/user-account-membership.html
74
@@ -666,7 +670,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -722,7 +726,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -738,7 +742,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -758,15 +762,15 @@
Oeps! Onjuiste beveiligingstoken.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -774,7 +778,7 @@
Activiteiten beheren
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -890,7 +894,7 @@
Absoluut bruto rendement
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -898,7 +902,7 @@
Absoluut netto rendement
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -910,7 +914,7 @@
Netto rendement
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -922,7 +926,7 @@
Totaal Activa
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -930,7 +934,7 @@
Koopkracht
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -938,7 +942,7 @@
Netto waarde
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -946,7 +950,7 @@
Rendement per jaar
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -966,7 +970,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -974,7 +978,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -986,7 +990,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -998,7 +1002,7 @@
Tags
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1014,7 +1018,7 @@
Gegevensstoring melden
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1042,7 +1046,7 @@
Toon alle
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -1054,7 +1058,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -1062,11 +1066,11 @@
YTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -1074,11 +1078,11 @@
1J
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -1086,16 +1090,16 @@
5J
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
Performance with currency effect
- Performance with currency effect
+ Prestaties met valuta-effect
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
135
@@ -1106,11 +1110,11 @@
Max
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -1126,7 +1130,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -1218,7 +1222,7 @@
Wil je deze aanmeldingsmethode echt verwijderen?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -1278,7 +1282,7 @@
Locatie
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1326,7 +1330,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -1374,11 +1378,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -1418,7 +1422,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -1430,7 +1434,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -1610,7 +1614,7 @@
Aangezien je al ingelogd bent, heb je geen toegang tot de demo-account.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -1656,6 +1660,10 @@
Overview
Overzicht
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -1674,11 +1682,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -1694,7 +1702,7 @@
Markten
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -1718,7 +1726,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -1818,7 +1826,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -1911,10 +1919,10 @@
Current week
- Current week
+ Huidige week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1958,7 +1966,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1970,7 +1978,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1986,7 +1994,7 @@
Prijs per eenheid
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1998,7 +2006,7 @@
Opmerking
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -2006,7 +2014,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -2018,7 +2026,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -2038,11 +2046,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -2062,7 +2070,7 @@
Gegevens importeren...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -2070,12 +2078,12 @@
Importeren is voltooid
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
or start a discussion at
- or start a discussion at
+ of start een discussie op
apps/client/src/app/pages/about/overview/about-overview-page.html
94
@@ -2142,12 +2150,12 @@
Continenten
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
Sustainable retirement income
- Sustainable retirement income
+ Duurzaam pensioeninkomen
apps/client/src/app/pages/portfolio/fire/fire-page.html
41
@@ -2158,7 +2166,7 @@
Ghostfolio stelt je in staat om je vermogen bij te houden.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -2188,6 +2196,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Resources
@@ -2306,7 +2318,7 @@
Wil je deze activiteit echt verwijderen?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -2319,7 +2331,7 @@
contact us
- contact us
+ contacteer ons
apps/client/src/app/pages/pricing/pricing-page.html
336
@@ -2374,7 +2386,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2390,12 +2402,12 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
Exclude from Analysis
- Exclude from Analysis
+ Uitsluiten van analyse
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
90
@@ -2414,15 +2426,15 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
Latest activities
- Latest activities
+ Laatste activiteiten
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -2442,7 +2454,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -2454,7 +2466,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -2486,7 +2498,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -2510,7 +2522,7 @@
Besparingen
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -2522,11 +2534,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -2535,7 +2547,7 @@
annual interest rate
- annual interest rate
+ jaarlijkse rente
apps/client/src/app/pages/portfolio/fire/fire-page.html
185
@@ -2546,7 +2558,7 @@
Storting
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -2554,7 +2566,7 @@
Maandelijks
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -2578,11 +2590,11 @@
Angst
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -2594,11 +2606,11 @@
Hebzucht
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -2610,7 +2622,7 @@
Filter op...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -2646,7 +2658,7 @@
Benchmark
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -2655,14 +2667,14 @@
Could not validate form
- Could not validate form
+ Het formulier kon niet worden gevalideerd.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -2686,7 +2698,7 @@
Uitgesloten van analyse
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -2694,7 +2706,7 @@
Automatisch
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2730,7 +2742,7 @@
Totaalbedrag
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -2782,7 +2794,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -2790,7 +2802,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -2806,7 +2818,7 @@
Symbool
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -2822,7 +2834,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -2846,7 +2858,7 @@
Contant geld
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -2891,10 +2903,10 @@
Authentication
- Authentication
+ Authenticatie
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -2958,7 +2970,7 @@
Noodfonds
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -2978,7 +2990,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -2990,7 +3002,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -2998,11 +3010,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -3043,7 +3055,7 @@
If you retire today, you would be able to withdraw
- If you retire today, you would be able to withdraw
+ Als u vandaag met pensioen gaat, kunt u
apps/client/src/app/pages/portfolio/fire/fire-page.html
68
@@ -3106,12 +3118,12 @@
Symbool toewijzen
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
Looking for a student discount?
- Looking for a student discount?
+ Op zoek naar studentenkorting?
apps/client/src/app/pages/pricing/pricing-page.html
342
@@ -3130,7 +3142,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -3138,11 +3150,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -3170,7 +3182,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -3178,7 +3190,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -3198,7 +3210,7 @@
Gegevens valideren...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3214,7 +3226,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -3222,7 +3234,7 @@
Marktgegevens
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -3274,7 +3286,7 @@
Jaarlijks
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -3282,7 +3294,7 @@
Importeer dividenden
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3298,7 +3310,7 @@
Geldig tot
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -3337,6 +3349,14 @@
22
+
+ No Activities
+ Geen activiteiten
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Pensioen
@@ -3347,7 +3367,7 @@
Everything in Basic , plus
- Everything in Basic , plus
+ Alles van Basic , plus
apps/client/src/app/pages/pricing/pricing-page.html
199
@@ -3607,14 +3627,14 @@
Could not save asset profile
- Could not save asset profile
+ Kon het assetprofiel niet opslaan
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -3634,7 +3654,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -3798,7 +3818,7 @@
Weet je zeker dat je alle activiteiten wilt verwijderen?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3809,9 +3829,17 @@
306
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
+
+
By
- By
+ Tegen
apps/client/src/app/pages/portfolio/fire/fire-page.html
139
@@ -3827,10 +3855,10 @@
Current year
- Current year
+ Huidig jaar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -3846,11 +3874,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -3863,10 +3891,10 @@
Asset profile has been saved
- Asset profile has been saved
+ Het activaprofiel is opgeslagen.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -3874,7 +3902,7 @@
Wil je dit platform echt verwijderen?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
@@ -3882,7 +3910,7 @@
Platforms
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -3890,7 +3918,7 @@
Saldo bijwerken
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -4055,7 +4083,7 @@
View Details
- View Details
+ Bekijk details
apps/client/src/app/components/admin-users/admin-users.html
225
@@ -4070,7 +4098,7 @@
Verplichtingen
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -4191,7 +4219,7 @@
per week
- per week
+ per week
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
130
@@ -4215,7 +4243,7 @@
and we share aggregated key metrics of the platform’s performance
- and we share aggregated key metrics of the platform’s performance
+ en we delen geaggregeerde belangrijke prestatiegegevens van het platform
apps/client/src/app/pages/about/overview/about-overview-page.html
32
@@ -4226,7 +4254,7 @@
Scraper instellingen
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -4259,7 +4287,7 @@
Website of Thomas Kaul
- Website of Thomas Kaul
+ Website van Thomas Kaul
apps/client/src/app/pages/about/overview/about-overview-page.html
44
@@ -4439,7 +4467,7 @@
Sign in with OpenID Connect
- Sign in with OpenID Connect
+ Meld je aan met OpenID Connect
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
55
@@ -4470,7 +4498,7 @@
ETF’s zonder Landen
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -4478,7 +4506,7 @@
ETF’s zonder Sectoren
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -4486,7 +4514,7 @@
Assets
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -4531,7 +4559,7 @@
The source code is fully available as open source software (OSS) under the AGPL-3.0 license
- The source code is fully available as open source software (OSS) under the AGPL-3.0 license
+ De broncode is volledig beschikbaar als open source software (OSS) onder de AGPL-3.0-licentie
apps/client/src/app/pages/about/overview/about-overview-page.html
16
@@ -4603,7 +4631,7 @@
this is projected to increase to
- this is projected to increase to
+ zal dit naar verwachting stijgen tot
apps/client/src/app/pages/portfolio/fire/fire-page.html
147
@@ -4655,10 +4683,10 @@
Job ID
- Job ID
+ Opdracht ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -4714,11 +4742,11 @@
Valuta
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -4739,7 +4767,7 @@
for
- for
+ voor
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
128
@@ -4763,14 +4791,14 @@
Could not parse scraper configuration
- Could not parse scraper configuration
+ De scraperconfiguratie kon niet worden geparseerd
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -4807,7 +4835,7 @@
Edit access
- Edit access
+ Toegang bewerken
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
11
@@ -4879,7 +4907,7 @@
Get access to 80’000+ tickers from over 50 exchanges
- Get access to 80’000+ tickers from over 50 exchanges
+ Krijg toegang tot meer dan 80.000+ tickers van meer dan 50 beurzen
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
84
@@ -5063,7 +5091,7 @@
less than
- less than
+ minder dan
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
129
@@ -5353,7 +5381,7 @@
Ghostfolio Status
- Ghostfolio Status
+ Ghostfolio Status
apps/client/src/app/pages/about/overview/about-overview-page.html
62
@@ -5361,7 +5389,7 @@
with your university e-mail address
- with your university e-mail address
+ met uw universitaire e-mailadres
apps/client/src/app/pages/pricing/pricing-page.html
348
@@ -5381,7 +5409,7 @@
and a safe withdrawal rate (SWR) of
- and a safe withdrawal rate (SWR) of
+ en een veilige opnameratio (SWR) van
apps/client/src/app/pages/portfolio/fire/fire-page.html
108
@@ -5432,7 +5460,7 @@
Kosten
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5464,7 +5492,7 @@
Weet u zetker dat u dit label wilt verwijderen?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -5532,7 +5560,7 @@
Lidmaatschap
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5545,7 +5573,7 @@
Request it
- Request it
+ Aanvragen
apps/client/src/app/pages/pricing/pricing-page.html
344
@@ -5564,7 +5592,7 @@
Bezittingen Profiel
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -5601,7 +5629,7 @@
,
- ,
+ ,
apps/client/src/app/pages/portfolio/fire/fire-page.html
145
@@ -5617,7 +5645,7 @@
per month
- per month
+ per maand
apps/client/src/app/pages/portfolio/fire/fire-page.html
94
@@ -5688,7 +5716,7 @@
Oeps! Ophalen van historische data is mislukt.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -5696,7 +5724,7 @@
Wilt u dit systeembericht echt verwijderen?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -5720,7 +5748,7 @@
Contant Saldo
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5740,7 +5768,7 @@
Wilt u dit rekeningsaldo echt verwijderen?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5756,7 +5784,7 @@
De huidige markt waarde is
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5764,7 +5792,7 @@
Test
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5809,7 +5837,7 @@
Argentina
- Argentina
+ Argentinië
libs/ui/src/lib/i18n.ts
78
@@ -5852,11 +5880,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5865,7 +5893,7 @@
here
- here
+ hier
apps/client/src/app/pages/pricing/pricing-page.html
347
@@ -5873,10 +5901,10 @@
Close Holding
- Close Holding
+ Sluit Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5916,7 +5944,7 @@
Week tot nu toe
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5924,11 +5952,11 @@
Week tot nu toe
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5936,7 +5964,7 @@
Maand tot nu toe
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5944,11 +5972,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5956,7 +5984,7 @@
Jaar tot nu toe
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5992,7 +6020,7 @@
jaar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6004,7 +6032,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6012,11 +6040,11 @@
jaren
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6032,7 +6060,7 @@
Data Verzamelen
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6044,7 +6072,7 @@
Algemeen
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6052,7 +6080,7 @@
Cloud
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6064,7 +6092,7 @@
Zelf Hosten
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6105,7 +6133,7 @@
Actief
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6113,7 +6141,7 @@
Gesloten
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6145,7 +6173,7 @@
Opdracht Uitvoeren
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6153,7 +6181,7 @@
Prioriteit
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6209,7 +6237,7 @@
Wilt u uw Ghostfolio account echt sluiten?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6254,10 +6282,10 @@
Include in
- Include in
+ Opnemen in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6265,7 +6293,7 @@
Oeps! Er is een fout opgetreden met het instellen van de biometrische authenticatie.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6281,7 +6309,7 @@
Benchmarks
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6329,7 +6357,7 @@
Wilt u uw persoonlijke belegginngsstrategie verfijnen ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6538,7 +6566,7 @@
View Holding
- View Holding
+ Bekijk Holding
libs/ui/src/lib/activities-table/activities-table.component.html
450
@@ -6661,7 +6689,7 @@
Fout
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6682,7 +6710,7 @@
Oops! Could not update access.
- Oops! Could not update access.
+ Oops! Kan de toegang niet updaten.
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts
178
@@ -6690,7 +6718,7 @@
, based on your total assets of
- , based on your total assets of
+ opnemen, dit is gebaseerd op uw totale vermogen van
apps/client/src/app/pages/portfolio/fire/fire-page.html
96
@@ -6713,7 +6741,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6745,7 +6773,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6753,7 +6781,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6765,7 +6793,7 @@
Sluiten
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6791,13 +6819,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6806,10 +6838,10 @@
Role
- Role
+ Rol
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6833,7 +6865,7 @@
Portfolio Momentopname
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6846,7 +6878,7 @@
If you plan to open an account at
- If you plan to open an account at
+ Als u van plan bent een rekening te openen bij
apps/client/src/app/pages/pricing/pricing-page.html
312
@@ -6878,7 +6910,7 @@
send an e-mail to
- send an e-mail to
+ stuur een e-mail naar
apps/client/src/app/pages/about/overview/about-overview-page.html
87
@@ -6900,6 +6932,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Vanaf het begin
@@ -6950,7 +6990,7 @@
, assuming a
- , assuming a
+ , uitgaande van
apps/client/src/app/pages/portfolio/fire/fire-page.html
174
@@ -7038,7 +7078,7 @@
Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions.
- Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions.
+ Ghostfolio is een gebruiksvriendelijke applicatie voor vermogensbeheer waarmee particulieren hun aandelen, ETF's of cryptovaluta kunnen volgen en weloverwogen, datagestuurde beleggingsbeslissingen kunnen nemen.
apps/client/src/app/pages/about/overview/about-overview-page.html
10
@@ -7065,7 +7105,7 @@
API-sleutel instellen
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7101,7 +7141,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7117,7 +7157,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7171,7 +7211,7 @@
van
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7179,7 +7219,7 @@
dagelijkse verzoeken
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7187,7 +7227,7 @@
Verwijder API-sleutel
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7195,7 +7235,7 @@
Wilt u de API-sleutel echt verwijderen?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7215,7 +7255,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7287,7 +7327,7 @@
Opslaan
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7323,11 +7363,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7339,7 +7379,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7363,12 +7403,12 @@
Voer uw Ghostfolio API-sleutel in.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
Change with currency effect
- Change with currency effect
+ Verandering met valuta-effect
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
116
@@ -7379,7 +7419,7 @@
AI-prompt is naar het klembord gekopieerd
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7395,7 +7435,7 @@
Lui
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7403,7 +7443,7 @@
Direct
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7411,7 +7451,7 @@
Standaard Marktprijs
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7419,7 +7459,7 @@
Modus
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7427,7 +7467,7 @@
Kiezer
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7435,7 +7475,7 @@
HTTP Verzoek Headers
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7443,7 +7483,7 @@
eind van de dag
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7451,7 +7491,7 @@
real-time
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7459,7 +7499,7 @@
Open Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7479,7 +7519,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7491,7 +7531,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7499,16 +7539,16 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
The project has been initiated by
- The project has been initiated by
+ Het project is geïnitieerd door
apps/client/src/app/pages/about/overview/about-overview-page.html
40
@@ -7532,7 +7572,7 @@
Total amount
- Total amount
+ Totaal bedrag
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
95
@@ -7607,11 +7647,11 @@
Beveiligingstoken
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7619,15 +7659,15 @@
Wilt u echt een nieuw beveiligingstoken voor deze gebruiker aanmaken?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
Find account, holding or page...
- Find account, holding or page...
+ Vindt een account, holding of pagina...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7692,7 +7732,7 @@
( ) is al in gebruik.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7700,7 +7740,7 @@
Er is een fout opgetreden tijdens het updaten naar ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
iemand
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Wilt u dit item echt verwijderen?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,7 +7877,7 @@
Demo-gebruikersaccount is gesynchroniseerd.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7872,7 +7912,7 @@
150
-
+
Fee Ratio
Vergoedingsverhouding
@@ -7880,17 +7920,17 @@
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- De kosten overschrijden ${thresholdMax}% van uw initiële investering (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ De kosten overschrijden ${thresholdMax}% van uw totale investeringsvolume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- De kosten bedragen niet meer dan ${thresholdMax}% van uw initiële investering (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ De kosten bedragen maximaal ${thresholdMax}% van uw totale investeringsvolume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8048,10 +8088,10 @@
Current month
- Current month
+ Huidige maand
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
nieuw
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Wilt u echt een nieuwe securitytoken genereren?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8233,7 +8273,7 @@
If you encounter a bug, would like to suggest an improvement or a new feature , please join the Ghostfolio Slack community, post to @ghostfolio_
- If you encounter a bug, would like to suggest an improvement or a new feature , please join the Ghostfolio Slack community, post to @ghostfolio_
+ Als je een bug tegenkomt, een verbetering wilt voorstellen of een nieuwe functie wilt toevoegen, word dan lid van de Ghostfolio Slack-community . Stuur een bericht naar @ghostfolio_
apps/client/src/app/pages/about/overview/about-overview-page.html
69
@@ -8244,7 +8284,7 @@
Aandelen
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Cryptovaluta
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Beheer activaprofiel
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8357,7 +8397,7 @@
Liquidity
- Liquidity
+ Liquiditeit
apps/client/src/app/pages/i18n/i18n-page.html
70
@@ -8365,7 +8405,7 @@
Buying Power
- Buying Power
+ Koopkracht
apps/client/src/app/pages/i18n/i18n-page.html
71
@@ -8373,7 +8413,7 @@
Your buying power is below ${thresholdMin} ${baseCurrency}
- Your buying power is below ${thresholdMin} ${baseCurrency}
+ Uw koopkracht ligt onder ${thresholdMin} ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
73
@@ -8381,7 +8421,7 @@
Your buying power is 0 ${baseCurrency}
- Your buying power is 0 ${baseCurrency}
+ Uw koopkracht is 0 ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
77
@@ -8389,7 +8429,7 @@
Your buying power exceeds ${thresholdMin} ${baseCurrency}
- Your buying power exceeds ${thresholdMin} ${baseCurrency}
+ Uw koopkracht overschrijdt ${thresholdMin} ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
80
@@ -8693,10 +8733,10 @@
Registration Date
- Registration Date
+ Registratiedatum
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf
index a94a76d2f..a15609e6a 100644
--- a/apps/client/src/locales/messages.pl.xlf
+++ b/apps/client/src/locales/messages.pl.xlf
@@ -240,7 +240,7 @@
please
- please
+ proszę
apps/client/src/app/pages/pricing/pricing-page.html
333
@@ -251,7 +251,7 @@
Typ
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -284,7 +284,7 @@
with
- with
+ z
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
87
@@ -351,7 +351,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -363,7 +363,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -379,7 +379,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -423,7 +423,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -435,7 +435,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -455,15 +455,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -511,11 +511,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -543,11 +543,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -571,7 +575,7 @@
Czy na pewno chcesz usunąć to konto?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -579,7 +583,7 @@
Profil Aktywów
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -587,11 +591,11 @@
Historyczne Dane Rynkowe
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -599,7 +603,7 @@
Źródło Danych
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -611,7 +615,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -623,7 +627,7 @@
Próby
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -631,7 +635,7 @@
Utworzono
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -639,7 +643,7 @@
Zakończono
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -647,16 +651,16 @@
Status
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
and is driven by the efforts of its contributors
- and is driven by the efforts of its contributors
+ i jest rozwijany dzięki pracy jego współtwórców
apps/client/src/app/pages/about/overview/about-overview-page.html
49
@@ -667,7 +671,7 @@
Usuń Zadania
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -675,7 +679,7 @@
Zobacz Dane
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -683,7 +687,7 @@
Wyświetl Stos Wywołań
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -691,7 +695,7 @@
Usuń Zadanie
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -707,7 +711,7 @@
Data
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -743,11 +747,11 @@
Waluty
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -755,7 +759,7 @@
ETF-y bez Krajów
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -763,7 +767,7 @@
ETF-y bez Sektorów
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -779,7 +783,7 @@
Filtruj według...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -819,7 +823,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -855,7 +859,7 @@
Ups! Nie udało się sparsować danych historycznych.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -879,7 +883,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -911,7 +915,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -923,7 +927,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -931,7 +935,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -943,7 +947,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -955,7 +959,7 @@
Mapowanie Symboli
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -971,7 +975,7 @@
Konfiguracja Scrapera
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -979,7 +983,7 @@
Notatka
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -987,7 +991,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -1031,7 +1035,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1039,7 +1043,7 @@
Czy naprawdę chcesz usunąć ten kupon?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -1047,7 +1051,7 @@
Czy naprawdę chcesz usunąć tę wiadomość systemową?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -1055,7 +1059,7 @@
Czy naprawdę chcesz wyczyścić pamięć podręczną?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -1063,7 +1067,7 @@
Proszę ustawić swoją wiadomość systemową:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -1187,11 +1191,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1204,10 +1208,10 @@
Asset profile has been saved
- Asset profile has been saved
+ Profil zasobu został zapisany
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -1215,12 +1219,20 @@
Czy naprawdę chcesz usunąć tę platformę?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
+
+
+
+ Explore
+ Eksploruj
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
By
- By
+ Przez
apps/client/src/app/pages/portfolio/fire/fire-page.html
139
@@ -1236,10 +1248,10 @@
Current year
- Current year
+ Obecny rok
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -1255,7 +1267,7 @@
Platformy
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -1263,7 +1275,7 @@
Tagi
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1287,7 +1299,7 @@
Czy naprawdę chcesz usunąć ten tag?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -1332,7 +1344,7 @@
No auto-renewal on membership.
- No auto-renewal on membership.
+ Brak automatycznego odnawiania członkostwa.
apps/client/src/app/components/user-account-membership/user-account-membership.html
74
@@ -1347,7 +1359,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -1379,11 +1391,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -1431,7 +1443,7 @@
Poziom Odniesienia (Benchmark)
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -1467,7 +1479,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -1487,15 +1499,15 @@
Ups! Nieprawidłowy token bezpieczeństwa.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -1503,7 +1515,7 @@
Zarządzaj Aktywnościami
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -1511,11 +1523,11 @@
Zagrożenie
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1527,11 +1539,11 @@
Zachłanność
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -1568,7 +1580,7 @@
The source code is fully available as open source software (OSS) under the AGPL-3.0 license
- The source code is fully available as open source software (OSS) under the AGPL-3.0 license
+ Kod źródłowy jest w pełni dostępny jako oprogramowanie open source (OSS) na licencji AGPL-3.0 license
apps/client/src/app/pages/about/overview/about-overview-page.html
16
@@ -1632,10 +1644,10 @@
Current week
- Current week
+ Obecny tydzień
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1655,7 +1667,7 @@
Całkowita Kwota
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -1767,7 +1779,7 @@
Bezwzględne Osiągi Brutto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -1779,7 +1791,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -1787,7 +1799,7 @@
Bezwzględne Osiągi Netto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1799,7 +1811,7 @@
Osiągi Netto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1811,7 +1823,7 @@
Suma Aktywów
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -1819,7 +1831,7 @@
Aktywa
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -1827,7 +1839,7 @@
Siła Nabywcza
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -1835,7 +1847,7 @@
Wykluczone z Analizy
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -1843,7 +1855,7 @@
Pasywa (Zobowiązania Finansowe)
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -1855,7 +1867,7 @@
Wartość Netto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -1863,7 +1875,7 @@
Osiągi w Ujęciu Rocznym
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -1899,7 +1911,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1915,7 +1927,7 @@
Zgłoś Błąd Danych
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -2095,7 +2107,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -2103,11 +2115,11 @@
Liczony od początku roku (year-to-date)
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -2115,11 +2127,11 @@
1 rok
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -2127,16 +2139,16 @@
5 lat
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
Performance with currency effect
- Performance with currency effect
+ Wynik z efektem walutowym
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
135
@@ -2147,11 +2159,11 @@
Maksimum
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -2251,7 +2263,7 @@
Auto
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2263,7 +2275,7 @@
Czy na pewno chcesz usunąć tą metode logowania?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -2303,7 +2315,7 @@
Ustawienia Regionalne
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2364,7 +2376,7 @@
this is projected to increase to
- this is projected to increase to
+ prognozuje się wzrost tej kwoty do
apps/client/src/app/pages/portfolio/fire/fire-page.html
147
@@ -2415,7 +2427,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -2447,7 +2459,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2459,7 +2471,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2475,7 +2487,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -2576,7 +2588,7 @@
for
- for
+ dla
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
128
@@ -2603,11 +2615,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -2699,7 +2711,7 @@
Dane Rynkowe
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -2733,6 +2745,10 @@
Overview
Przegląd
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -2751,11 +2767,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -2876,14 +2892,14 @@
Could not parse scraper configuration
- Could not parse scraper configuration
+ Nie udało się przetworzyć konfiguracji scrapera
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -2899,7 +2915,7 @@
Ponieważ jesteś już zalogowany, nie możesz uzyskać dostępu do konta demo.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -3032,7 +3048,7 @@
per week
- per week
+ na tydzień
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
130
@@ -3071,7 +3087,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -3123,7 +3139,7 @@
Rynki
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -3147,7 +3163,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -3208,7 +3224,7 @@
Edit access
- Edit access
+ Edytuj dostęp
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
11
@@ -3312,7 +3328,7 @@
Get access to 80’000+ tickers from over 50 exchanges
- Get access to 80’000+ tickers from over 50 exchanges
+ Uzyskaj dostęp do 80 000+ tickerów z ponad 50 giełd
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
84
@@ -3448,7 +3464,7 @@
less than
- less than
+ mniej niż
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
129
@@ -3512,7 +3528,7 @@
Ghostfolio Status
- Ghostfolio Status
+ Ghostfolio Status
apps/client/src/app/pages/about/overview/about-overview-page.html
62
@@ -3520,7 +3536,7 @@
with your university e-mail address
- with your university e-mail address
+ używając swojego adresu e-mail uczelni
apps/client/src/app/pages/pricing/pricing-page.html
348
@@ -3552,7 +3568,7 @@
and a safe withdrawal rate (SWR) of
- and a safe withdrawal rate (SWR) of
+ oraz bezpiecznej stopy wypłaty (SWR) na poziomie
apps/client/src/app/pages/portfolio/fire/fire-page.html
108
@@ -3579,7 +3595,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -3615,7 +3631,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -3635,11 +3651,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -3659,7 +3675,7 @@
Czy na pewno chcesz usunąć te aktywności?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3727,7 +3743,7 @@
Zaktualizuj Saldo Gotówkowe
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -3735,7 +3751,7 @@
Cena Jednostkowa
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3763,7 +3779,7 @@
Impotruj Dywidendy
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3779,7 +3795,7 @@
Importowanie danych...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -3787,12 +3803,12 @@
Importowanie zakończone
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
or start a discussion at
- or start a discussion at
+ lub rozpocznij dyskusję n
apps/client/src/app/pages/about/overview/about-overview-page.html
94
@@ -3803,7 +3819,7 @@
Weryfikacja danych...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3975,7 +3991,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -3999,15 +4015,15 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
Latest activities
- Latest activities
+ Ostatnie transakcje
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -4019,7 +4035,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -4031,7 +4047,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -4072,7 +4088,7 @@
Looking for a student discount?
- Looking for a student discount?
+ Szukasz zniżki studenckiej?
apps/client/src/app/pages/pricing/pricing-page.html
342
@@ -4091,7 +4107,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -4099,11 +4115,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -4112,7 +4128,7 @@
annual interest rate
- annual interest rate
+ rocznej stopy zwrotu
apps/client/src/app/pages/portfolio/fire/fire-page.html
185
@@ -4123,7 +4139,7 @@
Depozyt
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -4131,7 +4147,7 @@
Miesięcznie
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -4139,7 +4155,7 @@
Rocznie
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -4419,11 +4435,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -4447,12 +4463,12 @@
Kontynenty
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
Sustainable retirement income
- Sustainable retirement income
+ Zrównoważony dochód na emeryturze
apps/client/src/app/pages/portfolio/fire/fire-page.html
41
@@ -4463,7 +4479,7 @@
Ghostfolio umożliwia śledzenie wartości swojego majątku.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -4493,6 +4509,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Personal Finance Tools
@@ -4585,7 +4605,7 @@
per month
- per month
+ miesięcznie
apps/client/src/app/pages/portfolio/fire/fire-page.html
94
@@ -4605,7 +4625,7 @@
Website of Thomas Kaul
- Website of Thomas Kaul
+ Strona internetowa Thomas'a Kaul'a
apps/client/src/app/pages/about/overview/about-overview-page.html
44
@@ -4824,7 +4844,7 @@
Członkostwo
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -4837,7 +4857,7 @@
Request it
- Request it
+ Porpoś o
apps/client/src/app/pages/pricing/pricing-page.html
344
@@ -4940,7 +4960,7 @@
Czy na pewno chcesz usunąć tę działalność?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -4948,7 +4968,7 @@
Profile aktywów
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -4957,7 +4977,7 @@
,
- ,
+ ,
apps/client/src/app/pages/portfolio/fire/fire-page.html
145
@@ -4981,7 +5001,7 @@
contact us
- contact us
+ skontaktuj się z nami
apps/client/src/app/pages/pricing/pricing-page.html
336
@@ -5037,18 +5057,18 @@
Interest
- Udział
+ Odsetki
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
69
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -5060,7 +5080,7 @@
Oszczędności
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -5088,7 +5108,7 @@
Pokaż wszystko
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -5132,7 +5152,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5140,7 +5160,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -5164,7 +5184,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5172,7 +5192,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -5216,7 +5236,7 @@
Fundusz Rezerwowy
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -5292,7 +5312,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -5303,6 +5323,14 @@
27
+
+ No Activities
+ Brak transakcji
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Świadczenia Emerytalne
@@ -5332,7 +5360,7 @@
Symbol
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -5348,7 +5376,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -5377,7 +5405,7 @@
View Details
- View Details
+ Zobacz szczegóły
apps/client/src/app/components/admin-users/admin-users.html
225
@@ -5397,7 +5425,7 @@
Sign in with OpenID Connect
- Sign in with OpenID Connect
+ Zaloguj się za pomocą OpenID Connect
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
55
@@ -5405,7 +5433,7 @@
Buy
- Zakup
+ Kupno
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
31
@@ -5420,7 +5448,7 @@
Opłata
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5449,7 +5477,7 @@
Sell
- Sprzedaj
+ Sprzedaż
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
44
@@ -5464,7 +5492,7 @@
Gotówka
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -5509,10 +5537,10 @@
Authentication
- Authentication
+ Uwierzytelnianie
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -5605,7 +5633,7 @@
If you retire today, you would be able to withdraw
- If you retire today, you would be able to withdraw
+ Gdybyś przeszedł na emeryturę dziś, mógłbyś wypłacać
apps/client/src/app/pages/portfolio/fire/fire-page.html
68
@@ -5656,7 +5684,7 @@
Ważność do
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -5680,7 +5708,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -5688,11 +5716,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -5720,7 +5748,7 @@
Salda Gotówkowe
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5740,7 +5768,7 @@
Czy na pewno chcesz usunąć saldo tego konta?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5756,7 +5784,7 @@
Obecna cena rynkowa wynosi
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5764,7 +5792,7 @@
Test
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5809,7 +5837,7 @@
Argentina
- Argentina
+ Argentyna
libs/ui/src/lib/i18n.ts
78
@@ -5852,11 +5880,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5865,7 +5893,7 @@
here
- here
+ tutaj
apps/client/src/app/pages/pricing/pricing-page.html
347
@@ -5873,10 +5901,10 @@
Close Holding
- Close Holding
+ Zamknij pozycję
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5916,7 +5944,7 @@
Dotychczasowy tydzień
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5924,11 +5952,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5936,7 +5964,7 @@
Od początku miesiąca
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5944,11 +5972,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5956,7 +5984,7 @@
Od początku roku
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5992,7 +6020,7 @@
rok
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6004,7 +6032,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6012,11 +6040,11 @@
lata
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6032,7 +6060,7 @@
Gromadzenie Danych
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6044,7 +6072,7 @@
Informacje Ogólne
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6052,7 +6080,7 @@
Rozwiązanie w Chmurze
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6064,7 +6092,7 @@
Własny Hosting
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6105,7 +6133,7 @@
Antywne
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6113,7 +6141,7 @@
Zamknięte
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6145,7 +6173,7 @@
Wykonaj Zadanie
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6153,7 +6181,7 @@
Priorytet
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6209,7 +6237,7 @@
Czy na pewno chcesz zamknąć swoje konto Ghostfolio?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6254,10 +6282,10 @@
Include in
- Include in
+ Uwzględnij w
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6265,7 +6293,7 @@
Ups! Wystąpił błąd podczas konfigurowania uwierzytelniania biometrycznego.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6281,7 +6309,7 @@
Punkty Odniesienia
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6329,7 +6357,7 @@
Chcesz udoskonalić swoją osobistą strategię inwestycyjną ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6538,7 +6566,7 @@
View Holding
- View Holding
+ Podgląd inwestycji
libs/ui/src/lib/activities-table/activities-table.component.html
450
@@ -6661,7 +6689,7 @@
Błąd
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6682,7 +6710,7 @@
Oops! Could not update access.
- Oops! Could not update access.
+ Ups! Nie udało się zaktualizować dostępu.
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts
178
@@ -6690,7 +6718,7 @@
, based on your total assets of
- , based on your total assets of
+ , na podstawie całkowitej wartości aktywów wynoszącej
apps/client/src/app/pages/portfolio/fire/fire-page.html
96
@@ -6713,7 +6741,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6745,7 +6773,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6753,7 +6781,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6765,7 +6793,7 @@
Zamknij
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6791,13 +6819,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6806,10 +6838,10 @@
Role
- Role
+ Rola
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6833,7 +6865,7 @@
Przegląd portfela
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6846,7 +6878,7 @@
If you plan to open an account at
- If you plan to open an account at
+ Jeśli planujesz otworzyć konto w
apps/client/src/app/pages/pricing/pricing-page.html
312
@@ -6878,7 +6910,7 @@
send an e-mail to
- send an e-mail to
+ wyślij e-mail do
apps/client/src/app/pages/about/overview/about-overview-page.html
87
@@ -6900,6 +6932,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Od samego początku
@@ -6950,7 +6990,7 @@
, assuming a
- , assuming a
+ , przyjmując
apps/client/src/app/pages/portfolio/fire/fire-page.html
174
@@ -6958,7 +6998,7 @@
to use our referral link and get a Ghostfolio Premium membership for one year
- to use our referral link and get a Ghostfolio Premium membership for one year
+ aby skorzystać z naszego linku polecającego i otrzymać roczną subskrypcję Ghostfolio Premium
apps/client/src/app/pages/pricing/pricing-page.html
340
@@ -6966,7 +7006,7 @@
can be self-hosted
- może być hostowany samodzielnie
+ może być hostowana samodzielnie
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
178
@@ -6990,7 +7030,7 @@
can be used anonymously
- może być używany anonimowo
+ może być używana anonimowo
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
217
@@ -7002,7 +7042,7 @@
cannot be used anonymously
- nie może być używany anonimowo
+ nie może być używana anonimowo
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
224
@@ -7038,7 +7078,7 @@
Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions.
- Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions.
+ Ghostfolio to aplikacja do zarządzania majątkiem, przeznaczona dla osób prywatnych do śledzenia akcji, ETF‑ów i kryptowalut oraz podejmowania solidnych, opartych na danych decyzji inwestycyjnych.
apps/client/src/app/pages/about/overview/about-overview-page.html
10
@@ -7065,7 +7105,7 @@
Skonfiguruj klucz API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7101,7 +7141,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7117,7 +7157,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7171,7 +7211,7 @@
z
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7179,7 +7219,7 @@
codzienne żądania
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7187,7 +7227,7 @@
Usuń klucz API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7195,7 +7235,7 @@
Czy na pewno chcesz usunąć klucz API??
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7215,7 +7255,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7287,7 +7327,7 @@
Zapisz
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7323,11 +7363,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7339,7 +7379,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7352,7 +7392,7 @@
Check the system status at
- Check the system status at
+ Sprawdź status systemu n
apps/client/src/app/pages/about/overview/about-overview-page.html
57
@@ -7363,12 +7403,12 @@
Wprowadź swój klucz API Ghostfolio.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
Change with currency effect
- Change with currency effect
+ Zmiana z efektem walutowym
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
116
@@ -7379,7 +7419,7 @@
Prompt AI został skopiowany do schowka
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7395,7 +7435,7 @@
Leniwy
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7403,7 +7443,7 @@
Natychmiastowy
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7411,7 +7451,7 @@
Domyślna cena rynkowa
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7419,7 +7459,7 @@
Tryb
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7427,7 +7467,7 @@
Selektor
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7435,7 +7475,7 @@
Nagłówki żądań HTTP
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7443,7 +7483,7 @@
koniec dnia
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7451,7 +7491,7 @@
w czasie rzeczywistym
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7459,7 +7499,7 @@
Otwórz Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7479,7 +7519,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7491,7 +7531,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7499,16 +7539,16 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
The project has been initiated by
- The project has been initiated by
+ Projekt został zainicjowany przez
apps/client/src/app/pages/about/overview/about-overview-page.html
40
@@ -7532,7 +7572,7 @@
Total amount
- Total amount
+ Wartość portfela
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
95
@@ -7607,11 +7647,11 @@
Token bezpieczeństwa
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7619,15 +7659,15 @@
Czy napewno chcesz wygenerować nowy token bezpieczeństwa dla tego użytkownika?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
Find account, holding or page...
- Find account, holding or page...
+ Znajdź konto, pozycję lub stronę...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7692,7 +7732,7 @@
( ) jest już w użyciu.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7700,7 +7740,7 @@
Wystąpił błąd podczas aktualizacji do ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
ktoś
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Czy na pewno chcesz usunąć ten element?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,7 +7877,7 @@
Konto użytkownika demonstracyjnego zostało zsynchronizowane.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7872,25 +7912,25 @@
150
-
+
Fee Ratio
- Stosunek opłat
+ Wskaźnik opłat
apps/client/src/app/pages/i18n/i18n-page.html
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Opłaty przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ Opłaty przekraczają ${thresholdMax}% twojej całkowitej wartości inwestycji (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Opłaty nie przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ Opłaty nie przekraczają ${thresholdMax}% twojej całkowitej wartości inwestycji (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8048,10 +8088,10 @@
Current month
- Current month
+ Bieżący miesiąc
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
nowy
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Czy na pewno chcesz wygenerować nowy token bezpieczeństwa?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8244,7 +8284,7 @@
Akcje
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Kryptowaluty
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Zarządzaj profilem aktywów
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8309,7 +8349,7 @@
Account Cluster Risks
- Account Cluster Risks
+ Ryzyka skupienia w obrębie rachunków
apps/client/src/app/pages/i18n/i18n-page.html
14
@@ -8317,7 +8357,7 @@
Asset Class Cluster Risks
- Asset Class Cluster Risks
+ Ryzyka skupienia w obrębie klas aktywów
apps/client/src/app/pages/i18n/i18n-page.html
39
@@ -8325,7 +8365,7 @@
Currency Cluster Risks
- Currency Cluster Risks
+ Ryzyka koncentracji walutowej
apps/client/src/app/pages/i18n/i18n-page.html
83
@@ -8333,7 +8373,7 @@
Economic Market Cluster Risks
- Economic Market Cluster Risks
+ Ryzyka skupienia w obrębie segmentów rynku gospodarczego
apps/client/src/app/pages/i18n/i18n-page.html
106
@@ -8341,7 +8381,7 @@
Emergency Fund
- Emergency Fund
+ Fundusz Awaryjny
apps/client/src/app/pages/i18n/i18n-page.html
144
@@ -8349,7 +8389,7 @@
Fees
- Fees
+ Opłaty
apps/client/src/app/pages/i18n/i18n-page.html
161
@@ -8357,7 +8397,7 @@
Liquidity
- Liquidity
+ Płynność
apps/client/src/app/pages/i18n/i18n-page.html
70
@@ -8365,7 +8405,7 @@
Buying Power
- Buying Power
+ Siła nabywcza
apps/client/src/app/pages/i18n/i18n-page.html
71
@@ -8373,7 +8413,7 @@
Your buying power is below ${thresholdMin} ${baseCurrency}
- Your buying power is below ${thresholdMin} ${baseCurrency}
+ Twoja siła nabywcza jest niższa niż ${thresholdMin} ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
73
@@ -8381,7 +8421,7 @@
Your buying power is 0 ${baseCurrency}
- Your buying power is 0 ${baseCurrency}
+ Twoja siła nabywcza to 0 ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
77
@@ -8389,7 +8429,7 @@
Your buying power exceeds ${thresholdMin} ${baseCurrency}
- Your buying power exceeds ${thresholdMin} ${baseCurrency}
+ Twoja siła nabywcza przekracza ${thresholdMin} ${baseCurrency}
apps/client/src/app/pages/i18n/i18n-page.html
80
@@ -8397,7 +8437,7 @@
Regional Market Cluster Risks
- Regional Market Cluster Risks
+ Ryzyka skupienia w obrębie regionów rynkowych
apps/client/src/app/pages/i18n/i18n-page.html
163
@@ -8405,7 +8445,7 @@
No results found...
- No results found...
+ Nie znaleziono wyników...
libs/ui/src/lib/assistant/assistant.html
51
@@ -8413,7 +8453,7 @@
Developed Markets
- Developed Markets
+ Rynki rozwinięte
apps/client/src/app/pages/i18n/i18n-page.html
109
@@ -8421,7 +8461,7 @@
The developed markets contribution of your current investment (${developedMarketsValueRatio}%) exceeds ${thresholdMax}%
- The developed markets contribution of your current investment (${developedMarketsValueRatio}%) exceeds ${thresholdMax}%
+ Udział rynków rozwiniętych w Twojej obecnej inwestycji (${developedMarketsValueRatio}%) przekracza ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
112
@@ -8429,7 +8469,7 @@
The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is below ${thresholdMin}%
- The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is below ${thresholdMin}%
+ Udział rynków rozwiniętych w Twojej obecnej inwestycji (${developedMarketsValueRatio}%) jest poniżej ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
117
@@ -8437,7 +8477,7 @@
The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
+ Udział rynków rozwiniętych w Twojej obecnej inwestycji (${developedMarketsValueRatio}%) mieści się w zakresie ${thresholdMin}% i ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
122
@@ -8445,7 +8485,7 @@
Emerging Markets
- Emerging Markets
+ Rynki wschodzące
apps/client/src/app/pages/i18n/i18n-page.html
127
@@ -8453,7 +8493,7 @@
The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) exceeds ${thresholdMax}%
- The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) exceeds ${thresholdMax}%
+ Udział rynków wschodzących w obecnej inwestycji (${emergingMarketsValueRatio}%) przekracza ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
130
@@ -8461,7 +8501,7 @@
The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is below ${thresholdMin}%
- The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is below ${thresholdMin}%
+ Udział rynków wschodzących w obecnej inwestycji (${emergingMarketsValueRatio}%) jest poniżej ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
135
@@ -8469,7 +8509,7 @@
The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
+ Udział rynków wschodzących w obecnej inwestycji (${emergingMarketsValueRatio}%) mieści się w zakresie ${thresholdMin}% i ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
140
@@ -8477,7 +8517,7 @@
No accounts have been set up
- No accounts have been set up
+ Nie utworzono żadnych kont
apps/client/src/app/pages/i18n/i18n-page.html
21
@@ -8485,7 +8525,7 @@
Your net worth is managed by 0 accounts
- Your net worth is managed by 0 accounts
+ Twój majątek jest zarządzany przez 0 kont
apps/client/src/app/pages/i18n/i18n-page.html
33
@@ -8493,7 +8533,7 @@
Asia-Pacific
- Asia-Pacific
+ Asia-Pacific
apps/client/src/app/pages/i18n/i18n-page.html
165
@@ -8501,7 +8541,7 @@
The Asia-Pacific market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- The Asia-Pacific market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
+ Udział rynku Azji i Pacyfiku w Twojej obecnej inwestycji (${valueRatio}%) przekracza ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
167
@@ -8509,7 +8549,7 @@
The Asia-Pacific market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- The Asia-Pacific market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
+ Udział rynku Azji i Pacyfiku w Twojej obecnej inwestycji (${valueRatio}%) jest poniżej ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
171
@@ -8517,7 +8557,7 @@
The Asia-Pacific market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- The Asia-Pacific market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
+ Udział rynku Azji i Pacyfiku w Twojej obecnej inwestycji (${valueRatio}%) mieści się w zakresie ${thresholdMin}% i ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
175
@@ -8525,7 +8565,7 @@
Emerging Markets
- Emerging Markets
+ Rynki wschodzące
apps/client/src/app/pages/i18n/i18n-page.html
180
@@ -8533,7 +8573,7 @@
The Emerging Markets contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- The Emerging Markets contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
+ Udział rynków wschodzących w Twojej obecnej inwestycji (${valueRatio}%) przekracza ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
183
@@ -8541,7 +8581,7 @@
The Emerging Markets contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- The Emerging Markets contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
+ Udział rynków wschodzących w Twojej obecnej inwestycji (${valueRatio}%) jest poniżej ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
187
@@ -8549,7 +8589,7 @@
The Emerging Markets contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- The Emerging Markets contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
+ Udział rynków wschodzących w Twojej obecnej inwestycji (${valueRatio}%) mieści się w zakresie ${thresholdMin}% i ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
191
@@ -8557,7 +8597,7 @@
Europe
- Europe
+ Europa
apps/client/src/app/pages/i18n/i18n-page.html
195
@@ -8565,7 +8605,7 @@
The Europe market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- The Europe market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
+ Udział rynku europejskiego w obecnej inwestycji (${valueRatio}%) przekracza ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
197
@@ -8573,7 +8613,7 @@
The Europe market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- The Europe market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
+ Udział rynku europejskiego w obecnej inwestycji (${valueRatio}%) jest poniżej ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
201
@@ -8581,7 +8621,7 @@
The Europe market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- The Europe market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
+ Udział rynku europejskiego w obecnej inwestycji (${valueRatio}%) mieści się w zakresie ${thresholdMin}% i ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
205
@@ -8589,7 +8629,7 @@
Japan
- Japan
+ Japonia
apps/client/src/app/pages/i18n/i18n-page.html
209
@@ -8597,7 +8637,7 @@
The Japan market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- The Japan market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
+ Udział rynku japońskiego w obecnej inwestycj (${valueRatio}%) przekracza ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
211
@@ -8605,7 +8645,7 @@
The Japan market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- The Japan market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
+ Udział rynku japońskiego w obecnej inwestycj (${valueRatio}%) jest poniżej ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
215
@@ -8613,7 +8653,7 @@
The Japan market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- The Japan market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
+ Udział rynku japońskiego w obecnej inwestycj (${valueRatio}%) mieści się w zakresie ${thresholdMin}% i ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
219
@@ -8621,7 +8661,7 @@
North America
- North America
+ Północna Ameryka
apps/client/src/app/pages/i18n/i18n-page.html
223
@@ -8629,7 +8669,7 @@
The North America market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
- The North America market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}%
+ Udział rynku Ameryki Północnej w obecnej inwestycji (${valueRatio}%) przekracza ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
225
@@ -8637,7 +8677,7 @@
The North America market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
- The North America market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}%
+ Udział rynku Ameryki Północnej w obecnej inwestycji (${valueRatio}%) jest poniżej ${thresholdMin}%
apps/client/src/app/pages/i18n/i18n-page.html
229
@@ -8645,7 +8685,7 @@
The North America market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
- The North America market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}%
+ Udział rynku Ameryki Północnej w obecnej inwestycji (${valueRatio}%) mieści się w zakresie ${thresholdMin}% i ${thresholdMax}%
apps/client/src/app/pages/i18n/i18n-page.html
233
@@ -8653,7 +8693,7 @@
Find Ghostfolio on GitHub
- Find Ghostfolio on GitHub
+ Znajdź Ghostfolio na GitHub
apps/client/src/app/pages/about/overview/about-overview-page.html
99
@@ -8665,7 +8705,7 @@
Join the Ghostfolio Slack community
- Join the Ghostfolio Slack community
+ Dołącz do społeczności Ghostfolio na Slacku
apps/client/src/app/pages/about/overview/about-overview-page.html
109
@@ -8673,7 +8713,7 @@
Follow Ghostfolio on X (formerly Twitter)
- Follow Ghostfolio on X (formerly Twitter)
+ Śledź Ghostfolio na X (poprzednio Twitter)
apps/client/src/app/pages/about/overview/about-overview-page.html
118
@@ -8681,7 +8721,7 @@
Send an e-mail
- Send an e-mail
+ Wyślij e-mail
apps/client/src/app/pages/about/overview/about-overview-page.html
89
@@ -8693,15 +8733,15 @@
Registration Date
- Registration Date
+ Data rejestracji
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
Follow Ghostfolio on LinkedIn
- Follow Ghostfolio on LinkedIn
+ Śledź Ghostfolio na LinkedIn
apps/client/src/app/pages/about/overview/about-overview-page.html
147
@@ -8709,7 +8749,7 @@
Ghostfolio is an independent & bootstrapped business
- Ghostfolio is an independent & bootstrapped business
+ Ghostfolio to niezależna & samofinansująca się firma
apps/client/src/app/pages/about/overview/about-overview-page.html
157
@@ -8717,7 +8757,7 @@
Support Ghostfolio
- Support Ghostfolio
+ Wesprzyj Ghostfolio
apps/client/src/app/pages/about/overview/about-overview-page.html
166
diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf
index 2bcd7c401..3531f84d7 100644
--- a/apps/client/src/locales/messages.pt.xlf
+++ b/apps/client/src/locales/messages.pt.xlf
@@ -42,7 +42,7 @@
Tipo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -114,7 +114,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -126,7 +126,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -142,7 +142,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -186,7 +186,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -198,7 +198,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -234,15 +234,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -290,11 +290,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -322,11 +322,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -350,7 +354,7 @@
Pretende realmente eliminar esta conta?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -358,7 +362,7 @@
Fonte de dados
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -370,7 +374,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -382,7 +386,7 @@
Tentativas
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -390,7 +394,7 @@
Criado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -398,7 +402,7 @@
Terminado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -406,11 +410,11 @@
Estado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -426,7 +430,7 @@
Eliminar Tarefas
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -434,7 +438,7 @@
Perfil de Ativos
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -446,11 +450,11 @@
Histórico de Dados de Mercado
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -458,7 +462,7 @@
Visualizar dados
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -466,7 +470,7 @@
Ver Stacktrace
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -474,7 +478,7 @@
Apagar Tarefa
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -490,7 +494,7 @@
Data
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -526,7 +530,7 @@
Filtrar por...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -566,7 +570,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -602,7 +606,7 @@
Deseja realmente eliminar este cupão?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -610,7 +614,7 @@
Deseja realmente limpar a cache?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -618,7 +622,7 @@
Por favor, defina a sua mensagem do sistema:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -746,7 +750,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -762,11 +766,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -806,7 +810,7 @@
Referência
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -842,7 +846,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -862,15 +866,15 @@
Oops! Token de Segurança Incorreto.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -878,7 +882,7 @@
Gerir Atividades
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -886,11 +890,11 @@
Medo
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -902,11 +906,11 @@
Ganância
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -938,7 +942,7 @@
Depósito
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -946,7 +950,7 @@
Valor Total
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -1058,7 +1062,7 @@
Desempenho Bruto Absoluto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -1066,7 +1070,7 @@
Desempenho Líquido Absoluto
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1078,7 +1082,7 @@
Desempenho Líquido
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1090,7 +1094,7 @@
Ativos Totais
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -1098,7 +1102,7 @@
Poder de Compra
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -1106,7 +1110,7 @@
Excluído da Análise
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -1114,7 +1118,7 @@
Valor Líquido
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -1122,7 +1126,7 @@
Desempenho Anual
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -1158,7 +1162,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1198,7 +1202,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -1210,7 +1214,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -1218,7 +1222,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -1230,7 +1234,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -1242,7 +1246,7 @@
Marcadores
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1258,7 +1262,7 @@
Dados do Relatório com Problema
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1286,7 +1290,7 @@
Mostrar tudo
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -1298,7 +1302,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -1306,11 +1310,11 @@
AATD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -1318,11 +1322,11 @@
1A
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -1330,11 +1334,11 @@
5A
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -1350,11 +1354,11 @@
Máx
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -1378,7 +1382,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -1390,7 +1394,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -1406,7 +1410,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -1466,7 +1470,7 @@
Auto
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1510,7 +1514,7 @@
Deseja realmente remover este método de início de sessão?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -1586,7 +1590,7 @@
Localidade
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -1666,7 +1670,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -1714,11 +1718,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -1886,7 +1890,7 @@
Como já tem sessão iniciada, não pode aceder à conta de demonstração.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -1932,6 +1936,10 @@
Overview
Visão geral
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -1950,11 +1958,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -1970,7 +1978,7 @@
Mercados
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -1994,7 +2002,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -2022,7 +2030,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -2042,11 +2050,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -2074,7 +2082,7 @@
Current week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -2118,7 +2126,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -2126,7 +2134,7 @@
Preço por Unidade
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -2138,7 +2146,7 @@
Nota
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -2146,7 +2154,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -2154,7 +2162,7 @@
A importar dados...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -2162,7 +2170,7 @@
A importação foi concluída
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -2282,7 +2290,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -2306,7 +2314,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -2314,7 +2322,7 @@
Latest activities
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -2326,7 +2334,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -2338,7 +2346,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -2358,7 +2366,7 @@
Mensalmente
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -2482,7 +2490,7 @@
Continentes
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -2498,7 +2506,7 @@
O Ghostfolio permite-lhe estar a par e gerir a sua riqueza.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -2526,7 +2534,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -2580,6 +2588,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Resources
@@ -2698,7 +2710,7 @@
Deseja realmente eliminar esta atividade?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -2750,11 +2762,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -2766,7 +2778,7 @@
Poupanças
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -2802,7 +2814,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -2810,7 +2822,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -2826,7 +2838,7 @@
Fundo de Emergência
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -2846,7 +2858,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -2854,7 +2866,7 @@
Símbolo
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -2870,7 +2882,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -2894,7 +2906,7 @@
Dinheiro
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -2942,7 +2954,7 @@
Authentication
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -3074,7 +3086,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -3082,11 +3094,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -3114,7 +3126,7 @@
Mapeamento de Símbolo
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -3130,7 +3142,7 @@
Dados de Mercado
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -3154,7 +3166,7 @@
A validar dados...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3170,7 +3182,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -3194,7 +3206,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -3202,11 +3214,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -3234,7 +3246,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -3242,7 +3254,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -3274,7 +3286,7 @@
Anualmente
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -3282,7 +3294,7 @@
Importar Dividendos
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3298,7 +3310,7 @@
Válido até
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -3337,6 +3349,14 @@
22
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Provisão de Reforma
@@ -3610,11 +3630,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -3634,7 +3654,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -3798,7 +3818,7 @@
Deseja mesmo eliminar estas atividades?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3809,6 +3829,14 @@
306
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
+
+
By
By
@@ -3830,7 +3858,7 @@
Current year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -3846,11 +3874,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -3866,7 +3894,7 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -3874,7 +3902,7 @@
Deseja mesmo eliminar esta plataforma?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
@@ -3882,7 +3910,7 @@
Plataformas
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -3890,7 +3918,7 @@
Atualizar saldo em Dinheiro
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -4070,7 +4098,7 @@
Responsabilidades
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -4226,7 +4254,7 @@
Configuração do raspador
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -4470,7 +4498,7 @@
ETFs sem países
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -4478,7 +4506,7 @@
ETFs sem setores
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -4486,7 +4514,7 @@
Ativos
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -4658,7 +4686,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -4714,11 +4742,11 @@
Moedas
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -4766,11 +4794,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -5432,7 +5460,7 @@
Taxa
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5464,7 +5492,7 @@
Você realmente deseja excluir esta tag?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -5532,7 +5560,7 @@
Associação
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5564,7 +5592,7 @@
Perfil de ativos
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -5688,7 +5716,7 @@
Ops! Não foi possível analisar os dados históricos.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -5696,7 +5724,7 @@
Você realmente deseja excluir esta mensagem do sistema?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -5720,7 +5748,7 @@
Saldos de caixa
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5740,7 +5768,7 @@
Você realmente deseja excluir o saldo desta conta?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5756,7 +5784,7 @@
O preço de mercado atual é
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5764,7 +5792,7 @@
Teste
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5852,11 +5880,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5876,7 +5904,7 @@
Close Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5916,7 +5944,7 @@
Semana até agora
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5924,11 +5952,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5936,7 +5964,7 @@
Do mês até a data
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5944,11 +5972,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5956,7 +5984,7 @@
No acumulado do ano
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5992,7 +6020,7 @@
ano
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6004,7 +6032,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6012,11 +6040,11 @@
anos
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6032,7 +6060,7 @@
Coleta de dados
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6044,7 +6072,7 @@
geral
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6052,7 +6080,7 @@
Nuvem
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6064,7 +6092,7 @@
Auto-hospedagem
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6105,7 +6133,7 @@
Ativo
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6113,7 +6141,7 @@
Fechado
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6145,7 +6173,7 @@
Executar trabalho
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6153,7 +6181,7 @@
Prioridade
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6209,7 +6237,7 @@
Você realmente deseja encerrar sua conta Ghostfolio?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6257,7 +6285,7 @@
Include in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6265,7 +6293,7 @@
Ops! Ocorreu um erro ao configurar a autenticação biométrica.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6281,7 +6309,7 @@
Referências
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6329,7 +6357,7 @@
Você gostaria de refinar seu estratégia de investimento pessoal ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6661,7 +6689,7 @@
Erro
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6713,7 +6741,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6745,7 +6773,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6753,7 +6781,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6765,7 +6793,7 @@
Fechar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6791,13 +6819,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6809,7 +6841,7 @@
Role
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6833,7 +6865,7 @@
Visão geral do portfólio
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6900,6 +6932,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Desde o início
@@ -7065,7 +7105,7 @@
Definir chave de API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7101,7 +7141,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7117,7 +7157,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7171,7 +7211,7 @@
de
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7179,7 +7219,7 @@
solicitações diárias
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7187,7 +7227,7 @@
Remover chave de API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7195,7 +7235,7 @@
Você realmente deseja excluir a chave de API?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7215,7 +7255,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7287,7 +7327,7 @@
Guardar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7323,11 +7363,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7339,7 +7379,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7363,7 +7403,7 @@
Please enter your Ghostfolio API key.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7379,7 +7419,7 @@
AI prompt has been copied to the clipboard
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7395,7 +7435,7 @@
Lazy
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7403,7 +7443,7 @@
Instant
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7411,7 +7451,7 @@
Preço de mercado padrão
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7419,7 +7459,7 @@
Mode
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7427,7 +7467,7 @@
Selector
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7435,7 +7475,7 @@
HTTP Request Headers
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7443,7 +7483,7 @@
end of day
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7451,7 +7491,7 @@
real-time
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7459,7 +7499,7 @@
Open Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7479,7 +7519,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7491,7 +7531,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7499,11 +7539,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7607,11 +7647,11 @@
Security token
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7619,7 +7659,7 @@
Do you really want to generate a new security token for this user?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7627,7 +7667,7 @@
Find account, holding or page...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7692,7 +7732,7 @@
( ) is already in use.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7700,7 +7740,7 @@
An error occurred while updating to ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
someone
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Do you really want to delete this item?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,7 +7877,7 @@
Demo user account has been synced.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7872,7 +7912,7 @@
150
-
+
Fee Ratio
Fee Ratio
@@ -7880,17 +7920,17 @@
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8051,7 +8091,7 @@
Current month
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
new
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Do you really want to generate a new security token?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8244,7 +8284,7 @@
Stocks
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Criptomoedas
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Gerenciar perfil de ativos
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8696,7 +8736,7 @@
Registration Date
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf
index 421ef3855..e4547a2de 100644
--- a/apps/client/src/locales/messages.tr.xlf
+++ b/apps/client/src/locales/messages.tr.xlf
@@ -223,7 +223,7 @@
Tip
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -311,7 +311,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -323,7 +323,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -339,7 +339,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -383,7 +383,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -395,7 +395,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -415,15 +415,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -471,11 +471,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -503,11 +503,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -531,7 +535,7 @@
Bu hesabı silmeyi gerçekten istiyor musunuz?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -539,7 +543,7 @@
Veri Kaynağı
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -551,7 +555,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -563,7 +567,7 @@
Deneme
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -571,7 +575,7 @@
Oluşturuldu
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -579,7 +583,7 @@
Tamamlandı
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -587,11 +591,11 @@
Durum
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -607,7 +611,7 @@
İşleri Sil
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -615,7 +619,7 @@
Varlık Profili
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -627,11 +631,11 @@
Tarihsel Piyasa Verisi
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -639,7 +643,7 @@
Veri Gör
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -647,7 +651,7 @@
Hata İzini Görüntüle
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -655,7 +659,7 @@
İşleri Sil
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -671,7 +675,7 @@
Tarih
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -707,11 +711,11 @@
Para Birimleri
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -719,7 +723,7 @@
Ülkesi Olmayan ETF’ler
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -727,7 +731,7 @@
Sektörü Olmayan ETF’ler
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -735,7 +739,7 @@
Filtrele...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -775,7 +779,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -843,7 +847,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -855,7 +859,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -863,7 +867,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -875,7 +879,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -887,7 +891,7 @@
Sembol Eşleştirme
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -903,7 +907,7 @@
Veri Toplayıcı Yapılandırması
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -911,7 +915,7 @@
Not
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -919,7 +923,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -947,7 +951,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -955,7 +959,7 @@
Bu kuponu gerçekten silmek istiyor musunuz?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -963,7 +967,7 @@
Önbelleği temizlemeyi gerçekten istiyor musunuz?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -971,7 +975,7 @@
Lütfen sistem mesajınızı belirleyin:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -1011,7 +1015,7 @@
Etiketler
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1103,11 +1107,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1123,7 +1127,7 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -1131,7 +1135,15 @@
Bu platformu silmeyi gerçekten istiyor musunuz?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
+
+
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
@@ -1155,7 +1167,7 @@
Current year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -1171,7 +1183,7 @@
Platformlar
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -1215,7 +1227,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -1247,11 +1259,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -1299,7 +1311,7 @@
Karşılaştırma Ölçütü
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -1335,7 +1347,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -1355,15 +1367,15 @@
Hay Allah! Güvenlik anahtarı yanlış.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -1371,7 +1383,7 @@
İşlemleri Yönet
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -1379,11 +1391,11 @@
Korku
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1395,11 +1407,11 @@
Açgözlülük
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -1503,7 +1515,7 @@
Current week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1523,7 +1535,7 @@
Toplam Tutar
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -1635,7 +1647,7 @@
Toplam Brüt Performans
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -1643,7 +1655,7 @@
Toplam Net Performans
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1655,7 +1667,7 @@
Net Performans
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1667,7 +1679,7 @@
Toplam Varlıklar
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -1675,7 +1687,7 @@
Varlıklar
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -1683,7 +1695,7 @@
Alım Limiti
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -1691,7 +1703,7 @@
Analize Dahil Edilmemiştir.
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -1699,7 +1711,7 @@
Yükümlülükler
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -1711,7 +1723,7 @@
Toplam Varlık
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -1719,7 +1731,7 @@
Yıllıklandırılmış Performans
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -1755,7 +1767,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1775,7 +1787,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -1783,7 +1795,7 @@
Rapor Veri Sorunu
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1963,7 +1975,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -1971,11 +1983,11 @@
YTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -1983,11 +1995,11 @@
1Y
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -1995,11 +2007,11 @@
5Y
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -2015,11 +2027,11 @@
Maks.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -2043,7 +2055,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2055,7 +2067,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2071,7 +2083,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -2199,11 +2211,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -2263,7 +2275,7 @@
Piyasa Verileri
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -2297,6 +2309,10 @@
Overview
Özet
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -2315,11 +2331,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -2443,11 +2459,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -2463,7 +2479,7 @@
Oturum açmış olduğunuz için demo hesabına erişemezsiniz.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -2647,7 +2663,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -2699,7 +2715,7 @@
Piyasalar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -2723,7 +2739,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -3087,7 +3103,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -3115,7 +3131,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -3135,11 +3151,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -3159,7 +3175,7 @@
Tüm işlemlerinizi silmeyi gerçekten istiyor musunuz?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3203,7 +3219,7 @@
Nakit Bakiyesini Güncelle
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -3211,7 +3227,7 @@
Birim Fiyat
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3239,7 +3255,7 @@
Temettüleri İçe Aktar
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3255,7 +3271,7 @@
Veri içe aktarılıyor...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -3263,7 +3279,7 @@
İçe aktarma tamamlandı
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -3279,7 +3295,7 @@
Veri doğrulanıyor...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3367,7 +3383,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -3459,7 +3475,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -3483,7 +3499,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -3491,7 +3507,7 @@
Latest activities
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -3503,7 +3519,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -3515,7 +3531,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -3575,7 +3591,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -3583,11 +3599,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -3607,7 +3623,7 @@
Para Yatırma
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -3615,7 +3631,7 @@
Aylık
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -3623,7 +3639,7 @@
Yıllık
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -3903,11 +3919,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -3931,7 +3947,7 @@
Kıtalar
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -3947,7 +3963,7 @@
Ghostfolio, varlıklarınızı takip etmenizi sağlar.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -3997,6 +4013,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Personal Finance Tools
@@ -4336,7 +4356,7 @@
Otomatik
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -4380,7 +4400,7 @@
Bu giriş yöntemini kaldırmayı gerçekten istiyor musunuz?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -4388,7 +4408,7 @@
Geçerli tarih
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -4468,7 +4488,7 @@
Yerel Ayarlar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -4568,7 +4588,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -4664,7 +4684,7 @@
TBu işlemi silmeyi gerçekten istiyor musunuz?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -4740,11 +4760,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -4756,7 +4776,7 @@
Tasarruflar
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -4784,7 +4804,7 @@
Tümünü göster
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -4828,7 +4848,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -4836,7 +4856,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -4860,7 +4880,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -4868,7 +4888,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -4912,7 +4932,7 @@
Acil Durum Fonu
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -4988,7 +5008,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -4999,6 +5019,14 @@
27
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Yaşlılık Provizyonu
@@ -5028,7 +5056,7 @@
Sembol
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -5044,7 +5072,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -5144,7 +5172,7 @@
Nakit
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -5192,7 +5220,7 @@
Authentication
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -5324,7 +5352,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -5332,11 +5360,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -5440,7 +5468,7 @@
Ücret
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5464,7 +5492,7 @@
Bu etiketi silmeyi gerçekten istiyor musunuz?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -5532,7 +5560,7 @@
Üyelik
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -5564,7 +5592,7 @@
Varlık Profili
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -5688,7 +5716,7 @@
Hay Allah! Geçmiş veriler ayrıştırılamadı.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -5696,7 +5724,7 @@
Bu sistem mesajını silmeyi gerçekten istiyor musunuz?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -5720,7 +5748,7 @@
Nakit Bakiyeleri
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -5740,7 +5768,7 @@
Bu nakit bakiyesini silmeyi gerçekten istiyor musunuz?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -5756,7 +5784,7 @@
Şu anki piyasa fiyatı
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5764,7 +5792,7 @@
Test
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5852,11 +5880,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5876,7 +5904,7 @@
Close Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5916,7 +5944,7 @@
Hafta içi
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5924,11 +5952,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5936,7 +5964,7 @@
Ay içi
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5944,11 +5972,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5956,7 +5984,7 @@
Yıl içi
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5992,7 +6020,7 @@
Yıl
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6004,7 +6032,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6012,11 +6040,11 @@
Yıllar
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6032,7 +6060,7 @@
Veri Toplama
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6044,7 +6072,7 @@
Genel
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6052,7 +6080,7 @@
Bulut
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6064,7 +6092,7 @@
Kendini Barındırma
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6105,7 +6133,7 @@
Aktif
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6113,7 +6141,7 @@
Kapalı
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6145,7 +6173,7 @@
İşlemi Yürüt
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6153,7 +6181,7 @@
Öncelik
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6209,7 +6237,7 @@
Ghostfolio hesabınızı kapatmak istediğinize emin misiniz?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6257,7 +6285,7 @@
Include in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6265,7 +6293,7 @@
Oops! Biyometrik kimlik doğrulama ayarlanırken bir hata oluştu.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6281,7 +6309,7 @@
Kıyaslamalar
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6329,7 +6357,7 @@
Senin özel yatırım stratejinizi iyileştirmek ister misin?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6661,7 +6689,7 @@
Hata
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6713,7 +6741,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6745,7 +6773,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6753,7 +6781,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6765,7 +6793,7 @@
Kapat
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6791,13 +6819,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6809,7 +6841,7 @@
Role
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6833,7 +6865,7 @@
Portföy Anlık Görüntüsü
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6900,6 +6932,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
Başlangıçtan beri
@@ -7065,7 +7105,7 @@
API anahtarını ayarla
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7101,7 +7141,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7117,7 +7157,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7171,7 +7211,7 @@
ın
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7179,7 +7219,7 @@
günlük istekler
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7187,7 +7227,7 @@
API anahtarını kaldır
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7195,7 +7235,7 @@
API anahtarını silmek istediğinize emin misiniz?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7215,7 +7255,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7287,7 +7327,7 @@
Kaydet
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7323,11 +7363,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7339,7 +7379,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7363,7 +7403,7 @@
Lütfen Ghostfolio API anahtarınızı girin.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7379,7 +7419,7 @@
Yapay zeka istemi panoya kopyalandı
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7395,7 +7435,7 @@
Tembel
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7403,7 +7443,7 @@
Anında
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7411,7 +7451,7 @@
Varsayılan Piyasa Fiyatı
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7419,7 +7459,7 @@
Mod
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7427,7 +7467,7 @@
Seçici
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7435,7 +7475,7 @@
HTTP İstek Başlıkları
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7443,7 +7483,7 @@
gün sonu
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7451,7 +7491,7 @@
gerçek zamanlı
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7459,7 +7499,7 @@
Duck.ai’yi aç
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7479,7 +7519,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7491,7 +7531,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7499,11 +7539,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7607,11 +7647,11 @@
Güvenlik belirteci
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7619,7 +7659,7 @@
Bu kullanıcı için yeni bir güvenlik belirteci oluşturmak istediğinize emin misiniz?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7627,7 +7667,7 @@
Find account, holding or page...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7692,7 +7732,7 @@
( ) is already in use.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7700,7 +7740,7 @@
Güncelleştirilirken bir hata oluştu ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
birisi
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Bu öğeyi silmek istediğinize emin misiniz?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,7 +7877,7 @@
Demo kullanıcı hesabı senkronize edildi.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7872,25 +7912,25 @@
150
-
+
Fee Ratio
- Ücret Oranı
+ Fee Ratio
apps/client/src/app/pages/i18n/i18n-page.html
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Ücretler, ilk yatırımınızın %${thresholdMax} kadarını aşıyor (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- Ücretler, ilk yatırımınızın %${thresholdMax}’ını (${feeRatio}%) aşmaz
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8051,7 +8091,7 @@
Current month
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
yeni
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Do you really want to generate a new security token?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8244,7 +8284,7 @@
Stocks
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Cryptocurrencies
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Manage Asset Profile
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8696,7 +8736,7 @@
Registration Date
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf
index 2fc389030..12b5c2bc3 100644
--- a/apps/client/src/locales/messages.uk.xlf
+++ b/apps/client/src/locales/messages.uk.xlf
@@ -38,7 +38,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -419,7 +419,7 @@
Баланс готівки
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -443,7 +443,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -455,7 +455,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -471,7 +471,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -515,7 +515,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -527,7 +527,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -547,15 +547,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -603,11 +603,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -635,11 +635,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -663,7 +667,7 @@
Ви дійсно хочете видалити цей обліковий запис?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -671,7 +675,7 @@
Тип
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -691,7 +695,7 @@
Профіль активу
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -699,11 +703,11 @@
Історичні ринкові дані
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -711,7 +715,7 @@
Знімок портфеля
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -719,7 +723,7 @@
Джерело даних
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -731,7 +735,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -743,7 +747,7 @@
Пріоритет
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -751,7 +755,7 @@
Спроби
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -759,7 +763,7 @@
Створено
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -767,7 +771,7 @@
Завершено
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -775,11 +779,11 @@
Статус
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -795,7 +799,7 @@
Видалити завдання
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -803,7 +807,7 @@
Переглянути дані
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -811,7 +815,7 @@
Переглянути трасування
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -819,7 +823,7 @@
Виконати завдання
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -827,7 +831,7 @@
Видалити завдання
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -835,7 +839,7 @@
Порівняльні показники
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -843,11 +847,11 @@
Валюти
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -855,7 +859,7 @@
ETF без країн
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -863,7 +867,7 @@
ETF без секторів
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -871,7 +875,7 @@
Фільтрувати за...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -927,7 +931,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -995,7 +999,7 @@
Помилка
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -1003,7 +1007,7 @@
Поточна ринкова ціна
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -1043,7 +1047,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -1055,7 +1059,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -1063,7 +1067,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -1075,7 +1079,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -1087,7 +1091,7 @@
Зіставлення символів
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -1103,7 +1107,7 @@
Конфігурація скребка
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -1111,7 +1115,7 @@
Тест
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -1119,11 +1123,11 @@
URL
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1139,7 +1143,7 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -1147,7 +1151,7 @@
Примітка
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -1155,7 +1159,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -1207,7 +1211,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1223,7 +1227,7 @@
Ви дійсно хочете видалити цей купон?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -1231,7 +1235,7 @@
Ви дійсно хочете видалити це системне повідомлення?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -1239,7 +1243,7 @@
Ви дійсно хочете очистити кеш?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -1247,7 +1251,7 @@
Будь ласка, встановіть ваше системне повідомлення:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -1303,7 +1307,7 @@
Збір даних
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -1375,7 +1379,15 @@
Ви дійсно хочете видалити цю платформу?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
+
+
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
@@ -1399,7 +1411,7 @@
Current year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -1423,7 +1435,7 @@
Дійсне до
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -1435,7 +1447,7 @@
з
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -1443,7 +1455,7 @@
щоденних запитів
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -1451,7 +1463,7 @@
Вилучити ключ API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -1459,7 +1471,7 @@
Встановити ключ API
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -1467,7 +1479,7 @@
Платформи
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -1475,7 +1487,7 @@
Теги
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1491,7 +1503,7 @@
Ви дійсно хочете видалити ключ API?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -1499,7 +1511,7 @@
Будь ласка, введіть ваш ключ API Ghostfolio.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -1583,7 +1595,7 @@
Ви дійсно хочете видалити цей тег?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -1619,7 +1631,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -1631,7 +1643,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -1663,11 +1675,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -1715,7 +1727,7 @@
Порівняльний показник
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -1791,15 +1803,15 @@
Упс! Неправильний Секретний Токен.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -1851,7 +1863,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1879,7 +1891,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -1903,7 +1915,7 @@
Повідомити про збій даних
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1911,7 +1923,7 @@
Активний
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -1919,7 +1931,7 @@
Закритий
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -1943,7 +1955,7 @@
Керування діяльністю
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -1951,11 +1963,11 @@
Страх
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1967,11 +1979,11 @@
Жадібність
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -2075,7 +2087,7 @@
Current week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -2095,7 +2107,7 @@
Загальна сума
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -2187,7 +2199,7 @@
Абсолютний валовий дохід
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -2195,7 +2207,7 @@
Абсолютний чистий прибуток
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -2207,7 +2219,7 @@
Чистий прибуток
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -2219,7 +2231,7 @@
Загальні активи
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -2227,7 +2239,7 @@
Активи
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -2235,7 +2247,7 @@
Купівельна спроможність
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -2243,7 +2255,7 @@
Виключено з аналізу
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -2251,7 +2263,7 @@
Зобов’язання
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -2263,7 +2275,7 @@
Чиста вартість
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -2271,7 +2283,7 @@
Річна доходність
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -2279,7 +2291,7 @@
Зберегти
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -2315,11 +2327,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -2551,7 +2563,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -2559,11 +2571,11 @@
З початку року
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -2571,11 +2583,11 @@
1 рік
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -2583,11 +2595,11 @@
5 років
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -2603,11 +2615,11 @@
Максимум
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -2663,7 +2675,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -2675,7 +2687,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -2723,7 +2735,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -2823,7 +2835,7 @@
Автоматичний
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2835,7 +2847,7 @@
Ви дійсно хочете закрити ваш обліковий запис Ghostfolio?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -2843,7 +2855,7 @@
Ви дійсно хочете вилучити цей спосіб входу?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -2851,7 +2863,7 @@
Include in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -2859,7 +2871,7 @@
Упс! Виникла помилка під час налаштування біометричної автентифікації.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -2907,7 +2919,7 @@
Локалізація
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -3051,7 +3063,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -3071,7 +3083,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -3207,11 +3219,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -3311,7 +3323,7 @@
Ринкові дані
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -3345,6 +3357,10 @@
Overview
Огляд
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -3363,11 +3379,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -3499,11 +3515,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -3519,7 +3535,7 @@
Оскільки ви вже ввійшли, ви не можете отримати доступ до демонстраційного обліковий запис.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -3547,7 +3563,7 @@
Загальні
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -3555,7 +3571,7 @@
Хмара
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -3567,7 +3583,7 @@
Самохостинг
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -3716,7 +3732,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -3768,7 +3784,7 @@
Ринки
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -3792,7 +3808,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -4240,7 +4256,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -4276,7 +4292,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -4296,11 +4312,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -4380,7 +4396,7 @@
Оновити баланс готівки
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -4388,7 +4404,7 @@
Дата
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -4408,7 +4424,7 @@
Ціна за одиницю
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -4436,7 +4452,7 @@
Імпорт дивідендів
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -4452,7 +4468,7 @@
Імпортуються дані...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -4460,7 +4476,7 @@
Імпорт завершено
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -4476,7 +4492,7 @@
Перевірка даних...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -4572,7 +4588,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -4664,7 +4680,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -4688,7 +4704,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -4696,7 +4712,7 @@
Latest activities
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -4708,7 +4724,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -4720,7 +4736,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -4796,7 +4812,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -4804,11 +4820,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -4828,11 +4844,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -4852,7 +4868,7 @@
Щомісячно
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -4860,7 +4876,7 @@
Щорічно
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -4868,7 +4884,7 @@
Close Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5204,11 +5220,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -5235,6 +5251,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
З початку
@@ -5248,7 +5272,7 @@
Континенти
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -5256,7 +5280,7 @@
Чи хотіли б ви удосконалити вашу особисту інвестиційну стратегію ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -5272,7 +5296,7 @@
Ghostfolio надає можливість вам стежити за вашим багатством.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -5302,6 +5326,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Glossary
@@ -5312,7 +5340,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -5328,7 +5356,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -6003,7 +6031,7 @@
Членство
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -6071,7 +6099,7 @@
Ви дійсно хочете видалити цей рахунок?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -6135,7 +6163,7 @@
Ви дійсно хочете видалити ці дії?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -6143,7 +6171,7 @@
Ви дійсно хочете видалити цю активність?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -6151,7 +6179,7 @@
Тиждень до дати
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -6159,11 +6187,11 @@
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -6171,7 +6199,7 @@
Місяць до дати
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -6179,11 +6207,11 @@
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -6191,7 +6219,7 @@
Рік до дати
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -6199,7 +6227,7 @@
рік
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6211,7 +6239,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6219,11 +6247,11 @@
роки
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6231,7 +6259,7 @@
Профілі активів
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -6371,7 +6399,7 @@
Депозит
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -6383,11 +6411,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -6399,7 +6427,7 @@
Заощадження
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -6415,7 +6443,7 @@
Упс! Не вдалося отримати історичні дані.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -6443,7 +6471,7 @@
Показати все
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -6487,7 +6515,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -6495,7 +6523,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -6519,7 +6547,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -6527,7 +6555,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -6551,7 +6579,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6583,7 +6611,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6591,7 +6619,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6611,7 +6639,7 @@
Закрити
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6637,13 +6665,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6679,7 +6711,7 @@
Резервний фонд
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -6747,7 +6779,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -6766,6 +6798,14 @@
27
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
Пенсійне накопичення
@@ -6795,7 +6835,7 @@
Символ
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -6811,7 +6851,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -6863,7 +6903,7 @@
Role
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6899,7 +6939,7 @@
Комісія
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -6943,7 +6983,7 @@
Готівка
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -6999,7 +7039,7 @@
Authentication
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -7339,7 +7379,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -7347,11 +7387,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -7387,7 +7427,7 @@
Запит AI скопійовано в буфер обміну
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7395,7 +7435,7 @@
Lazy
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7403,7 +7443,7 @@
Instant
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7411,7 +7451,7 @@
Default Market Price
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7419,7 +7459,7 @@
Mode
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7427,7 +7467,7 @@
Selector
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7435,7 +7475,7 @@
HTTP Request Headers
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7443,7 +7483,7 @@
end of day
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7451,7 +7491,7 @@
real-time
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7459,7 +7499,7 @@
Open Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7479,7 +7519,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7491,7 +7531,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7499,11 +7539,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7607,11 +7647,11 @@
Security token
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7619,7 +7659,7 @@
Do you really want to generate a new security token for this user?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7627,7 +7667,7 @@
Find account, holding or page...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7692,7 +7732,7 @@
( ) is already in use.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7700,7 +7740,7 @@
An error occurred while updating to ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7764,7 +7804,7 @@
someone
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7796,7 +7836,7 @@
Do you really want to delete this item?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7837,7 +7877,7 @@
Demo user account has been synced.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7872,7 +7912,7 @@
150
-
+
Fee Ratio
Fee Ratio
@@ -7880,17 +7920,17 @@
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8051,7 +8091,7 @@
Current month
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8059,11 +8099,11 @@
new
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8220,7 +8260,7 @@
Do you really want to generate a new security token?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8244,7 +8284,7 @@
Stocks
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8256,7 +8296,7 @@
Cryptocurrencies
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8276,7 +8316,7 @@
Manage Asset Profile
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8696,7 +8736,7 @@
Registration Date
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf
index a6907698d..fa9e6b874 100644
--- a/apps/client/src/locales/messages.xlf
+++ b/apps/client/src/locales/messages.xlf
@@ -235,7 +235,7 @@
Type
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -312,7 +312,7 @@
Cash Balances
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -334,7 +334,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -346,7 +346,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -362,7 +362,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -404,7 +404,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -416,7 +416,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -435,15 +435,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -490,11 +490,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -521,11 +521,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -548,32 +552,32 @@
Do you really want to delete this account?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
Asset Profile
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
Historical Market Data
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
Data Source
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -585,7 +589,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -596,32 +600,32 @@
Attempts
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
Created
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
Finished
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
Status
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -635,28 +639,28 @@
Delete Jobs
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
View Data
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
View Stacktrace
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
Delete Job
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -670,7 +674,7 @@
Date
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -704,25 +708,25 @@
Currencies
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
ETFs without Countries
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
ETFs without Sectors
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -736,7 +740,7 @@
Filter by...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -773,7 +777,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -819,7 +823,7 @@
Oops! Could not parse historical data.
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -848,7 +852,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -878,7 +882,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -889,7 +893,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -897,7 +901,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -908,7 +912,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -919,7 +923,7 @@
Symbol Mapping
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -933,14 +937,14 @@
Scraper Configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
Note
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -948,7 +952,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -988,35 +992,35 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
Do you really want to delete this coupon?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
Do you really want to delete this system message?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
Do you really want to flush the cache?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
Please set your system message:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -1125,11 +1129,11 @@
Url
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1144,14 +1148,21 @@
Asset profile has been saved
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
Do you really want to delete this platform?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
+
+
+
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
@@ -1172,7 +1183,7 @@
Current year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -1186,14 +1197,14 @@
Platforms
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
Tags
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1215,7 +1226,7 @@
Do you really want to delete this tag?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -1269,7 +1280,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -1297,11 +1308,11 @@
Could not validate form
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -1345,7 +1356,7 @@
Benchmark
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -1378,7 +1389,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -1397,33 +1408,33 @@
Oops! Incorrect Security Token.
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
Manage Activities
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
Fear
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1434,11 +1445,11 @@
Greed
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -1530,7 +1541,7 @@
Current week
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1548,7 +1559,7 @@
Total Amount
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -1653,7 +1664,7 @@
Absolute Gross Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -1664,14 +1675,14 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
Absolute Net Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1682,7 +1693,7 @@
Net Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1693,35 +1704,35 @@
Total Assets
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
Assets
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
Buying Power
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
Excluded from Analysis
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
Liabilities
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -1732,14 +1743,14 @@
Net Worth
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
Annualized Performance
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -1771,7 +1782,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1786,7 +1797,7 @@
Report Data Glitch
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -1954,40 +1965,40 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
YTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
1Y
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
5Y
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -2001,11 +2012,11 @@
Max
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -2094,7 +2105,7 @@
Auto
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2105,7 +2116,7 @@
Do you really want to remove this sign in method?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -2140,7 +2151,7 @@
Locale
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2240,7 +2251,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -2269,7 +2280,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2280,7 +2291,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2295,7 +2306,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -2414,11 +2425,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -2501,7 +2512,7 @@
Market Data
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -2532,6 +2543,10 @@
Overview
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -2550,11 +2565,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -2676,11 +2691,11 @@
Could not parse scraper configuration
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -2694,7 +2709,7 @@
As you are already logged in, you cannot access the demo account.
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -2850,7 +2865,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -2899,7 +2914,7 @@
Markets
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -2923,7 +2938,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -3312,7 +3327,7 @@
Job ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -3344,7 +3359,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -3364,11 +3379,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -3387,7 +3402,7 @@
Do you really want to delete these activities?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3447,14 +3462,14 @@
Update Cash Balance
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
Unit Price
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3480,7 +3495,7 @@
Import Dividends
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3495,14 +3510,14 @@
Importing data...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
Import has been completed
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -3516,7 +3531,7 @@
Validating data...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3669,7 +3684,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -3691,14 +3706,14 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
Latest activities
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -3709,7 +3724,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -3720,7 +3735,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -3774,7 +3789,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -3782,11 +3797,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -3804,21 +3819,21 @@
Deposit
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
Monthly
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
Yearly
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -4070,11 +4085,11 @@
Could not save asset profile
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -4095,7 +4110,7 @@
Continents
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -4109,7 +4124,7 @@
Ghostfolio empowers you to keep track of your wealth.
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -4136,6 +4151,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Personal Finance Tools
@@ -4448,7 +4467,7 @@
Membership
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -4509,7 +4528,7 @@
Do you really want to delete this account balance?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -4559,14 +4578,14 @@
Do you really want to delete this activity?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
Asset Profiles
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -4665,11 +4684,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -4680,7 +4699,7 @@
Savings
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -4706,7 +4725,7 @@
Show all
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -4747,7 +4766,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -4755,7 +4774,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -4778,7 +4797,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -4786,7 +4805,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -4825,7 +4844,7 @@
Emergency Fund
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -4893,7 +4912,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -4903,6 +4922,13 @@
27
+
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
@@ -4921,7 +4947,7 @@
Symbol
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -4937,7 +4963,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -5002,7 +5028,7 @@
Fee
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5042,7 +5068,7 @@
Cash
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -5085,7 +5111,7 @@
Authentication
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -5211,7 +5237,7 @@
Valid until
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -5233,7 +5259,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -5241,11 +5267,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -5270,14 +5296,14 @@
The current market price is
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
Test
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5348,7 +5374,7 @@
Close Holding
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5370,11 +5396,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5406,43 +5432,43 @@
Year to date
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
Week to date
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
Month to date
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
MTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
WTD
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5474,7 +5500,7 @@
year
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -5486,18 +5512,18 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
years
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -5523,7 +5549,7 @@
Self-Hosting
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -5534,7 +5560,7 @@
Data Gathering
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -5545,14 +5571,14 @@
General
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
Cloud
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -5577,14 +5603,14 @@
Closed
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
Active
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -5612,7 +5638,7 @@
Execute Job
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -5626,7 +5652,7 @@
Priority
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -5675,7 +5701,7 @@
Do you really want to close your Ghostfolio account?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -5710,14 +5736,14 @@
Include in
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
Oops! There was an error setting up biometric authentication.
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -5752,7 +5778,7 @@
Benchmarks
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -5773,7 +5799,7 @@
Would you like to refine your personal investment strategy ?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6071,7 +6097,7 @@
Error
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6082,7 +6108,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6114,7 +6140,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6122,7 +6148,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6133,7 +6159,7 @@
Role
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6161,7 +6187,7 @@
Close
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6187,13 +6213,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6246,7 +6276,7 @@
Portfolio Snapshot
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6298,6 +6328,13 @@
42
+
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
offers a free plan
@@ -6439,7 +6476,7 @@
Set API key
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -6471,7 +6508,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -6498,7 +6535,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -6542,28 +6579,28 @@
of
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
Do you really want to delete the API key?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
Remove API key
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
daily requests
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -6588,7 +6625,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -6637,7 +6674,7 @@
Save
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6673,11 +6710,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -6702,14 +6739,14 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
Please enter your Ghostfolio API key.
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -6723,7 +6760,7 @@
AI prompt has been copied to the clipboard
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -6737,63 +6774,63 @@
Mode
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
Default Market Price
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
Selector
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
Instant
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
Lazy
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
HTTP Request Headers
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
real-time
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
end of day
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
Open Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -6811,7 +6848,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -6822,7 +6859,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -6830,11 +6867,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -6925,25 +6962,25 @@
Do you really want to generate a new security token for this user?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
Find account, holding or page...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
Security token
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7001,14 +7038,14 @@
( ) is already in use.
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
An error occurred while updating to ( ).
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7043,7 +7080,7 @@
someone
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7072,7 +7109,7 @@
Do you really want to delete this item?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7116,7 +7153,7 @@
Demo user account has been synced.
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7140,22 +7177,22 @@
150
-
+
Fee Ratio
apps/client/src/app/pages/i18n/i18n-page.html
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -7300,18 +7337,18 @@
Current month
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
new
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -7463,14 +7500,14 @@
Do you really want to generate a new security token?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
Cryptocurrencies
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -7481,7 +7518,7 @@
Stocks
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -7499,7 +7536,7 @@
Manage Asset Profile
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -7868,7 +7905,7 @@
Registration Date
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf
index 7ec9d85a0..78c9b717d 100644
--- a/apps/client/src/locales/messages.zh.xlf
+++ b/apps/client/src/locales/messages.zh.xlf
@@ -252,7 +252,7 @@
类型
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 48
+ 57
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
@@ -336,7 +336,7 @@
现金余额
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 148
+ 146
@@ -360,7 +360,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 309
+ 310
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -372,7 +372,7 @@
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 46
+ 58
apps/client/src/app/components/admin-tag/admin-tag.component.html
@@ -388,7 +388,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 139
+ 135
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -432,7 +432,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 316
+ 317
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -444,7 +444,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 145
+ 141
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -464,15 +464,15 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 205
+ 201
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 208
+ 204
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 211
+ 207
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -520,11 +520,11 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 74
+ 78
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 67
+ 71
libs/ui/src/lib/accounts-table/accounts-table.component.html
@@ -552,11 +552,15 @@
apps/client/src/app/components/admin-platform/admin-platform.component.html
- 85
+ 89
apps/client/src/app/components/admin-tag/admin-tag.component.html
- 78
+ 82
+
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 22
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -580,7 +584,7 @@
您确定要删除此账户吗?
libs/ui/src/lib/accounts-table/accounts-table.component.ts
- 150
+ 148
@@ -588,7 +592,7 @@
资产概况
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 52
+ 61
@@ -596,11 +600,11 @@
历史市场数据
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 54
+ 63
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 448
+ 451
@@ -608,7 +612,7 @@
数据源
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 82
+ 91
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -620,7 +624,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 155
+ 151
libs/ui/src/lib/i18n.ts
@@ -632,7 +636,7 @@
尝试次数
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 120
+ 129
@@ -640,7 +644,7 @@
创建
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 134
+ 143
@@ -648,7 +652,7 @@
完成
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 143
+ 152
@@ -656,11 +660,11 @@
状态
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 152
+ 161
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 92
+ 104
@@ -676,7 +680,7 @@
删除任务
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 193
+ 202
@@ -684,7 +688,7 @@
查看数据
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 208
+ 217
@@ -692,7 +696,7 @@
查看堆栈跟踪
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 216
+ 225
@@ -700,7 +704,7 @@
删除任务
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 224
+ 233
@@ -716,7 +720,7 @@
日期
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 161
+ 157
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -752,11 +756,11 @@
货币
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 131
+ 130
apps/client/src/app/pages/public/public-page.html
- 96
+ 95
@@ -764,7 +768,7 @@
没有国家的 ETF
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 136
+ 135
@@ -772,7 +776,7 @@
无行业类别的 ETF
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 141
+ 140
@@ -788,7 +792,7 @@
过滤...
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 385
+ 383
@@ -828,7 +832,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 44
+ 40
@@ -864,7 +868,7 @@
哎呀!无法解析历史数据。
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
- 262
+ 284
@@ -888,7 +892,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html
- 71
+ 67
@@ -920,7 +924,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 53
+ 72
@@ -932,7 +936,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 396
+ 399
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -940,7 +944,7 @@
apps/client/src/app/pages/public/public-page.html
- 114
+ 113
@@ -952,7 +956,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 407
+ 410
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -964,7 +968,7 @@
代码映射
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 384
+ 387
@@ -980,7 +984,7 @@
刮削配置
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 471
+ 474
@@ -988,7 +992,7 @@
笔记
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 432
+ 435
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -996,7 +1000,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 275
+ 271
@@ -1040,7 +1044,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 124
+ 120
@@ -1048,7 +1052,7 @@
您确实要删除此优惠券吗?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 193
+ 196
@@ -1056,7 +1060,7 @@
您真的要删除这条系统消息吗?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 209
@@ -1064,7 +1068,7 @@
您真的要刷新缓存吗?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 230
+ 233
@@ -1072,7 +1076,7 @@
请设置您的系统消息:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 250
+ 253
@@ -1196,11 +1200,11 @@
网址
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 419
+ 422
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 550
+ 553
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1216,7 +1220,7 @@
资产概况已保存
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 578
+ 594
@@ -1224,7 +1228,15 @@
您真的要删除这个平台吗?
apps/client/src/app/components/admin-platform/admin-platform.component.ts
- 106
+ 111
+
+
+
+ Explore
+ Explore
+
+ apps/client/src/app/pages/resources/overview/resources-overview.component.html
+ 11
@@ -1248,7 +1260,7 @@
当前年份
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
@@ -1264,7 +1276,7 @@
平台
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 195
+ 212
@@ -1272,7 +1284,7 @@
标签
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 201
+ 218
libs/ui/src/lib/tags-selector/tags-selector.component.html
@@ -1296,7 +1308,7 @@
您真的要删除此标签吗?
apps/client/src/app/components/admin-tag/admin-tag.component.ts
- 103
+ 108
@@ -1356,7 +1368,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 89
+ 108
@@ -1388,11 +1400,11 @@
无法验证表单
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 554
+ 570
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 557
+ 573
@@ -1440,7 +1452,7 @@
基准
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 376
+ 379
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
@@ -1476,7 +1488,7 @@
apps/client/src/app/components/header/header.component.ts
- 297
+ 298
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
@@ -1496,15 +1508,15 @@
哎呀!安全令牌不正确。
apps/client/src/app/components/header/header.component.ts
- 312
+ 313
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 154
+ 152
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 193
+ 191
@@ -1512,7 +1524,7 @@
管理活动
apps/client/src/app/components/home-holdings/home-holdings.html
- 67
+ 64
@@ -1520,11 +1532,11 @@
恐惧
apps/client/src/app/components/home-market/home-market.component.ts
- 42
+ 41
apps/client/src/app/components/markets/markets.component.ts
- 47
+ 46
libs/ui/src/lib/i18n.ts
@@ -1536,11 +1548,11 @@
贪婪
apps/client/src/app/components/home-market/home-market.component.ts
- 43
+ 42
apps/client/src/app/components/markets/markets.component.ts
- 48
+ 47
libs/ui/src/lib/i18n.ts
@@ -1644,7 +1656,7 @@
当前周
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
@@ -1664,7 +1676,7 @@
总金额
apps/client/src/app/components/investment-chart/investment-chart.component.ts
- 143
+ 146
@@ -1776,7 +1788,7 @@
绝对总业绩
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 73
+ 77
@@ -1788,7 +1800,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 88
+ 92
@@ -1796,7 +1808,7 @@
绝对净绩效
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 107
+ 111
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1808,7 +1820,7 @@
净绩效
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 123
+ 127
apps/client/src/app/pages/portfolio/analysis/analysis-page.html
@@ -1820,7 +1832,7 @@
总资产
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 149
+ 153
@@ -1828,7 +1840,7 @@
资产
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 226
+ 233
@@ -1836,7 +1848,7 @@
购买力
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 241
+ 248
@@ -1844,7 +1856,7 @@
从分析中排除
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 267
+ 274
@@ -1852,7 +1864,7 @@
负债
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 295
+ 302
apps/client/src/app/pages/features/features-page.html
@@ -1864,7 +1876,7 @@
净值
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 317
+ 324
@@ -1872,7 +1884,7 @@
年化业绩
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 331
+ 338
@@ -1908,7 +1920,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 189
+ 185
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -1924,7 +1936,7 @@
报告数据故障
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 451
+ 456
@@ -2104,7 +2116,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 363
+ 362
@@ -2112,11 +2124,11 @@
年初至今
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 199
+ 205
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -2124,11 +2136,11 @@
1年
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -2136,11 +2148,11 @@
5年
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -2156,11 +2168,11 @@
最大限度
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 211
+ 217
libs/ui/src/lib/assistant/assistant.component.ts
- 415
+ 414
@@ -2260,7 +2272,7 @@
自动
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 70
+ 69
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2272,7 +2284,7 @@
您确实要删除此登录方法吗?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 282
+ 279
@@ -2312,7 +2324,7 @@
语言环境
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 509
+ 512
apps/client/src/app/components/user-account-settings/user-account-settings.html
@@ -2424,7 +2436,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 11
+ 30
@@ -2456,7 +2468,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 195
+ 194
@@ -2468,7 +2480,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 193
+ 192
@@ -2484,7 +2496,7 @@
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 196
+ 195
@@ -2612,11 +2624,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 375
+ 381
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 66
+ 85
apps/client/src/app/pages/accounts/accounts-page.html
@@ -2708,7 +2720,7 @@
市场数据
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 398
+ 403
libs/common/src/lib/routes/routes.ts
@@ -2742,6 +2754,10 @@
Overview
概述
+
+ apps/client/src/app/components/admin-jobs/admin-jobs.html
+ 7
+
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
114
@@ -2760,11 +2776,11 @@
apps/client/src/app/pages/admin/admin-page.component.ts
- 48
+ 45
apps/client/src/app/pages/resources/resources-page.component.ts
- 30
+ 29
libs/common/src/lib/routes/routes.ts
@@ -2888,11 +2904,11 @@
无法解析抓取器配置
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 509
+ 525
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 512
+ 528
@@ -2908,7 +2924,7 @@
由于您已经登录,因此无法访问模拟帐户。
apps/client/src/app/pages/demo/demo-page.component.ts
- 35
+ 32
@@ -3080,7 +3096,7 @@
apps/client/src/app/pages/public/public-page.html
- 242
+ 241
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -3132,7 +3148,7 @@
市场
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 378
+ 381
apps/client/src/app/components/footer/footer.component.html
@@ -3156,7 +3172,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 40
+ 39
libs/common/src/lib/routes/routes.ts
@@ -3596,7 +3612,7 @@
作业 ID
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 34
+ 43
@@ -3632,7 +3648,7 @@
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
- 115
+ 113
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -3652,11 +3668,11 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 342
+ 348
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 75
+ 94
apps/client/src/app/pages/portfolio/activities/activities-page.html
@@ -3676,7 +3692,7 @@
您确定要删除这些活动吗?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 278
+ 282
@@ -3744,7 +3760,7 @@
更新现金余额
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 112
+ 108
@@ -3752,7 +3768,7 @@
单价
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 214
+ 210
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3780,7 +3796,7 @@
导入股息
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 137
+ 136
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -3796,7 +3812,7 @@
正在导入数据...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 175
+ 174
@@ -3804,7 +3820,7 @@
导入已完成
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 185
+ 184
@@ -3820,7 +3836,7 @@
验证数据...
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
- 299
+ 293
@@ -3992,7 +4008,7 @@
apps/client/src/app/pages/public/public-page.html
- 151
+ 150
@@ -4016,7 +4032,7 @@
apps/client/src/app/pages/public/public-page.html
- 168
+ 167
@@ -4024,7 +4040,7 @@
最新活动
apps/client/src/app/pages/public/public-page.html
- 211
+ 210
@@ -4036,7 +4052,7 @@
apps/client/src/app/pages/public/public-page.html
- 177
+ 176
@@ -4048,7 +4064,7 @@
apps/client/src/app/pages/public/public-page.html
- 186
+ 185
@@ -4108,7 +4124,7 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 365
+ 372
apps/client/src/app/pages/features/features-page.html
@@ -4116,11 +4132,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 202
+ 198
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 76
+ 75
libs/ui/src/lib/i18n.ts
@@ -4140,7 +4156,7 @@
存款
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 377
+ 404
@@ -4148,7 +4164,7 @@
每月
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 91
+ 90
@@ -4156,7 +4172,7 @@
每年
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 92
+ 91
@@ -4436,11 +4452,11 @@
无法保存资产概况
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 588
+ 604
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 591
+ 607
@@ -4464,7 +4480,7 @@
大陆
apps/client/src/app/pages/public/public-page.html
- 132
+ 131
@@ -4480,7 +4496,7 @@
Ghostfolio 使您能够跟踪您的财富。
apps/client/src/app/pages/public/public-page.html
- 238
+ 237
@@ -4510,6 +4526,10 @@
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
88
+
+ libs/ui/src/lib/value/value.component.html
+ 18
+
Personal Finance Tools
@@ -4853,7 +4873,7 @@
会员资格
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 48
+ 67
libs/common/src/lib/routes/routes.ts
@@ -4921,7 +4941,7 @@
您确实要删除该帐户余额吗?
libs/ui/src/lib/account-balances/account-balances.component.ts
- 120
+ 113
@@ -4977,7 +4997,7 @@
您确实要删除此活动吗?
libs/ui/src/lib/activities-table/activities-table.component.ts
- 288
+ 292
@@ -4985,7 +5005,7 @@
资产概况
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 106
+ 123
libs/ui/src/lib/assistant/assistant.html
@@ -5097,11 +5117,11 @@
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 352
+ 359
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 387
+ 414
libs/ui/src/lib/i18n.ts
@@ -5113,7 +5133,7 @@
储蓄
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
- 397
+ 424
@@ -5141,7 +5161,7 @@
显示所有
libs/ui/src/lib/holdings-table/holdings-table.component.html
- 216
+ 212
@@ -5185,7 +5205,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 326
+ 327
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5193,7 +5213,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 290
+ 286
libs/ui/src/lib/i18n.ts
@@ -5217,7 +5237,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 342
+ 343
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
@@ -5225,7 +5245,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 309
+ 305
libs/ui/src/lib/i18n.ts
@@ -5269,7 +5289,7 @@
应急基金
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 164
+ 168
apps/client/src/app/pages/features/features-page.html
@@ -5345,7 +5365,7 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 437
+ 451
@@ -5356,6 +5376,14 @@
27
+
+ No Activities
+ No Activities
+
+ apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+ 145
+
+
Retirement Provision
退休金
@@ -5377,7 +5405,7 @@
代码
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 68
+ 77
apps/client/src/app/components/admin-market-data/admin-market-data.html
@@ -5393,7 +5421,7 @@
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 315
+ 318
libs/ui/src/lib/i18n.ts
@@ -5465,7 +5493,7 @@
费用
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 262
+ 258
libs/ui/src/lib/activities-table/activities-table.component.html
@@ -5509,7 +5537,7 @@
现金
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
- 212
+ 219
libs/ui/src/lib/i18n.ts
@@ -5557,7 +5585,7 @@
认证
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 35
+ 54
@@ -5701,7 +5729,7 @@
有效期至
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 74
+ 86
libs/ui/src/lib/membership-card/membership-card.component.html
@@ -5725,7 +5753,7 @@
apps/client/src/app/pages/public/public-page.html
- 196
+ 195
libs/ui/src/lib/benchmark/benchmark.component.html
@@ -5733,11 +5761,11 @@
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 439
+ 453
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
- 452
+ 467
libs/ui/src/lib/top-holdings/top-holdings.component.html
@@ -5765,7 +5793,7 @@
当前市场价格为
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 706
+ 722
@@ -5773,7 +5801,7 @@
测试
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 568
+ 571
@@ -5853,7 +5881,7 @@
关闭持仓
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 442
+ 447
@@ -5877,11 +5905,11 @@
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 81
+ 80
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 97
+ 96
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
@@ -5917,7 +5945,7 @@
今年迄今为止
libs/ui/src/lib/assistant/assistant.component.ts
- 375
+ 374
@@ -5925,7 +5953,7 @@
本周至今
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5933,7 +5961,7 @@
本月至今
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5941,11 +5969,11 @@
本月至今
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
libs/ui/src/lib/assistant/assistant.component.ts
- 371
+ 370
@@ -5953,11 +5981,11 @@
本周至今
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 191
+ 197
libs/ui/src/lib/assistant/assistant.component.ts
- 367
+ 366
@@ -5993,7 +6021,7 @@
年
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 203
+ 209
apps/client/src/app/pages/resources/personal-finance-tools/product-page.html
@@ -6005,7 +6033,7 @@
libs/ui/src/lib/assistant/assistant.component.ts
- 385
+ 384
@@ -6013,11 +6041,11 @@
年
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 207
+ 213
libs/ui/src/lib/assistant/assistant.component.ts
- 409
+ 408
@@ -6046,7 +6074,7 @@
自托管
apps/client/src/app/pages/faq/faq-page.component.ts
- 60
+ 52
libs/common/src/lib/routes/routes.ts
@@ -6058,7 +6086,7 @@
数据收集
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 587
+ 594
apps/client/src/app/components/admin-overview/admin-overview.html
@@ -6070,7 +6098,7 @@
一般的
apps/client/src/app/pages/faq/faq-page.component.ts
- 49
+ 41
@@ -6078,7 +6106,7 @@
云
apps/client/src/app/pages/faq/faq-page.component.ts
- 54
+ 46
libs/common/src/lib/routes/routes.ts
@@ -6106,7 +6134,7 @@
已关闭
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 65
+ 64
@@ -6114,7 +6142,7 @@
活跃
apps/client/src/app/components/home-holdings/home-holdings.component.ts
- 64
+ 63
@@ -6146,7 +6174,7 @@
执行作业
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 220
+ 229
@@ -6154,7 +6182,7 @@
优先级
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 96
+ 105
@@ -6210,7 +6238,7 @@
您确定要关闭您的 Ghostfolio 账户吗?
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 208
+ 205
@@ -6258,7 +6286,7 @@
包含在
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 374
+ 377
@@ -6266,7 +6294,7 @@
哎呀!设置生物识别认证时发生错误。
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
- 336
+ 333
@@ -6282,7 +6310,7 @@
基准
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
- 126
+ 125
@@ -6330,7 +6358,7 @@
您想 优化 您的 个人投资策略 吗?
apps/client/src/app/pages/public/public-page.html
- 234
+ 233
@@ -6662,7 +6690,7 @@
错误
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 697
+ 713
@@ -6714,7 +6742,7 @@
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 592
+ 599
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6746,7 +6774,7 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 345
+ 341
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html
@@ -6754,7 +6782,7 @@
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 46
+ 47
libs/ui/src/lib/i18n.ts
@@ -6766,7 +6794,7 @@
关闭
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 594
+ 601
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -6792,13 +6820,17 @@
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
68
+
+ apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
+ 127
+
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
107
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 347
+ 343
libs/ui/src/lib/i18n.ts
@@ -6810,7 +6842,7 @@
角色
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 14
+ 33
@@ -6834,7 +6866,7 @@
投资组合快照
apps/client/src/app/components/admin-jobs/admin-jobs.html
- 56
+ 65
@@ -6901,6 +6933,14 @@
42
+
+ has been copied to the clipboard
+ has been copied to the clipboard
+
+ libs/ui/src/lib/value/value.component.ts
+ 180
+
+
From the beginning
从头开始
@@ -7066,7 +7106,7 @@
设置 API 密钥
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 171
+ 188
@@ -7102,7 +7142,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 45
+ 44
libs/common/src/lib/routes/routes.ts
@@ -7118,7 +7158,7 @@
apps/client/src/app/pages/resources/resources-page.component.ts
- 34
+ 33
libs/common/src/lib/routes/routes.ts
@@ -7172,7 +7212,7 @@
的
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 135
+ 152
@@ -7180,7 +7220,7 @@
每日请求
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 137
+ 154
@@ -7188,7 +7228,7 @@
移除 API 密钥
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 161
+ 178
@@ -7196,7 +7236,7 @@
您确定要删除此 API 密钥吗?
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 127
+ 133
@@ -7216,7 +7256,7 @@
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 98
+ 117
@@ -7288,7 +7328,7 @@
保存
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 603
+ 610
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
@@ -7324,11 +7364,11 @@
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
- 356
+ 352
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html
- 48
+ 49
@@ -7340,7 +7380,7 @@
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 260
+ 257
@@ -7364,7 +7404,7 @@
请输入您的 Ghostfolio API 密钥。
apps/client/src/app/components/admin-settings/admin-settings.component.ts
- 146
+ 152
@@ -7380,7 +7420,7 @@
AI 提示已复制到剪贴板
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 201
+ 199
@@ -7396,7 +7436,7 @@
延迟
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7404,7 +7444,7 @@
即时
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7412,7 +7452,7 @@
默认市场价格
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 481
+ 484
@@ -7420,7 +7460,7 @@
模式
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 518
+ 521
@@ -7428,7 +7468,7 @@
选择器
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 534
+ 537
@@ -7436,7 +7476,7 @@
HTTP 请求标头
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
- 494
+ 497
@@ -7444,7 +7484,7 @@
收盘
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 225
+ 231
@@ -7452,7 +7492,7 @@
实时
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 229
+ 235
@@ -7460,7 +7500,7 @@
打开 Duck.ai
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
- 202
+ 200
@@ -7480,7 +7520,7 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
@@ -7492,7 +7532,7 @@
apps/client/src/app/components/home-overview/home-overview.component.ts
- 55
+ 54
libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -7500,11 +7540,11 @@
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 368
+ 377
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
- 381
+ 390
@@ -7608,11 +7648,11 @@
安全令牌
apps/client/src/app/components/admin-users/admin-users.component.ts
- 236
+ 235
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 170
+ 167
@@ -7620,7 +7660,7 @@
您确定要为此用户生成新的安全令牌吗?
apps/client/src/app/components/admin-users/admin-users.component.ts
- 241
+ 240
@@ -7628,7 +7668,7 @@
查找账户、持仓或页面...
libs/ui/src/lib/assistant/assistant.component.ts
- 151
+ 115
@@ -7693,7 +7733,7 @@
( ) 已在使用中。
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 633
+ 649
@@ -7701,7 +7741,7 @@
在更新到 ( ) 时发生错误。
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 641
+ 657
@@ -7765,7 +7805,7 @@
某人
apps/client/src/app/pages/public/public-page.component.ts
- 59
+ 61
@@ -7797,7 +7837,7 @@
您确定要删除此项目吗?
libs/ui/src/lib/benchmark/benchmark.component.ts
- 144
+ 139
@@ -7838,7 +7878,7 @@
演示用户账户已同步。
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 274
+ 277
@@ -7873,7 +7913,7 @@
150
-
+
Fee Ratio
费率
@@ -7881,17 +7921,17 @@
152
-
- The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- 费用超过了您初始投资的 ${thresholdMax}% (${feeRatio}%)
+
+ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ 费用已超过您总投资金额的 ${thresholdMax}%(${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
154
-
- The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)
- 费用未超过您初始投资的 ${thresholdMax}% (${feeRatio}%)
+
+ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)
+ 费用未超过您总投资金额的 ${thresholdMax}%(${feeRatio}%)
apps/client/src/app/pages/i18n/i18n-page.html
158
@@ -8052,7 +8092,7 @@
当前月份
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
- 195
+ 201
@@ -8060,11 +8100,11 @@
新增
apps/client/src/app/components/admin-settings/admin-settings.component.html
- 67
+ 79
apps/client/src/app/pages/admin/admin-page.component.ts
- 56
+ 53
@@ -8221,7 +8261,7 @@
您真的想要生成一个新的安全令牌吗?
apps/client/src/app/components/user-account-access/user-account-access.component.ts
- 175
+ 172
@@ -8245,7 +8285,7 @@
股票
apps/client/src/app/components/markets/markets.component.ts
- 52
+ 51
apps/client/src/app/pages/features/features-page.html
@@ -8257,7 +8297,7 @@
加密货币
apps/client/src/app/components/markets/markets.component.ts
- 53
+ 52
apps/client/src/app/pages/features/features-page.html
@@ -8277,7 +8317,7 @@
管理资产概况
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
- 466
+ 471
@@ -8697,7 +8737,7 @@
注册日期
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
- 26
+ 45
diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss
index b7a031bfa..f5a4e9c80 100644
--- a/apps/client/src/styles.scss
+++ b/apps/client/src/styles.scss
@@ -2,7 +2,7 @@
@import './styles/table';
@import './styles/variables';
-@import 'svgmap/dist/svgMap';
+@import 'svgmap/style.min';
:root {
--dark-background: rgb(25, 25, 25);
@@ -546,6 +546,10 @@ ngx-skeleton-loader {
padding: 9px 24px !important;
}
+.no-height {
+ height: unset !important;
+}
+
.no-min-width {
min-width: unset !important;
}
diff --git a/libs/common/src/lib/calculation-helper.ts b/libs/common/src/lib/calculation-helper.ts
index 76b38f9b2..2097fa52a 100644
--- a/libs/common/src/lib/calculation-helper.ts
+++ b/libs/common/src/lib/calculation-helper.ts
@@ -36,14 +36,16 @@ export function getAnnualizedPerformancePercent({
return new Big(0);
}
-export function getIntervalFromDateRange(
- aDateRange: DateRange,
- portfolioStart = new Date(0)
-) {
- let endDate = endOfDay(new Date());
- let startDate = portfolioStart;
+export function getIntervalFromDateRange(params: {
+ dateRange: DateRange;
+ endDate?: Date;
+ startDate?: Date;
+}) {
+ const { dateRange } = params;
+ let endDate = params.endDate ?? endOfDay(new Date());
+ let startDate = params.startDate ?? new Date(0);
- switch (aDateRange) {
+ switch (dateRange) {
case '1d':
startDate = max([startDate, subDays(resetHours(new Date()), 1)]);
break;
@@ -75,8 +77,8 @@ export function getIntervalFromDateRange(
break;
default:
// '2024', '2023', '2022', etc.
- endDate = endOfYear(new Date(aDateRange));
- startDate = max([startDate, new Date(aDateRange)]);
+ endDate = endOfYear(new Date(dateRange));
+ startDate = max([startDate, new Date(dateRange)]);
}
return { endDate, startDate };
diff --git a/libs/common/src/lib/config.ts b/libs/common/src/lib/config.ts
index b558ccc42..08fa2f030 100644
--- a/libs/common/src/lib/config.ts
+++ b/libs/common/src/lib/config.ts
@@ -51,6 +51,14 @@ export const ASSET_CLASS_MAPPING = new Map([
[AssetClass.REAL_ESTATE, []]
]);
+export const BULL_BOARD_COOKIE_NAME = 'bull_board_token';
+
+/**
+ * WARNING: This route is mirrored in `apps/client/proxy.conf.json`.
+ * If you update this value, you must also update the proxy configuration.
+ */
+export const BULL_BOARD_ROUTE = '/admin/queues';
+
export const CACHE_TTL_NO_CACHE = 1;
export const CACHE_TTL_INFINITE = 0;
@@ -80,6 +88,11 @@ export const DEFAULT_PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT = 30000;
export const DEFAULT_REDACTED_PATHS = [
'accounts[*].balance',
+ 'accounts[*].balanceInBaseCurrency',
+ 'accounts[*].comment',
+ 'accounts[*].dividendInBaseCurrency',
+ 'accounts[*].interestInBaseCurrency',
+ 'accounts[*].value',
'accounts[*].valueInBaseCurrency',
'activities[*].account.balance',
'activities[*].account.comment',
@@ -199,6 +212,7 @@ export const PROPERTY_BETTER_UPTIME_MONITOR_ID = 'BETTER_UPTIME_MONITOR_ID';
export const PROPERTY_COUNTRIES_OF_SUBSCRIBERS = 'COUNTRIES_OF_SUBSCRIBERS';
export const PROPERTY_COUPONS = 'COUPONS';
export const PROPERTY_CURRENCIES = 'CURRENCIES';
+export const PROPERTY_CUSTOM_CRYPTOCURRENCIES = 'CUSTOM_CRYPTOCURRENCIES';
export const PROPERTY_DATA_SOURCE_MAPPING = 'DATA_SOURCE_MAPPING';
export const PROPERTY_DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS =
'DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS';
diff --git a/libs/common/src/lib/dtos/create-asset-profile.dto.ts b/libs/common/src/lib/dtos/create-asset-profile.dto.ts
index 80d45ba42..85ad73cc0 100644
--- a/libs/common/src/lib/dtos/create-asset-profile.dto.ts
+++ b/libs/common/src/lib/dtos/create-asset-profile.dto.ts
@@ -5,7 +5,6 @@ import {
IsArray,
IsBoolean,
IsEnum,
- IsObject,
IsOptional,
IsString,
IsUrl
@@ -66,10 +65,6 @@ export class CreateAssetProfileDto {
@IsString()
name?: string;
- @IsObject()
- @IsOptional()
- scraperConfiguration?: Prisma.InputJsonObject;
-
@IsArray()
@IsOptional()
sectors?: Prisma.InputJsonArray;
@@ -77,12 +72,6 @@ export class CreateAssetProfileDto {
@IsString()
symbol: string;
- @IsObject()
- @IsOptional()
- symbolMapping?: {
- [dataProvider: string]: string;
- };
-
@IsOptional()
@IsUrl({
protocols: ['https'],
diff --git a/libs/common/src/lib/helper.spec.ts b/libs/common/src/lib/helper.spec.ts
index 25779cf39..a339c6dab 100644
--- a/libs/common/src/lib/helper.spec.ts
+++ b/libs/common/src/lib/helper.spec.ts
@@ -25,7 +25,7 @@ describe('Helper', () => {
it('Get decimal number with group (dot notation)', () => {
expect(
- extractNumberFromString({ locale: 'de-CH', value: '99’999.99' })
+ extractNumberFromString({ locale: 'de-CH', value: `99'999.99` })
).toEqual(99999.99);
});
@@ -54,12 +54,12 @@ describe('Helper', () => {
});
it('Get de-CH number format group', () => {
- expect(getNumberFormatGroup('de-CH')).toEqual('’');
+ expect(getNumberFormatGroup('de-CH')).toEqual(`'`);
});
it('Get de-CH number format group when it is default', () => {
languageGetter.mockReturnValue('de-CH');
- expect(getNumberFormatGroup()).toEqual('’');
+ expect(getNumberFormatGroup()).toEqual(`'`);
});
it('Get de-DE number format group', () => {
diff --git a/libs/common/src/lib/interfaces/lookup-item.interface.ts b/libs/common/src/lib/interfaces/lookup-item.interface.ts
index fa91ed690..6cedeca09 100644
--- a/libs/common/src/lib/interfaces/lookup-item.interface.ts
+++ b/libs/common/src/lib/interfaces/lookup-item.interface.ts
@@ -7,7 +7,7 @@ export interface LookupItem {
assetSubClass: AssetSubClass;
currency: string;
dataProviderInfo: DataProviderInfo;
- dataSource: DataSource;
+ dataSource: DataSource | null;
name: string;
symbol: string;
}
diff --git a/libs/common/src/lib/interfaces/portfolio-performance.interface.ts b/libs/common/src/lib/interfaces/portfolio-performance.interface.ts
index c0c3802d8..0698004d5 100644
--- a/libs/common/src/lib/interfaces/portfolio-performance.interface.ts
+++ b/libs/common/src/lib/interfaces/portfolio-performance.interface.ts
@@ -7,4 +7,5 @@ export interface PortfolioPerformance {
netPerformancePercentageWithCurrencyEffect: number;
netPerformanceWithCurrencyEffect: number;
totalInvestment: number;
+ totalInvestmentValueWithCurrencyEffect: number;
}
diff --git a/libs/common/src/lib/interfaces/portfolio-position.interface.ts b/libs/common/src/lib/interfaces/portfolio-position.interface.ts
index 620cc00e9..c4ef2e3dc 100644
--- a/libs/common/src/lib/interfaces/portfolio-position.interface.ts
+++ b/libs/common/src/lib/interfaces/portfolio-position.interface.ts
@@ -3,19 +3,52 @@ import { Market, MarketAdvanced } from '@ghostfolio/common/types';
import { AssetClass, AssetSubClass, DataSource, Tag } from '@prisma/client';
import { Country } from './country.interface';
+import { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface';
import { Holding } from './holding.interface';
import { Sector } from './sector.interface';
export interface PortfolioPosition {
activitiesCount: number;
allocationInPercentage: number;
+
+ /** @deprecated */
assetClass?: AssetClass;
+
+ /** @deprecated */
assetClassLabel?: string;
+
+ assetProfile: Pick<
+ EnhancedSymbolProfile,
+ | 'assetClass'
+ | 'assetSubClass'
+ | 'countries'
+ | 'currency'
+ | 'dataSource'
+ | 'holdings'
+ | 'name'
+ | 'sectors'
+ | 'symbol'
+ | 'url'
+ > & {
+ assetClassLabel?: string;
+ assetSubClassLabel?: string;
+ };
+
+ /** @deprecated */
assetSubClass?: AssetSubClass;
+
+ /** @deprecated */
assetSubClassLabel?: string;
+
+ /** @deprecated */
countries: Country[];
+
+ /** @deprecated */
currency: string;
+
+ /** @deprecated */
dataSource: DataSource;
+
dateOfFirstActivity: Date;
dividend: number;
exchange?: string;
@@ -23,24 +56,38 @@ export interface PortfolioPosition {
grossPerformancePercent: number;
grossPerformancePercentWithCurrencyEffect: number;
grossPerformanceWithCurrencyEffect: number;
+
+ /** @deprecated */
holdings: Holding[];
+
investment: number;
marketChange?: number;
marketChangePercent?: number;
marketPrice: number;
markets?: { [key in Market]: number };
marketsAdvanced?: { [key in MarketAdvanced]: number };
+
+ /** @deprecated */
name: string;
+
netPerformance: number;
netPerformancePercent: number;
netPerformancePercentWithCurrencyEffect: number;
netPerformanceWithCurrencyEffect: number;
quantity: number;
+
+ /** @deprecated */
sectors: Sector[];
+
+ /** @deprecated */
symbol: string;
+
tags?: Tag[];
type?: string;
+
+ /** @deprecated */
url?: string;
+
valueInBaseCurrency?: number;
valueInPercentage?: number;
}
diff --git a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts
index ccf94dcf7..8db6b39bb 100644
--- a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts
+++ b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts
@@ -6,7 +6,6 @@ export interface PortfolioSummary extends PortfolioPerformance {
annualizedPerformancePercent: number;
annualizedPerformancePercentWithCurrencyEffect: number;
cash: number;
- committedFunds: number;
dateOfFirstActivity: Date;
dividendInBaseCurrency: number;
emergencyFund: {
diff --git a/libs/common/src/lib/interfaces/responses/export-response.interface.ts b/libs/common/src/lib/interfaces/responses/export-response.interface.ts
index 8b1697ca4..fa592faf2 100644
--- a/libs/common/src/lib/interfaces/responses/export-response.interface.ts
+++ b/libs/common/src/lib/interfaces/responses/export-response.interface.ts
@@ -27,7 +27,12 @@ export interface ExportResponse {
> & { dataSource: DataSource; date: string; symbol: string })[];
assetProfiles: (Omit<
SymbolProfile,
- 'createdAt' | 'id' | 'updatedAt' | 'userId'
+ | 'createdAt'
+ | 'id'
+ | 'scraperConfiguration'
+ | 'symbolMapping'
+ | 'updatedAt'
+ | 'userId'
> & {
marketData: MarketData[];
})[];
diff --git a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
index 4a087ad16..eae14cec6 100644
--- a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
+++ b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
@@ -14,16 +14,31 @@ export interface PublicPortfolioResponse extends PublicPortfolioResponseV1 {
[symbol: string]: Pick<
PortfolioPosition,
| 'allocationInPercentage'
+
+ /** @deprecated */
| 'assetClass'
+ | 'assetProfile'
+
+ /** @deprecated */
| 'countries'
| 'currency'
+
+ /** @deprecated */
| 'dataSource'
| 'dateOfFirstActivity'
| 'markets'
+
+ /** @deprecated */
| 'name'
| 'netPerformancePercentWithCurrencyEffect'
+
+ /** @deprecated */
| 'sectors'
+
+ /** @deprecated */
| 'symbol'
+
+ /** @deprecated */
| 'url'
| 'valueInBaseCurrency'
| 'valueInPercentage'
diff --git a/libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts b/libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts
index bdef3e169..60a76d468 100644
--- a/libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts
+++ b/libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts
@@ -9,7 +9,7 @@ export interface XRayRulesSettings {
EconomicMarketClusterRiskDevelopedMarkets?: RuleSettings;
EconomicMarketClusterRiskEmergingMarkets?: RuleSettings;
EmergencyFundSetup?: RuleSettings;
- FeeRatioInitialInvestment?: RuleSettings;
+ FeeRatioTotalInvestmentVolume?: RuleSettings;
RegionalMarketClusterRiskAsiaPacific?: RuleSettings;
RegionalMarketClusterRiskEmergingMarkets?: RuleSettings;
RegionalMarketClusterRiskEurope?: RuleSettings;
diff --git a/libs/common/src/lib/permissions.ts b/libs/common/src/lib/permissions.ts
index cb4eb175b..f9cb19562 100644
--- a/libs/common/src/lib/permissions.ts
+++ b/libs/common/src/lib/permissions.ts
@@ -4,15 +4,16 @@ import { Role } from '@prisma/client';
export const permissions = {
accessAdminControl: 'accessAdminControl',
+ accessAdminControlBullBoard: 'accessAdminControlBullBoard',
accessAssistant: 'accessAssistant',
accessHoldingsChart: 'accessHoldingsChart',
createAccess: 'createAccess',
createAccount: 'createAccount',
createAccountBalance: 'createAccountBalance',
+ createActivity: 'createActivity',
createApiKey: 'createApiKey',
createMarketData: 'createMarketData',
createMarketDataOfOwnAssetProfile: 'createMarketDataOfOwnAssetProfile',
- createOrder: 'createOrder',
createOwnTag: 'createOwnTag',
createPlatform: 'createPlatform',
createTag: 'createTag',
@@ -21,8 +22,8 @@ export const permissions = {
deleteAccess: 'deleteAccess',
deleteAccount: 'deleteAccount',
deleteAccountBalance: 'deleteAccountBalance',
+ deleteActivity: 'deleteActivity',
deleteAuthDevice: 'deleteAuthDevice',
- deleteOrder: 'deleteOrder',
deleteOwnUser: 'deleteOwnUser',
deletePlatform: 'deletePlatform',
deleteTag: 'deleteTag',
@@ -53,10 +54,10 @@ export const permissions = {
toggleReadOnlyMode: 'toggleReadOnlyMode',
updateAccount: 'updateAccount',
updateAccess: 'updateAccess',
+ updateActivity: 'updateActivity',
updateAuthDevice: 'updateAuthDevice',
updateMarketData: 'updateMarketData',
updateMarketDataOfOwnAssetProfile: 'updateMarketDataOfOwnAssetProfile',
- updateOrder: 'updateOrder',
updateOwnAccessToken: 'updateOwnAccessToken',
updatePlatform: 'updatePlatform',
updateTag: 'updateTag',
@@ -74,19 +75,19 @@ export function getPermissions(aRole: Role): string[] {
permissions.createAccess,
permissions.createAccount,
permissions.createAccountBalance,
+ permissions.createActivity,
permissions.createWatchlistItem,
permissions.deleteAccountBalance,
permissions.deleteWatchlistItem,
permissions.createMarketData,
permissions.createMarketDataOfOwnAssetProfile,
- permissions.createOrder,
permissions.createOwnTag,
permissions.createPlatform,
permissions.createTag,
permissions.deleteAccess,
permissions.deleteAccount,
+ permissions.deleteActivity,
permissions.deleteAuthDevice,
- permissions.deleteOrder,
permissions.deletePlatform,
permissions.deleteTag,
permissions.deleteUser,
@@ -99,10 +100,10 @@ export function getPermissions(aRole: Role): string[] {
permissions.readWatchlist,
permissions.updateAccount,
permissions.updateAccess,
+ permissions.updateActivity,
permissions.updateAuthDevice,
permissions.updateMarketData,
permissions.updateMarketDataOfOwnAssetProfile,
- permissions.updateOrder,
permissions.updatePlatform,
permissions.updateTag,
permissions.updateUserSettings,
@@ -125,15 +126,15 @@ export function getPermissions(aRole: Role): string[] {
permissions.createAccess,
permissions.createAccount,
permissions.createAccountBalance,
+ permissions.createActivity,
permissions.createMarketDataOfOwnAssetProfile,
- permissions.createOrder,
permissions.createOwnTag,
permissions.createWatchlistItem,
permissions.deleteAccess,
permissions.deleteAccount,
permissions.deleteAccountBalance,
+ permissions.deleteActivity,
permissions.deleteAuthDevice,
- permissions.deleteOrder,
permissions.deleteWatchlistItem,
permissions.readAiPrompt,
permissions.readMarketDataOfOwnAssetProfile,
@@ -141,9 +142,9 @@ export function getPermissions(aRole: Role): string[] {
permissions.readWatchlist,
permissions.updateAccount,
permissions.updateAccess,
+ permissions.updateActivity,
permissions.updateAuthDevice,
permissions.updateMarketDataOfOwnAssetProfile,
- permissions.updateOrder,
permissions.updateUserSettings,
permissions.updateViewMode
];
@@ -194,7 +195,7 @@ export function hasReadRestrictedAccessPermission({
return false;
}
- const access = user.accessesGet?.find(({ id }) => {
+ const access = user?.accessesGet?.find(({ id }) => {
return id === impersonationId;
});
diff --git a/libs/common/src/lib/personal-finance-tools.ts b/libs/common/src/lib/personal-finance-tools.ts
index 6d0a85fb2..063b4254c 100644
--- a/libs/common/src/lib/personal-finance-tools.ts
+++ b/libs/common/src/lib/personal-finance-tools.ts
@@ -33,6 +33,15 @@ export const personalFinanceTools: Product[] = [
origin: 'Switzerland',
slogan: 'Simplicity for Complex Wealth'
},
+ {
+ founded: 2018,
+ hasFreePlan: false,
+ hasSelfHostingAbility: false,
+ key: 'altruist',
+ name: 'Altruist',
+ origin: 'United States',
+ slogan: 'The wealth platform built for independent advisors'
+ },
{
founded: 2023,
hasFreePlan: false,
@@ -116,6 +125,17 @@ export const personalFinanceTools: Product[] = [
origin: 'Switzerland',
slogan: 'Schweizer Budget App für einfache & smarte Budgetplanung'
},
+ {
+ founded: 2015,
+ hasFreePlan: true,
+ hasSelfHostingAbility: false,
+ key: 'boldin',
+ name: 'Boldin',
+ note: 'Originally named as NewRetirement',
+ origin: 'United States',
+ pricingPerYear: '$144',
+ slogan: 'Take control with retirement planning tools that begin with you'
+ },
{
key: 'budgetpulse',
name: 'BudgetPulse',
@@ -841,6 +861,16 @@ export const personalFinanceTools: Product[] = [
pricingPerYear: '$108',
slogan: 'Build Financial Plans You Love.'
},
+ {
+ founded: 2022,
+ hasFreePlan: false,
+ hasSelfHostingAbility: false,
+ key: 'prostocktracker',
+ name: 'Pro Stock Tracker',
+ origin: 'United Kingdom',
+ pricingPerYear: '$60',
+ slogan: 'The stock portfolio tracker built for long-term investors'
+ },
{
founded: 2015,
hasSelfHostingAbility: false,
@@ -1014,6 +1044,16 @@ export const personalFinanceTools: Product[] = [
regions: ['Austria', 'Germany', 'Switzerland'],
slogan: 'Dein Vermögen immer im Blick'
},
+ {
+ founded: 2025,
+ hasFreePlan: false,
+ hasSelfHostingAbility: false,
+ key: 'turbobulls',
+ name: 'Turbobulls',
+ origin: 'Romania',
+ pricingPerYear: '€39.99',
+ slogan: 'Your complete financial dashboard. Actually private.'
+ },
{
hasFreePlan: true,
hasSelfHostingAbility: false,
diff --git a/libs/common/src/lib/types/market-data-preset.type.ts b/libs/common/src/lib/types/market-data-preset.type.ts
index 0dbf914fa..2622feac3 100644
--- a/libs/common/src/lib/types/market-data-preset.type.ts
+++ b/libs/common/src/lib/types/market-data-preset.type.ts
@@ -2,4 +2,5 @@ export type MarketDataPreset =
| 'BENCHMARKS'
| 'CURRENCIES'
| 'ETF_WITHOUT_COUNTRIES'
- | 'ETF_WITHOUT_SECTORS';
+ | 'ETF_WITHOUT_SECTORS'
+ | 'NO_ACTIVITIES';
diff --git a/libs/ui/src/lib/account-balances/account-balances.component.html b/libs/ui/src/lib/account-balances/account-balances.component.html
index caef922ed..29037a985 100644
--- a/libs/ui/src/lib/account-balances/account-balances.component.html
+++ b/libs/ui/src/lib/account-balances/account-balances.component.html
@@ -12,7 +12,7 @@
Date
-
+
@@ -37,7 +37,7 @@
@@ -58,7 +58,7 @@
- @if (showActions) {
+ @if (showActions()) {