Browse Source

Merge remote-tracking branch 'origin/main' into feature/extend-holdings-endpoint-for-cash

pull/5650/head
KenTandrian 1 month ago
parent
commit
7aa7971051
  1. 27
      CHANGELOG.md
  2. 13
      README.md
  3. 79
      apps/api/src/app/endpoints/ai/ai.service.ts
  4. 9
      apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts
  5. 7
      apps/client/src/app/app.component.ts
  6. 6
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts
  7. 2
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
  8. 17
      apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
  9. 28
      apps/client/src/app/components/admin-platform/admin-platform.component.ts
  10. 14
      apps/client/src/app/components/admin-tag/admin-tag.component.ts
  11. 2
      apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/interfaces/interfaces.ts
  12. 8
      apps/client/src/app/components/admin-users/admin-users.component.ts
  13. 6
      apps/client/src/app/components/header/header.component.ts
  14. 21
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
  15. 5
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
  16. 10
      apps/client/src/app/components/home-watchlist/home-watchlist.component.ts
  17. 5
      apps/client/src/app/components/login-with-access-token-dialog/interfaces/interfaces.ts
  18. 4
      apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.component.ts
  19. 7
      apps/client/src/app/components/rule/rule.component.ts
  20. 15
      apps/client/src/app/components/user-account-access/user-account-access.component.ts
  21. 24
      apps/client/src/app/pages/about/overview/about-overview-page.html
  22. 25
      apps/client/src/app/pages/accounts/accounts-page.component.ts
  23. 2
      apps/client/src/app/pages/accounts/create-or-update-account-dialog/interfaces/interfaces.ts
  24. 10
      apps/client/src/app/pages/home/home-page.component.ts
  25. 31
      apps/client/src/app/pages/portfolio/activities/activities-page.component.ts
  26. 1
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts
  27. 2
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/interfaces/interfaces.ts
  28. 7
      apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts
  29. 10
      apps/client/src/app/pages/register/register-page.component.ts
  30. 18
      apps/client/src/app/pages/resources/glossary/resources-glossary.component.html
  31. 4
      apps/client/src/app/pages/resources/guides/resources-guides.component.html
  32. 8
      apps/client/src/app/pages/resources/markets/resources-markets.component.html
  33. 2
      apps/client/src/app/pages/resources/overview/resources-overview.component.html
  34. 6
      apps/client/src/app/pages/zen/zen-page.component.ts
  35. 10
      apps/client/src/app/services/user/user.service.ts
  36. BIN
      apps/client/src/assets/images/sponsors/logo-lambdatest.png
  37. 38
      apps/client/src/locales/messages.ca.xlf
  38. 38
      apps/client/src/locales/messages.de.xlf
  39. 38
      apps/client/src/locales/messages.es.xlf
  40. 38
      apps/client/src/locales/messages.fr.xlf
  41. 38
      apps/client/src/locales/messages.it.xlf
  42. 38
      apps/client/src/locales/messages.nl.xlf
  43. 38
      apps/client/src/locales/messages.pl.xlf
  44. 38
      apps/client/src/locales/messages.pt.xlf
  45. 38
      apps/client/src/locales/messages.tr.xlf
  46. 38
      apps/client/src/locales/messages.uk.xlf
  47. 37
      apps/client/src/locales/messages.xlf
  48. 38
      apps/client/src/locales/messages.zh.xlf
  49. 14
      libs/ui/src/lib/activities-table/activities-table.component.html
  50. 22
      libs/ui/src/lib/activities-table/activities-table.component.ts
  51. 7
      libs/ui/src/lib/benchmark/benchmark.component.ts
  52. 10
      libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts
  53. 6
      libs/ui/src/lib/tags-selector/tags-selector.component.ts
  54. 206
      package-lock.json
  55. 20
      package.json

27
CHANGELOG.md

@ -9,12 +9,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
- Added a close holding button to the holding detail dialog
- Extended the holdings endpoint to include the performance with currency effect for cash - Extended the holdings endpoint to include the performance with currency effect for cash
## 2.213.0 - 2025-10-30
### Added
- Extended the activities table menu with a _View Holding_ item
- Added the error logging to the symbol lookup in the _Trackinsight_ data enhancer
### Changed
- Improved the icon of the holdings tab on the home page
- Improved the icon of the holdings tab on the home page for the _Zen Mode_
- Improved the icon of the holdings tab in the account detail dialog
- Migrated the tags selector component in the holding detail dialog to form control
- Improved the language localization for German (`de`)
- Upgraded `nestjs` from version `11.1.3` to `11.1.8`
## 2.212.0 - 2025-10-29
### Added
- Added a close holding button to the holding detail dialog
- Added the _Sponsors_ section to the about page
- Extended the user detail dialog in the users section of the admin control panel - Extended the user detail dialog in the users section of the admin control panel
### Changed ### Changed
- Refactored the generation of the holdings table in the _Copy AI prompt to clipboard for analysis_ action on the analysis page (experimental)
- Refactored the generation of the holdings table in the _Copy portfolio data to clipboard for AI prompt_ action on the analysis page (experimental)
- Improved the usability of the user detail dialog in the users section of the admin control panel
- Improved the language localization for German (`de`) - Improved the language localization for German (`de`)
### Fixed ### Fixed

13
README.md

@ -297,7 +297,18 @@ Ghostfolio is **100% free** and **open source**. We encourage and support an act
Not sure what to work on? We have [some ideas](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22%20no%3Aassignee), even for [newcomers](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22%20no%3Aassignee). Please join the Ghostfolio [Slack](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg) channel or post to [@ghostfolio\_](https://x.com/ghostfolio_) on _X_. We would love to hear from you. Not sure what to work on? We have [some ideas](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22%20no%3Aassignee), even for [newcomers](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22%20no%3Aassignee). Please join the Ghostfolio [Slack](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg) channel or post to [@ghostfolio\_](https://x.com/ghostfolio_) on _X_. We would love to hear from you.
If you like to support this project, get [**Ghostfolio Premium**](https://ghostfol.io/en/pricing) or [**Buy me a coffee**](https://www.buymeacoffee.com/ghostfolio). If you like to support this project, become a [**Sponsor**](https://github.com/sponsors/ghostfolio), get [**Ghostfolio Premium**](https://ghostfol.io/en/pricing) or [**Buy me a coffee**](https://www.buymeacoffee.com/ghostfolio).
## Sponsors
<div align="center">
<p>
Browser testing via<br />
<a href="https://www.lambdatest.com?utm_medium=sponsor&utm_source=ghostfolio" target="_blank" title="LambdaTest - AI Powered Testing Tool">
<img alt="LambdaTest Logo" height="45" width="250" src="https://www.lambdatest.com/blue-logo.png" />
</a>
</p>
</div>
## Analytics ## Analytics

79
apps/api/src/app/endpoints/ai/ai.service.ts

@ -14,6 +14,27 @@ import type { ColumnDescriptor } from 'tablemark';
@Injectable() @Injectable()
export class AiService { export class AiService {
private static readonly HOLDINGS_TABLE_COLUMN_DEFINITIONS: ({
key:
| 'ALLOCATION_PERCENTAGE'
| 'ASSET_CLASS'
| 'ASSET_SUB_CLASS'
| 'CURRENCY'
| 'NAME'
| 'SYMBOL';
} & ColumnDescriptor)[] = [
{ key: 'NAME', name: 'Name' },
{ key: 'SYMBOL', name: 'Symbol' },
{ key: 'CURRENCY', name: 'Currency' },
{ key: 'ASSET_CLASS', name: 'Asset Class' },
{ key: 'ASSET_SUB_CLASS', name: 'Asset Sub Class' },
{
align: 'right',
key: 'ALLOCATION_PERCENTAGE',
name: 'Allocation in Percentage'
}
];
public constructor( public constructor(
private readonly portfolioService: PortfolioService, private readonly portfolioService: PortfolioService,
private readonly propertyService: PropertyService private readonly propertyService: PropertyService
@ -59,14 +80,10 @@ export class AiService {
userId userId
}); });
const holdingsTableColumns: ColumnDescriptor[] = [ const holdingsTableColumns: ColumnDescriptor[] =
{ name: 'Name' }, AiService.HOLDINGS_TABLE_COLUMN_DEFINITIONS.map(({ align, name }) => {
{ name: 'Symbol' }, return { name, align: align ?? 'left' };
{ name: 'Currency' }, });
{ name: 'Asset Class' },
{ name: 'Asset Sub Class' },
{ align: 'right', name: 'Allocation in Percentage' }
];
const holdingsTableRows = Object.values(holdings) const holdingsTableRows = Object.values(holdings)
.sort((a, b) => { .sort((a, b) => {
@ -78,17 +95,45 @@ export class AiService {
assetClass, assetClass,
assetSubClass, assetSubClass,
currency, currency,
name, name: label,
symbol symbol
}) => { }) => {
return { return AiService.HOLDINGS_TABLE_COLUMN_DEFINITIONS.reduce(
Name: name, (row, { key, name }) => {
Symbol: symbol, switch (key) {
Currency: currency, case 'ALLOCATION_PERCENTAGE':
'Asset Class': assetClass ?? '', row[name] = `${(allocationInPercentage * 100).toFixed(3)}%`;
'Asset Sub Class': assetSubClass ?? '', break;
'Allocation in Percentage': `${(allocationInPercentage * 100).toFixed(3)}%`
}; case 'ASSET_CLASS':
row[name] = assetClass ?? '';
break;
case 'ASSET_SUB_CLASS':
row[name] = assetSubClass ?? '';
break;
case 'CURRENCY':
row[name] = currency;
break;
case 'NAME':
row[name] = label;
break;
case 'SYMBOL':
row[name] = symbol;
break;
default:
row[name] = '';
break;
}
return row;
},
{} as Record<string, string>
);
} }
); );

9
apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts

@ -4,7 +4,7 @@ import { Holding } from '@ghostfolio/common/interfaces';
import { Country } from '@ghostfolio/common/interfaces/country.interface'; import { Country } from '@ghostfolio/common/interfaces/country.interface';
import { Sector } from '@ghostfolio/common/interfaces/sector.interface'; import { Sector } from '@ghostfolio/common/interfaces/sector.interface';
import { Injectable } from '@nestjs/common'; import { Injectable, Logger } from '@nestjs/common';
import { SymbolProfile } from '@prisma/client'; import { SymbolProfile } from '@prisma/client';
import { countries } from 'countries-list'; import { countries } from 'countries-list';
@ -202,7 +202,12 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
return undefined; return undefined;
}) })
.catch(() => { .catch(({ message }) => {
Logger.error(
`Failed to search Trackinsight symbol for ${symbol} (${message})`,
'TrackinsightDataEnhancerService'
);
return undefined; return undefined;
}); });
} }

7
apps/client/src/app/app.component.ts

@ -276,7 +276,10 @@ export class AppComponent implements OnDestroy, OnInit {
.subscribe((user) => { .subscribe((user) => {
this.user = user; this.user = user;
const dialogRef = this.dialog.open(GfHoldingDetailDialogComponent, { const dialogRef = this.dialog.open<
GfHoldingDetailDialogComponent,
HoldingDetailDialogParams
>(GfHoldingDetailDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
dataSource, dataSource,
@ -302,7 +305,7 @@ export class AppComponent implements OnDestroy, OnInit {
hasPermission(this.user?.permissions, permissions.updateOrder) && hasPermission(this.user?.permissions, permissions.updateOrder) &&
!this.user?.settings?.isRestrictedView, !this.user?.settings?.isRestrictedView,
locale: this.user?.settings?.locale locale: this.user?.settings?.locale
} as HoldingDetailDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });

6
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts

@ -43,9 +43,9 @@ import { Big } from 'big.js';
import { format, parseISO } from 'date-fns'; import { format, parseISO } from 'date-fns';
import { addIcons } from 'ionicons'; import { addIcons } from 'ionicons';
import { import {
albumsOutline,
cashOutline, cashOutline,
swapVerticalOutline, swapVerticalOutline
walletOutline
} from 'ionicons/icons'; } from 'ionicons/icons';
import { isNumber } from 'lodash'; import { isNumber } from 'lodash';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
@ -129,7 +129,7 @@ export class GfAccountDetailDialogComponent implements OnDestroy, OnInit {
} }
}); });
addIcons({ cashOutline, swapVerticalOutline, walletOutline }); addIcons({ albumsOutline, cashOutline, swapVerticalOutline });
} }
public ngOnInit() { public ngOnInit() {

2
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html

@ -98,7 +98,7 @@
> >
<mat-tab> <mat-tab>
<ng-template mat-tab-label> <ng-template mat-tab-label>
<ion-icon name="wallet-outline" /> <ion-icon name="albums-outline" />
<div class="d-none d-sm-block ml-2" i18n>Holdings</div> <div class="d-none d-sm-block ml-2" i18n>Holdings</div>
</ng-template> </ng-template>
<gf-holdings-table <gf-holdings-table

17
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts

@ -430,7 +430,10 @@ export class GfAdminMarketDataComponent
.subscribe((user) => { .subscribe((user) => {
this.user = user; this.user = user;
const dialogRef = this.dialog.open(GfAssetProfileDialogComponent, { const dialogRef = this.dialog.open<
GfAssetProfileDialogComponent,
AssetProfileDialogParams
>(GfAssetProfileDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
dataSource, dataSource,
@ -438,7 +441,7 @@ export class GfAdminMarketDataComponent
colorScheme: this.user?.settings.colorScheme, colorScheme: this.user?.settings.colorScheme,
deviceType: this.deviceType, deviceType: this.deviceType,
locale: this.user?.settings?.locale locale: this.user?.settings?.locale
} as AssetProfileDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });
@ -465,17 +468,17 @@ export class GfAdminMarketDataComponent
.subscribe((user) => { .subscribe((user) => {
this.user = user; this.user = user;
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfCreateAssetProfileDialogComponent, GfCreateAssetProfileDialogComponent,
{ CreateAssetProfileDialogParams
>(GfCreateAssetProfileDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
deviceType: this.deviceType, deviceType: this.deviceType,
locale: this.user?.settings?.locale locale: this.user?.settings?.locale
} as CreateAssetProfileDialogParams, },
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()

28
apps/client/src/app/components/admin-platform/admin-platform.component.ts

@ -34,6 +34,7 @@ import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject, takeUntil } from 'rxjs'; import { Subject, takeUntil } from 'rxjs';
import { GfCreateOrUpdatePlatformDialogComponent } from './create-or-update-platform-dialog/create-or-update-platform-dialog.component'; import { GfCreateOrUpdatePlatformDialogComponent } from './create-or-update-platform-dialog/create-or-update-platform-dialog.component';
import { CreateOrUpdatePlatformDialogParams } from './create-or-update-platform-dialog/interfaces/interfaces';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
@ -153,19 +154,20 @@ export class GfAdminPlatformComponent implements OnInit, OnDestroy {
} }
private openCreatePlatformDialog() { private openCreatePlatformDialog() {
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfCreateOrUpdatePlatformDialogComponent, GfCreateOrUpdatePlatformDialogComponent,
{ CreateOrUpdatePlatformDialogParams
>(GfCreateOrUpdatePlatformDialogComponent, {
data: { data: {
platform: { platform: {
id: null,
name: null, name: null,
url: null url: null
} }
}, },
height: this.deviceType === 'mobile' ? '98vh' : undefined, height: this.deviceType === 'mobile' ? '98vh' : undefined,
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()
@ -191,10 +193,19 @@ export class GfAdminPlatformComponent implements OnInit, OnDestroy {
}); });
} }
private openUpdatePlatformDialog({ id, name, url }) { private openUpdatePlatformDialog({
const dialogRef = this.dialog.open( id,
name,
url
}: {
id: string;
name: string;
url: string;
}) {
const dialogRef = this.dialog.open<
GfCreateOrUpdatePlatformDialogComponent, GfCreateOrUpdatePlatformDialogComponent,
{ CreateOrUpdatePlatformDialogParams
>(GfCreateOrUpdatePlatformDialogComponent, {
data: { data: {
platform: { platform: {
id, id,
@ -204,8 +215,7 @@ export class GfAdminPlatformComponent implements OnInit, OnDestroy {
}, },
height: this.deviceType === 'mobile' ? '98vh' : undefined, height: this.deviceType === 'mobile' ? '98vh' : undefined,
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()

14
apps/client/src/app/components/admin-tag/admin-tag.component.ts

@ -32,6 +32,7 @@ import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject, takeUntil } from 'rxjs'; import { Subject, takeUntil } from 'rxjs';
import { GfCreateOrUpdateTagDialogComponent } from './create-or-update-tag-dialog/create-or-update-tag-dialog.component'; import { GfCreateOrUpdateTagDialogComponent } from './create-or-update-tag-dialog/create-or-update-tag-dialog.component';
import { CreateOrUpdateTagDialogParams } from './create-or-update-tag-dialog/interfaces/interfaces';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
@ -149,9 +150,13 @@ export class GfAdminTagComponent implements OnInit, OnDestroy {
} }
private openCreateTagDialog() { private openCreateTagDialog() {
const dialogRef = this.dialog.open(GfCreateOrUpdateTagDialogComponent, { const dialogRef = this.dialog.open<
GfCreateOrUpdateTagDialogComponent,
CreateOrUpdateTagDialogParams
>(GfCreateOrUpdateTagDialogComponent, {
data: { data: {
tag: { tag: {
id: null,
name: null name: null
} }
}, },
@ -183,8 +188,11 @@ export class GfAdminTagComponent implements OnInit, OnDestroy {
}); });
} }
private openUpdateTagDialog({ id, name }) { private openUpdateTagDialog({ id, name }: { id: string; name: string }) {
const dialogRef = this.dialog.open(GfCreateOrUpdateTagDialogComponent, { const dialogRef = this.dialog.open<
GfCreateOrUpdateTagDialogComponent,
CreateOrUpdateTagDialogParams
>(GfCreateOrUpdateTagDialogComponent, {
data: { data: {
tag: { tag: {
id, id,

2
apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/interfaces/interfaces.ts

@ -1,5 +1,5 @@
import { Tag } from '@prisma/client'; import { Tag } from '@prisma/client';
export interface CreateOrUpdateTagDialogParams { export interface CreateOrUpdateTagDialogParams {
tag: Tag; tag: Pick<Tag, 'id' | 'name'>;
} }

8
apps/client/src/app/components/admin-users/admin-users.component.ts

@ -288,14 +288,17 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
return; return;
} }
const dialogRef = this.dialog.open(GfUserDetailDialogComponent, { const dialogRef = this.dialog.open<
GfUserDetailDialogComponent,
UserDetailDialogParams
>(GfUserDetailDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
userData, userData,
deviceType: this.deviceType, deviceType: this.deviceType,
hasPermissionForSubscription: this.hasPermissionForSubscription, hasPermissionForSubscription: this.hasPermissionForSubscription,
locale: this.user?.settings?.locale locale: this.user?.settings?.locale
} as UserDetailDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : '60vh', height: this.deviceType === 'mobile' ? '98vh' : '60vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });
@ -304,7 +307,6 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
.afterClosed() .afterClosed()
.pipe(takeUntil(this.unsubscribeSubject)) .pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => { .subscribe(() => {
this.fetchUsers();
this.router.navigate(['.'], { relativeTo: this.route }); this.router.navigate(['.'], { relativeTo: this.route });
}); });
} }

6
apps/client/src/app/components/header/header.component.ts

@ -1,4 +1,5 @@
import { UpdateUserSettingDto } from '@ghostfolio/api/app/user/update-user-setting.dto'; import { UpdateUserSettingDto } from '@ghostfolio/api/app/user/update-user-setting.dto';
import { LoginWithAccessTokenDialogParams } from '@ghostfolio/client/components/login-with-access-token-dialog/interfaces/interfaces';
import { GfLoginWithAccessTokenDialogComponent } from '@ghostfolio/client/components/login-with-access-token-dialog/login-with-access-token-dialog.component'; import { GfLoginWithAccessTokenDialogComponent } from '@ghostfolio/client/components/login-with-access-token-dialog/login-with-access-token-dialog.component';
import { LayoutService } from '@ghostfolio/client/core/layout.service'; import { LayoutService } from '@ghostfolio/client/core/layout.service';
import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { NotificationService } from '@ghostfolio/client/core/notification/notification.service';
@ -271,7 +272,10 @@ export class GfHeaderComponent implements OnChanges {
} }
public openLoginDialog() { public openLoginDialog() {
const dialogRef = this.dialog.open(GfLoginWithAccessTokenDialogComponent, { const dialogRef = this.dialog.open<
GfLoginWithAccessTokenDialogComponent,
LoginWithAccessTokenDialogParams
>(GfLoginWithAccessTokenDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
accessToken: '', accessToken: '',

21
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts

@ -39,7 +39,7 @@ import {
OnDestroy, OnDestroy,
OnInit OnInit
} from '@angular/core'; } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms'; import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
import { MatChipsModule } from '@angular/material/chips'; import { MatChipsModule } from '@angular/material/chips';
import { import {
@ -94,6 +94,7 @@ import { HoldingDetailDialogParams } from './interfaces/interfaces';
MatFormFieldModule, MatFormFieldModule,
MatTabsModule, MatTabsModule,
NgxSkeletonLoaderModule, NgxSkeletonLoaderModule,
ReactiveFormsModule,
RouterModule RouterModule
], ],
schemas: [CUSTOM_ELEMENTS_SCHEMA], schemas: [CUSTOM_ELEMENTS_SCHEMA],
@ -103,7 +104,6 @@ import { HoldingDetailDialogParams } from './interfaces/interfaces';
}) })
export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
public activitiesCount: number; public activitiesCount: number;
public activityForm: FormGroup;
public accounts: Account[]; public accounts: Account[];
public assetClass: string; public assetClass: string;
public assetSubClass: string; public assetSubClass: string;
@ -124,6 +124,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
public hasPermissionToCreateOwnTag: boolean; public hasPermissionToCreateOwnTag: boolean;
public hasPermissionToReadMarketDataOfOwnAssetProfile: boolean; public hasPermissionToReadMarketDataOfOwnAssetProfile: boolean;
public historicalDataItems: LineChartItem[]; public historicalDataItems: LineChartItem[];
public holdingForm: FormGroup;
public investmentInBaseCurrencyWithCurrencyEffect: number; public investmentInBaseCurrencyWithCurrencyEffect: number;
public investmentInBaseCurrencyWithCurrencyEffectPrecision = 2; public investmentInBaseCurrencyWithCurrencyEffectPrecision = 2;
public isUUID = isUUID; public isUUID = isUUID;
@ -180,16 +181,16 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
} }
public ngOnInit() { public ngOnInit() {
this.activityForm = this.formBuilder.group({
tags: [] as string[]
});
const filters: Filter[] = [ const filters: Filter[] = [
{ id: this.data.dataSource, type: 'DATA_SOURCE' }, { id: this.data.dataSource, type: 'DATA_SOURCE' },
{ id: this.data.symbol, type: 'SYMBOL' } { id: this.data.symbol, type: 'SYMBOL' }
]; ];
this.activityForm this.holdingForm = this.formBuilder.group({
tags: [] as string[]
});
this.holdingForm
.get('tags') .get('tags')
.valueChanges.pipe(takeUntil(this.unsubscribeSubject)) .valueChanges.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((tags: Tag[]) => { .subscribe((tags: Tag[]) => {
@ -430,7 +431,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
}; };
}); });
this.activityForm.setValue({ tags: this.tags }, { emitEvent: false }); this.holdingForm.setValue({ tags: this.tags }, { emitEvent: false });
this.value = value; this.value = value;
@ -617,10 +618,6 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
} }
} }
public onTagsChanged(tags: Tag[]) {
this.activityForm.get('tags').setValue(tags);
}
public onUpdateActivity(aActivity: Activity) { public onUpdateActivity(aActivity: Activity) {
this.router.navigate( this.router.navigate(
internalRoutes.portfolio.subRoutes.activities.routerLink, internalRoutes.portfolio.subRoutes.activities.routerLink,

5
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html

@ -411,13 +411,14 @@
} }
</mat-tab-group> </mat-tab-group>
<form [formGroup]="holdingForm">
<gf-tags-selector <gf-tags-selector
formControlName="tags"
[hasPermissionToCreateTag]="hasPermissionToCreateOwnTag" [hasPermissionToCreateTag]="hasPermissionToCreateOwnTag"
[readonly]="!data.hasPermissionToUpdateOrder" [readonly]="!data.hasPermissionToUpdateOrder"
[tags]="activityForm.get('tags')?.value"
[tagsAvailable]="tagsAvailable" [tagsAvailable]="tagsAvailable"
(tagsChanged)="onTagsChanged($event)"
/> />
</form>
@if ( @if (
data.hasPermissionToAccessAdminControl || data.hasPermissionToAccessAdminControl ||

10
apps/client/src/app/components/home-watchlist/home-watchlist.component.ts

@ -149,17 +149,17 @@ export class GfHomeWatchlistComponent implements OnDestroy, OnInit {
.subscribe((user) => { .subscribe((user) => {
this.user = user; this.user = user;
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfCreateWatchlistItemDialogComponent, GfCreateWatchlistItemDialogComponent,
{ CreateWatchlistItemDialogParams
>(GfCreateWatchlistItemDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
deviceType: this.deviceType, deviceType: this.deviceType,
locale: this.user?.settings?.locale locale: this.user?.settings?.locale
} as CreateWatchlistItemDialogParams, },
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()

5
apps/client/src/app/components/login-with-access-token-dialog/interfaces/interfaces.ts

@ -0,0 +1,5 @@
export interface LoginWithAccessTokenDialogParams {
accessToken: string;
hasPermissionToUseSocialLogin: boolean;
title: string;
}

4
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.component.ts

@ -26,6 +26,8 @@ import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons'; import { addIcons } from 'ionicons';
import { eyeOffOutline, eyeOutline } from 'ionicons/icons'; import { eyeOffOutline, eyeOutline } from 'ionicons/icons';
import { LoginWithAccessTokenDialogParams } from './interfaces/interfaces';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
imports: [ imports: [
@ -51,7 +53,7 @@ export class GfLoginWithAccessTokenDialogComponent {
public isAccessTokenHidden = true; public isAccessTokenHidden = true;
public constructor( public constructor(
@Inject(MAT_DIALOG_DATA) public data: any, @Inject(MAT_DIALOG_DATA) public data: LoginWithAccessTokenDialogParams,
public dialogRef: MatDialogRef<GfLoginWithAccessTokenDialogComponent>, public dialogRef: MatDialogRef<GfLoginWithAccessTokenDialogComponent>,
private internetIdentityService: InternetIdentityService, private internetIdentityService: InternetIdentityService,
private router: Router, private router: Router,

7
apps/client/src/app/components/rule/rule.component.ts

@ -79,13 +79,16 @@ export class GfRuleComponent implements OnInit {
} }
public onCustomizeRule(rule: PortfolioReportRule) { public onCustomizeRule(rule: PortfolioReportRule) {
const dialogRef = this.dialog.open(GfRuleSettingsDialogComponent, { const dialogRef = this.dialog.open<
GfRuleSettingsDialogComponent,
RuleSettingsDialogParams
>(GfRuleSettingsDialogComponent, {
data: { data: {
rule, rule,
categoryName: this.categoryName, categoryName: this.categoryName,
locale: this.locale, locale: this.locale,
settings: this.settings settings: this.settings
} as RuleSettingsDialogParams, },
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });

15
apps/client/src/app/components/user-account-access/user-account-access.component.ts

@ -31,6 +31,7 @@ import { EMPTY, Subject } from 'rxjs';
import { catchError, takeUntil } from 'rxjs/operators'; import { catchError, takeUntil } from 'rxjs/operators';
import { GfCreateOrUpdateAccessDialogComponent } from './create-or-update-access-dialog/create-or-update-access-dialog.component'; import { GfCreateOrUpdateAccessDialogComponent } from './create-or-update-access-dialog/create-or-update-access-dialog.component';
import { CreateOrUpdateAccessDialogParams } from './create-or-update-access-dialog/interfaces/interfaces';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
@ -187,10 +188,15 @@ export class GfUserAccountAccessComponent implements OnDestroy, OnInit {
} }
private openCreateAccessDialog() { private openCreateAccessDialog() {
const dialogRef = this.dialog.open(GfCreateOrUpdateAccessDialogComponent, { const dialogRef = this.dialog.open<
GfCreateOrUpdateAccessDialogComponent,
CreateOrUpdateAccessDialogParams
>(GfCreateOrUpdateAccessDialogComponent, {
data: { data: {
access: { access: {
alias: '', alias: '',
grantee: null,
id: null,
permissions: ['READ_RESTRICTED'], permissions: ['READ_RESTRICTED'],
type: 'PRIVATE' type: 'PRIVATE'
} }
@ -219,12 +225,15 @@ export class GfUserAccountAccessComponent implements OnDestroy, OnInit {
return; return;
} }
const dialogRef = this.dialog.open(GfCreateOrUpdateAccessDialogComponent, { const dialogRef = this.dialog.open<
GfCreateOrUpdateAccessDialogComponent,
CreateOrUpdateAccessDialogParams
>(GfCreateOrUpdateAccessDialogComponent, {
data: { data: {
access: { access: {
alias: access.alias, alias: access.alias,
id: access.id,
grantee: access.grantee === 'Public' ? null : access.grantee, grantee: access.grantee === 'Public' ? null : access.grantee,
id: access.id,
permissions: access.permissions, permissions: access.permissions,
type: access.type type: access.type
} }

24
apps/client/src/app/pages/about/overview/about-overview-page.html

@ -175,7 +175,7 @@
</div> </div>
</div> </div>
<div class="row"> <div class="mb-5 row">
<div <div
class="col-md-6 col-xs-12 my-2" class="col-md-6 col-xs-12 my-2"
[ngClass]="{ 'offset-md-3': hasPermissionForSubscription === false }" [ngClass]="{ 'offset-md-3': hasPermissionForSubscription === false }"
@ -201,4 +201,26 @@
</div> </div>
} }
</div> </div>
<div class="row">
<div class="col-12">
<h2 class="h4 mb-3">Sponsors</h2>
<div class="text-center">
<small>Browser testing via</small>
<br />
<a
href="https://www.lambdatest.com?utm_medium=sponsor&utm_source=ghostfolio"
target="_blank"
title="LambdaTest - AI Powered Testing Tool"
>
<img
alt="LambdaTest Logo"
height="45"
src="../assets/images/sponsors/logo-lambdatest.png"
width="250"
/>
</a>
</div>
</div>
</div>
</div> </div>

25
apps/client/src/app/pages/accounts/accounts-page.component.ts

@ -23,6 +23,8 @@ import { EMPTY, Subject, Subscription } from 'rxjs';
import { catchError, takeUntil } from 'rxjs/operators'; import { catchError, takeUntil } from 'rxjs/operators';
import { GfCreateOrUpdateAccountDialogComponent } from './create-or-update-account-dialog/create-or-update-account-dialog.component'; import { GfCreateOrUpdateAccountDialogComponent } from './create-or-update-account-dialog/create-or-update-account-dialog.component';
import { CreateOrUpdateAccountDialogParams } from './create-or-update-account-dialog/interfaces/interfaces';
import { TransferBalanceDialogParams } from './transfer-balance/interfaces/interfaces';
import { GfTransferBalanceDialogComponent } from './transfer-balance/transfer-balance-dialog.component'; import { GfTransferBalanceDialogComponent } from './transfer-balance/transfer-balance-dialog.component';
@Component({ @Component({
@ -179,7 +181,10 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
name, name,
platformId platformId
}: AccountModel) { }: AccountModel) {
const dialogRef = this.dialog.open(GfCreateOrUpdateAccountDialogComponent, { const dialogRef = this.dialog.open<
GfCreateOrUpdateAccountDialogComponent,
CreateOrUpdateAccountDialogParams
>(GfCreateOrUpdateAccountDialogComponent, {
data: { data: {
account: { account: {
balance, balance,
@ -227,7 +232,10 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
} }
private openAccountDetailDialog(aAccountId: string) { private openAccountDetailDialog(aAccountId: string) {
const dialogRef = this.dialog.open(GfAccountDetailDialogComponent, { const dialogRef = this.dialog.open<
GfAccountDetailDialogComponent,
AccountDetailDialogParams
>(GfAccountDetailDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
accountId: aAccountId, accountId: aAccountId,
@ -237,7 +245,7 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
!this.hasImpersonationId && !this.hasImpersonationId &&
hasPermission(this.user?.permissions, permissions.createOrder) && hasPermission(this.user?.permissions, permissions.createOrder) &&
!this.user?.settings?.isRestrictedView !this.user?.settings?.isRestrictedView
} as AccountDetailDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });
@ -253,12 +261,16 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
} }
private openCreateAccountDialog() { private openCreateAccountDialog() {
const dialogRef = this.dialog.open(GfCreateOrUpdateAccountDialogComponent, { const dialogRef = this.dialog.open<
GfCreateOrUpdateAccountDialogComponent,
CreateOrUpdateAccountDialogParams
>(GfCreateOrUpdateAccountDialogComponent, {
data: { data: {
account: { account: {
balance: 0, balance: 0,
comment: null, comment: null,
currency: this.user?.settings?.baseCurrency, currency: this.user?.settings?.baseCurrency,
id: null,
isExcluded: false, isExcluded: false,
name: null, name: null,
platformId: null platformId: null
@ -295,7 +307,10 @@ export class GfAccountsPageComponent implements OnDestroy, OnInit {
} }
private openTransferBalanceDialog() { private openTransferBalanceDialog() {
const dialogRef = this.dialog.open(GfTransferBalanceDialogComponent, { const dialogRef = this.dialog.open<
GfTransferBalanceDialogComponent,
TransferBalanceDialogParams
>(GfTransferBalanceDialogComponent, {
data: { data: {
accounts: this.accounts accounts: this.accounts
}, },

2
apps/client/src/app/pages/accounts/create-or-update-account-dialog/interfaces/interfaces.ts

@ -1,5 +1,5 @@
import { Account } from '@prisma/client'; import { Account } from '@prisma/client';
export interface CreateOrUpdateAccountDialogParams { export interface CreateOrUpdateAccountDialogParams {
account: Account; account: Omit<Account, 'createdAt' | 'updatedAt' | 'userId'>;
} }

10
apps/client/src/app/pages/home/home-page.component.ts

@ -16,11 +16,11 @@ import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone'; import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons'; import { addIcons } from 'ionicons';
import { import {
albumsOutline,
analyticsOutline, analyticsOutline,
bookmarkOutline, bookmarkOutline,
newspaperOutline, newspaperOutline,
readerOutline, readerOutline
walletOutline
} from 'ionicons/icons'; } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector'; import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
@ -61,7 +61,7 @@ export class GfHomePageComponent implements OnDestroy, OnInit {
routerLink: internalRoutes.home.routerLink routerLink: internalRoutes.home.routerLink
}, },
{ {
iconName: 'wallet-outline', iconName: 'albums-outline',
label: internalRoutes.home.subRoutes.holdings.title, label: internalRoutes.home.subRoutes.holdings.title,
routerLink: internalRoutes.home.subRoutes.holdings.routerLink routerLink: internalRoutes.home.subRoutes.holdings.routerLink
}, },
@ -97,11 +97,11 @@ export class GfHomePageComponent implements OnDestroy, OnInit {
}); });
addIcons({ addIcons({
albumsOutline,
analyticsOutline, analyticsOutline,
bookmarkOutline, bookmarkOutline,
newspaperOutline, newspaperOutline,
readerOutline, readerOutline
walletOutline
}); });
} }

31
apps/client/src/app/pages/portfolio/activities/activities-page.component.ts

@ -28,6 +28,7 @@ import { Subject, Subscription } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
import { GfCreateOrUpdateActivityDialogComponent } from './create-or-update-activity-dialog/create-or-update-activity-dialog.component'; import { GfCreateOrUpdateActivityDialogComponent } from './create-or-update-activity-dialog/create-or-update-activity-dialog.component';
import { CreateOrUpdateActivityDialogParams } from './create-or-update-activity-dialog/interfaces/interfaces';
import { GfImportActivitiesDialogComponent } from './import-activities-dialog/import-activities-dialog.component'; import { GfImportActivitiesDialogComponent } from './import-activities-dialog/import-activities-dialog.component';
import { ImportActivitiesDialogParams } from './import-activities-dialog/interfaces/interfaces'; import { ImportActivitiesDialogParams } from './import-activities-dialog/interfaces/interfaces';
@ -245,11 +246,14 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
} }
public onImport() { public onImport() {
const dialogRef = this.dialog.open(GfImportActivitiesDialogComponent, { const dialogRef = this.dialog.open<
GfImportActivitiesDialogComponent,
ImportActivitiesDialogParams
>(GfImportActivitiesDialogComponent, {
data: { data: {
deviceType: this.deviceType, deviceType: this.deviceType,
user: this.user user: this.user
} as ImportActivitiesDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : undefined, height: this.deviceType === 'mobile' ? '98vh' : undefined,
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });
@ -268,12 +272,15 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
} }
public onImportDividends() { public onImportDividends() {
const dialogRef = this.dialog.open(GfImportActivitiesDialogComponent, { const dialogRef = this.dialog.open<
GfImportActivitiesDialogComponent,
ImportActivitiesDialogParams
>(GfImportActivitiesDialogComponent, {
data: { data: {
activityTypes: ['DIVIDEND'], activityTypes: ['DIVIDEND'],
deviceType: this.deviceType, deviceType: this.deviceType,
user: this.user user: this.user
} as ImportActivitiesDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : undefined, height: this.deviceType === 'mobile' ? '98vh' : undefined,
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });
@ -306,9 +313,10 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
} }
public openUpdateActivityDialog(aActivity: Activity) { public openUpdateActivityDialog(aActivity: Activity) {
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfCreateOrUpdateActivityDialogComponent, GfCreateOrUpdateActivityDialogComponent,
{ CreateOrUpdateActivityDialogParams
>(GfCreateOrUpdateActivityDialogComponent, {
data: { data: {
activity: aActivity, activity: aActivity,
accounts: this.user?.accounts, accounts: this.user?.accounts,
@ -316,8 +324,7 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
}, },
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()
@ -350,9 +357,10 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
.subscribe((user) => { .subscribe((user) => {
this.updateUser(user); this.updateUser(user);
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfCreateOrUpdateActivityDialogComponent, GfCreateOrUpdateActivityDialogComponent,
{ CreateOrUpdateActivityDialogParams
>(GfCreateOrUpdateActivityDialogComponent, {
data: { data: {
accounts: this.user?.accounts, accounts: this.user?.accounts,
activity: { activity: {
@ -368,8 +376,7 @@ export class GfActivitiesPageComponent implements OnDestroy, OnInit {
}, },
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()

1
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts

@ -4,7 +4,6 @@ import { User } from '@ghostfolio/common/interfaces';
import { Account } from '@prisma/client'; import { Account } from '@prisma/client';
export interface CreateOrUpdateActivityDialogParams { export interface CreateOrUpdateActivityDialogParams {
accountId: string;
accounts: Account[]; accounts: Account[];
activity: Activity; activity: Activity;
user: User; user: User;

2
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/interfaces/interfaces.ts

@ -3,7 +3,7 @@ import { User } from '@ghostfolio/common/interfaces';
import { Type } from '@prisma/client'; import { Type } from '@prisma/client';
export interface ImportActivitiesDialogParams { export interface ImportActivitiesDialogParams {
activityTypes: Type[]; activityTypes?: Type[];
deviceType: string; deviceType: string;
user: User; user: User;
} }

7
apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts

@ -558,7 +558,10 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
} }
private openAccountDetailDialog(aAccountId: string) { private openAccountDetailDialog(aAccountId: string) {
const dialogRef = this.dialog.open(GfAccountDetailDialogComponent, { const dialogRef = this.dialog.open<
GfAccountDetailDialogComponent,
AccountDetailDialogParams
>(GfAccountDetailDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
accountId: aAccountId, accountId: aAccountId,
@ -568,7 +571,7 @@ export class GfAllocationsPageComponent implements OnDestroy, OnInit {
!this.hasImpersonationId && !this.hasImpersonationId &&
hasPermission(this.user?.permissions, permissions.createOrder) && hasPermission(this.user?.permissions, permissions.createOrder) &&
!this.user?.settings?.isRestrictedView !this.user?.settings?.isRestrictedView
} as AccountDetailDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });

10
apps/client/src/app/pages/register/register-page.component.ts

@ -84,18 +84,18 @@ export class GfRegisterPageComponent implements OnDestroy, OnInit {
} }
public openShowAccessTokenDialog() { public openShowAccessTokenDialog() {
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfUserAccountRegistrationDialogComponent, GfUserAccountRegistrationDialogComponent,
{ UserAccountRegistrationDialogParams
>(GfUserAccountRegistrationDialogComponent, {
data: { data: {
deviceType: this.deviceType, deviceType: this.deviceType,
needsToAcceptTermsOfService: this.hasPermissionForSubscription needsToAcceptTermsOfService: this.hasPermissionForSubscription
} as UserAccountRegistrationDialogParams, },
disableClose: true, disableClose: true,
height: this.deviceType === 'mobile' ? '98vh' : undefined, height: this.deviceType === 'mobile' ? '98vh' : undefined,
width: this.deviceType === 'mobile' ? '100vw' : '30rem' width: this.deviceType === 'mobile' ? '100vw' : '30rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()

18
apps/client/src/app/pages/resources/glossary/resources-glossary.component.html

@ -5,7 +5,7 @@
<div> <div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Buy and Hold</h3> <h2 class="h5 mb-1 mt-0">Buy and Hold</h2>
<div class="mb-1"> <div class="mb-1">
Buy and hold is a passive investment strategy where you buy assets Buy and hold is a passive investment strategy where you buy assets
and hold them for a long period regardless of fluctuations in the and hold them for a long period regardless of fluctuations in the
@ -22,7 +22,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Deflation</h3> <h2 class="h5 mb-1 mt-0">Deflation</h2>
<div class="mb-1"> <div class="mb-1">
Deflation is a decrease of the general price level for goods and Deflation is a decrease of the general price level for goods and
services in an economy over a period of time. services in an economy over a period of time.
@ -38,7 +38,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Dollar-Cost Averaging (DCA)</h3> <h2 class="h5 mb-1 mt-0">Dollar-Cost Averaging (DCA)</h2>
<div class="mb-1"> <div class="mb-1">
Dollar-cost averaging is an investment strategy where you split Dollar-cost averaging is an investment strategy where you split
the total amount to be invested across periodic purchases of a the total amount to be invested across periodic purchases of a
@ -56,7 +56,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Financial Independence</h3> <h2 class="h5 mb-1 mt-0">Financial Independence</h2>
<div class="mb-1"> <div class="mb-1">
Financial independence is the status of having enough income, for Financial independence is the status of having enough income, for
example with a passive income like dividends, to cover your living example with a passive income like dividends, to cover your living
@ -73,7 +73,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">FIRE</h3> <h2 class="h5 mb-1 mt-0">FIRE</h2>
<div class="mb-1"> <div class="mb-1">
FIRE is a movement that promotes saving and investing to achieve FIRE is a movement that promotes saving and investing to achieve
financial independence and early retirement. financial independence and early retirement.
@ -85,7 +85,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Inflation</h3> <h2 class="h5 mb-1 mt-0">Inflation</h2>
<div class="mb-1"> <div class="mb-1">
Inflation is an increase of the general price level for goods and Inflation is an increase of the general price level for goods and
services in an economy over a period of time. services in an economy over a period of time.
@ -102,7 +102,7 @@
@if (hasPermissionForSubscription) { @if (hasPermissionForSubscription) {
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Personal Finance Tools</h3> <h2 class="h5 mb-1 mt-0">Personal Finance Tools</h2>
<div class="mb-1"> <div class="mb-1">
Personal finance tools are software applications that help Personal finance tools are software applications that help
manage your money, track expenses, set budgets, monitor manage your money, track expenses, set budgets, monitor
@ -118,7 +118,7 @@
} }
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Stagflation</h3> <h2 class="h5 mb-1 mt-0">Stagflation</h2>
<div class="mb-1"> <div class="mb-1">
Stagflation describes a situation in which there is a stagnant Stagflation describes a situation in which there is a stagnant
economy with high unemployment and high inflation. economy with high unemployment and high inflation.
@ -134,7 +134,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Stealth Wealth</h3> <h2 class="h5 mb-1 mt-0">Stealth Wealth</h2>
<div class="mb-1"> <div class="mb-1">
Stealth wealth is a lifestyle choice where you don’t openly show Stealth wealth is a lifestyle choice where you don’t openly show
off your wealth, but instead live quietly to maintain privacy and off your wealth, but instead live quietly to maintain privacy and

4
apps/client/src/app/pages/resources/guides/resources-guides.component.html

@ -5,7 +5,7 @@
<div class="mb-5"> <div class="mb-5">
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Boringly Getting Rich</h3> <h2 class="h5 mb-1 mt-0">Boringly Getting Rich</h2>
<div class="mb-1"> <div class="mb-1">
The <i>Boringly Getting Rich</i> guide supports you to get started The <i>Boringly Getting Rich</i> guide supports you to get started
with investing. It introduces a strategy utilizing a broadly with investing. It introduces a strategy utilizing a broadly
@ -21,7 +21,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">How do I get my finances in order?</h3> <h2 class="h5 mb-1 mt-0">How do I get my finances in order?</h2>
<div class="mb-1"> <div class="mb-1">
Before you can think of long-term investing, you have to get your Before you can think of long-term investing, you have to get your
finances in order. Learn how you can reach your financial goals finances in order. Learn how you can reach your financial goals

8
apps/client/src/app/pages/resources/markets/resources-markets.component.html

@ -3,7 +3,7 @@
<div class="mb-5"> <div class="mb-5">
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Crypto Coins Heatmap</h3> <h2 class="h5 mb-1 mt-0">Crypto Coins Heatmap</h2>
<div class="mb-1"> <div class="mb-1">
With the <i>Crypto Coins Heatmap</i> you can track the daily market With the <i>Crypto Coins Heatmap</i> you can track the daily market
movements of cryptocurrencies as a visual snapshot. movements of cryptocurrencies as a visual snapshot.
@ -17,7 +17,7 @@
</div> </div>
<div class="mb-4 media"> <div class="mb-4 media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Fear & Greed Index</h3> <h2 class="h5 mb-1 mt-0">Fear & Greed Index</h2>
<div class="mb-1"> <div class="mb-1">
The fear and greed index was developed by <i>CNNMoney</i> to measure The fear and greed index was developed by <i>CNNMoney</i> to measure
the primary emotions (fear and greed) that influence how much the primary emotions (fear and greed) that influence how much
@ -32,7 +32,7 @@
</div> </div>
<div class="media"> <div class="media">
<div class="mb-4 media"> <div class="mb-4 media">
<h3 class="h5 mt-0">Inflation Chart</h3> <h2 class="h5 mb-1 mt-0">Inflation Chart</h2>
<div class="mb-1"> <div class="mb-1">
<i>Inflation Chart</i> helps you find the intrinsic value of stock <i>Inflation Chart</i> helps you find the intrinsic value of stock
markets, stock prices, goods and services by adjusting them to the markets, stock prices, goods and services by adjusting them to the
@ -48,7 +48,7 @@
</div> </div>
<div class="media"> <div class="media">
<div class="media-body"> <div class="media-body">
<h3 class="h5 mt-0">Stock Heatmap</h3> <h2 class="h5 mb-1 mt-0">Stock Heatmap</h2>
<div class="mb-1"> <div class="mb-1">
With the <i>Stock Heatmap</i> you can track the daily market movements With the <i>Stock Heatmap</i> you can track the daily market movements
of stocks as a visual snapshot. of stocks as a visual snapshot.

2
apps/client/src/app/pages/resources/overview/resources-overview.component.html

@ -5,7 +5,7 @@
<div class="overview-list"> <div class="overview-list">
@for (item of overviewItems; track item) { @for (item of overviewItems; track item) {
<div class="mb-4"> <div class="mb-4">
<h3 class="h5 mt-0">{{ item.title }}</h3> <h2 class="h5 mb-1 mt-0">{{ item.title }}</h2>
<p class="mb-1">{{ item.description }}</p> <p class="mb-1">{{ item.description }}</p>
<a [routerLink]="item.routerLink">Explore {{ item.title }} →</a> <a [routerLink]="item.routerLink">Explore {{ item.title }} →</a>
</div> </div>

6
apps/client/src/app/pages/zen/zen-page.component.ts

@ -8,7 +8,7 @@ import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone'; import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons'; import { addIcons } from 'ionicons';
import { analyticsOutline, walletOutline } from 'ionicons/icons'; import { albumsOutline, analyticsOutline } from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector'; import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@ -43,7 +43,7 @@ export class GfZenPageComponent implements OnDestroy, OnInit {
routerLink: internalRoutes.zen.routerLink routerLink: internalRoutes.zen.routerLink
}, },
{ {
iconName: 'wallet-outline', iconName: 'albums-outline',
label: internalRoutes.zen.subRoutes.holdings.title, label: internalRoutes.zen.subRoutes.holdings.title,
routerLink: internalRoutes.zen.subRoutes.holdings.routerLink routerLink: internalRoutes.zen.subRoutes.holdings.routerLink
} }
@ -54,7 +54,7 @@ export class GfZenPageComponent implements OnDestroy, OnInit {
} }
}); });
addIcons({ analyticsOutline, walletOutline }); addIcons({ albumsOutline, analyticsOutline });
} }
public ngOnInit() { public ngOnInit() {

10
apps/client/src/app/services/user/user.service.ts

@ -116,18 +116,18 @@ export class UserService extends ObservableStore<UserStoreState> {
permissions.enableSubscriptionInterstitial permissions.enableSubscriptionInterstitial
) )
) { ) {
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfSubscriptionInterstitialDialogComponent, GfSubscriptionInterstitialDialogComponent,
{ SubscriptionInterstitialDialogParams
>(GfSubscriptionInterstitialDialogComponent, {
autoFocus: false, autoFocus: false,
data: { data: {
user user
} as SubscriptionInterstitialDialogParams, },
disableClose: true, disableClose: true,
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()

BIN
apps/client/src/assets/images/sponsors/logo-lambdatest.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

38
apps/client/src/locales/messages.ca.xlf

@ -38,7 +38,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -603,7 +603,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -639,7 +639,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -1387,7 +1387,7 @@
<target state="translated">Està segur que vol eliminar aquesta plataforma?</target> <target state="translated">Està segur que vol eliminar aquesta plataforma?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="774722884061553775" datatype="html"> <trans-unit id="774722884061553775" datatype="html">
@ -1451,7 +1451,7 @@
<target state="translated">Està segur que vol eliminar aquesta etiqueta?</target> <target state="translated">Està segur que vol eliminar aquesta etiqueta?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -1659,11 +1659,11 @@
<target state="translated">Oooh! El testimoni de seguretat és incorrecte.</target> <target state="translated">Oooh! El testimoni de seguretat és incorrecte.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2895,7 +2895,7 @@
<target state="translated">Vaja, la transferència del saldo en efectiu ha fallat.</target> <target state="translated">Vaja, la transferència del saldo en efectiu ha fallat.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4154970040744792968" datatype="html"> <trans-unit id="4154970040744792968" datatype="html">
@ -5325,7 +5325,7 @@
<target state="translated">Clonar</target> <target state="translated">Clonar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -5333,7 +5333,7 @@
<target state="translated">Exporta l’esborrany com a ICS</target> <target state="translated">Exporta l’esborrany com a ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4239552960465242484" datatype="html"> <trans-unit id="4239552960465242484" datatype="html">
@ -5341,7 +5341,7 @@
<target state="translated">De veritat vols suprimir aquestes activitats?</target> <target state="translated">De veritat vols suprimir aquestes activitats?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -5349,7 +5349,7 @@
<target state="translated">Realment vols suprimir aquesta activitat?</target> <target state="translated">Realment vols suprimir aquesta activitat?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -6428,6 +6428,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="new">Canada</target> <target state="new">Canada</target>
@ -7247,7 +7255,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7511,7 +7519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="new">Do you really want to generate a new security token?</target> <target state="new">Do you really want to generate a new security token?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.de.xlf

@ -242,7 +242,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -278,7 +278,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -718,7 +718,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -738,11 +738,11 @@
<target state="translated">Ups! Falsches Sicherheits-Token.</target> <target state="translated">Ups! Falsches Sicherheits-Token.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2242,7 +2242,7 @@
<target state="translated">Kopieren</target> <target state="translated">Kopieren</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -2250,7 +2250,7 @@
<target state="translated">Geplante Aktivität als ICS exportieren</target> <target state="translated">Geplante Aktivität als ICS exportieren</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -2258,7 +2258,7 @@
<target state="translated">Möchtest du diese Aktivität wirklich löschen?</target> <target state="translated">Möchtest du diese Aktivität wirklich löschen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5425547984857378790" datatype="html"> <trans-unit id="5425547984857378790" datatype="html">
@ -3750,7 +3750,7 @@
<target state="translated">Möchtest du diese Aktivitäten wirklich löschen?</target> <target state="translated">Möchtest du diese Aktivitäten wirklich löschen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7462039419171681274" datatype="html"> <trans-unit id="7462039419171681274" datatype="html">
@ -3810,7 +3810,7 @@
<target state="translated">Möchtest du diese Plattform wirklich löschen?</target> <target state="translated">Möchtest du diese Plattform wirklich löschen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7966917302907632321" datatype="html"> <trans-unit id="7966917302907632321" datatype="html">
@ -5376,7 +5376,7 @@
<target state="translated">Möchtest du diesen Tag wirklich löschen?</target> <target state="translated">Möchtest du diesen Tag wirklich löschen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -5568,7 +5568,7 @@
<target state="translated">Ups, der Cash-Bestand Transfer ist fehlgeschlagen.</target> <target state="translated">Ups, der Cash-Bestand Transfer ist fehlgeschlagen.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1189482335778578193" datatype="html"> <trans-unit id="1189482335778578193" datatype="html">
@ -6452,6 +6452,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="translated">Position ansehen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Kanada</target> <target state="translated">Kanada</target>
@ -7271,7 +7279,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7535,7 +7543,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="translated">Möchtest du wirklich ein neues Sicherheits-Token generieren?</target> <target state="translated">Möchtest du wirklich ein neues Sicherheits-Token generieren?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.es.xlf

@ -243,7 +243,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -279,7 +279,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -703,7 +703,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -723,11 +723,11 @@
<target state="translated">Vaya! Token de seguridad incorrecto.</target> <target state="translated">Vaya! Token de seguridad incorrecto.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2227,7 +2227,7 @@
<target state="translated">Clonar</target> <target state="translated">Clonar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -2235,7 +2235,7 @@
<target state="translated">Exportar borrador como ICS</target> <target state="translated">Exportar borrador como ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -2243,7 +2243,7 @@
<target state="translated">¿Estás seguro de eliminar esta operación?</target> <target state="translated">¿Estás seguro de eliminar esta operación?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5425547984857378790" datatype="html"> <trans-unit id="5425547984857378790" datatype="html">
@ -3727,7 +3727,7 @@
<target state="translated">¿Realmente deseas eliminar estas actividades?</target> <target state="translated">¿Realmente deseas eliminar estas actividades?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7462039419171681274" datatype="html"> <trans-unit id="7462039419171681274" datatype="html">
@ -3787,7 +3787,7 @@
<target state="translated">¿Realmente deseas eliminar esta plataforma?</target> <target state="translated">¿Realmente deseas eliminar esta plataforma?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7966917302907632321" datatype="html"> <trans-unit id="7966917302907632321" datatype="html">
@ -5353,7 +5353,7 @@
<target state="translated">¿Realmente deseas eliminar esta etiqueta?</target> <target state="translated">¿Realmente deseas eliminar esta etiqueta?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -5545,7 +5545,7 @@
<target state="translated">Oops, el saldo de efectivo no se ha transferido.</target> <target state="translated">Oops, el saldo de efectivo no se ha transferido.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1189482335778578193" datatype="html"> <trans-unit id="1189482335778578193" datatype="html">
@ -6429,6 +6429,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Canadá</target> <target state="translated">Canadá</target>
@ -7248,7 +7256,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7512,7 +7520,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8129,7 +8137,7 @@
<target state="translated">¿Realmente deseas generar un nuevo token de seguridad?</target> <target state="translated">¿Realmente deseas generar un nuevo token de seguridad?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.fr.xlf

@ -298,7 +298,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -334,7 +334,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -950,7 +950,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -970,11 +970,11 @@
<target state="translated">Oups! Jeton de Sécurité Incorrect.</target> <target state="translated">Oups! Jeton de Sécurité Incorrect.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2702,7 +2702,7 @@
<target state="translated">Dupliquer</target> <target state="translated">Dupliquer</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -2710,7 +2710,7 @@
<target state="translated">Exporter Brouillon sous ICS</target> <target state="translated">Exporter Brouillon sous ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -2718,7 +2718,7 @@
<target state="translated">Voulez-vous vraiment supprimer cette activité ?</target> <target state="translated">Voulez-vous vraiment supprimer cette activité ?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5425547984857378790" datatype="html"> <trans-unit id="5425547984857378790" datatype="html">
@ -3726,7 +3726,7 @@
<target state="translated">Voulez-vous vraiment supprimer toutes vos activités ?</target> <target state="translated">Voulez-vous vraiment supprimer toutes vos activités ?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7462039419171681274" datatype="html"> <trans-unit id="7462039419171681274" datatype="html">
@ -3786,7 +3786,7 @@
<target state="translated">Voulez-vous vraiment supprimer cette plateforme ?</target> <target state="translated">Voulez-vous vraiment supprimer cette plateforme ?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7966917302907632321" datatype="html"> <trans-unit id="7966917302907632321" datatype="html">
@ -5352,7 +5352,7 @@
<target state="translated">Confirmez la suppression de ce tag ?</target> <target state="translated">Confirmez la suppression de ce tag ?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -5544,7 +5544,7 @@
<target state="translated">Oops, échec du transfert de la cash balance.</target> <target state="translated">Oops, échec du transfert de la cash balance.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1189482335778578193" datatype="html"> <trans-unit id="1189482335778578193" datatype="html">
@ -6428,6 +6428,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Canada</target> <target state="translated">Canada</target>
@ -7247,7 +7255,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7511,7 +7519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="translated">Voulez-vous vraiment générer un nouveau jeton de sécurité?</target> <target state="translated">Voulez-vous vraiment générer un nouveau jeton de sécurité?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.it.xlf

@ -243,7 +243,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -279,7 +279,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -703,7 +703,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -723,11 +723,11 @@
<target state="translated">Ops! Token di sicurezza errato.</target> <target state="translated">Ops! Token di sicurezza errato.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2227,7 +2227,7 @@
<target state="translated">Clona</target> <target state="translated">Clona</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -2235,7 +2235,7 @@
<target state="translated">Esporta la bozza come ICS</target> <target state="translated">Esporta la bozza come ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -2243,7 +2243,7 @@
<target state="translated">Vuoi davvero eliminare questa attività?</target> <target state="translated">Vuoi davvero eliminare questa attività?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5425547984857378790" datatype="html"> <trans-unit id="5425547984857378790" datatype="html">
@ -3727,7 +3727,7 @@
<target state="translated">Vuoi davvero eliminare tutte le tue attività?</target> <target state="translated">Vuoi davvero eliminare tutte le tue attività?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7462039419171681274" datatype="html"> <trans-unit id="7462039419171681274" datatype="html">
@ -3787,7 +3787,7 @@
<target state="translated">Vuoi davvero eliminare questa piattaforma?</target> <target state="translated">Vuoi davvero eliminare questa piattaforma?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7966917302907632321" datatype="html"> <trans-unit id="7966917302907632321" datatype="html">
@ -5353,7 +5353,7 @@
<target state="translated">Sei sicuro di voler eliminare questo tag?</target> <target state="translated">Sei sicuro di voler eliminare questo tag?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -5545,7 +5545,7 @@
<target state="translated">Ops, il trasferimento del saldo di cassa è fallito.</target> <target state="translated">Ops, il trasferimento del saldo di cassa è fallito.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1189482335778578193" datatype="html"> <trans-unit id="1189482335778578193" datatype="html">
@ -6429,6 +6429,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Canada</target> <target state="translated">Canada</target>
@ -7248,7 +7256,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7512,7 +7520,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8129,7 +8137,7 @@
<target state="translated">Vuoi davvero generare un nuovo token di sicurezza?</target> <target state="translated">Vuoi davvero generare un nuovo token di sicurezza?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.nl.xlf

@ -242,7 +242,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -278,7 +278,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -702,7 +702,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -722,11 +722,11 @@
<target state="translated">Oeps! Onjuiste beveiligingstoken.</target> <target state="translated">Oeps! Onjuiste beveiligingstoken.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2226,7 +2226,7 @@
<target state="translated">Kloon</target> <target state="translated">Kloon</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -2234,7 +2234,7 @@
<target state="translated">Concept exporteren als ICS</target> <target state="translated">Concept exporteren als ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -2242,7 +2242,7 @@
<target state="translated">Wil je deze activiteit echt verwijderen?</target> <target state="translated">Wil je deze activiteit echt verwijderen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5425547984857378790" datatype="html"> <trans-unit id="5425547984857378790" datatype="html">
@ -3726,7 +3726,7 @@
<target state="translated">Weet je zeker dat je alle activiteiten wilt verwijderen?</target> <target state="translated">Weet je zeker dat je alle activiteiten wilt verwijderen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7462039419171681274" datatype="html"> <trans-unit id="7462039419171681274" datatype="html">
@ -3786,7 +3786,7 @@
<target state="translated">Wil je dit platform echt verwijderen?</target> <target state="translated">Wil je dit platform echt verwijderen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7966917302907632321" datatype="html"> <trans-unit id="7966917302907632321" datatype="html">
@ -5352,7 +5352,7 @@
<target state="translated">Weet u zetker dat u dit label wilt verwijderen?</target> <target state="translated">Weet u zetker dat u dit label wilt verwijderen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -5544,7 +5544,7 @@
<target state="translated">Oeps, geldoverdracht is mislukt.</target> <target state="translated">Oeps, geldoverdracht is mislukt.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1189482335778578193" datatype="html"> <trans-unit id="1189482335778578193" datatype="html">
@ -6428,6 +6428,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Canada</target> <target state="translated">Canada</target>
@ -7247,7 +7255,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7511,7 +7519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="translated">Wilt u echt een nieuwe securitytoken genereren?</target> <target state="translated">Wilt u echt een nieuwe securitytoken genereren?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.pl.xlf

@ -519,7 +519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -555,7 +555,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -1207,7 +1207,7 @@
<target state="translated">Czy naprawdę chcesz usunąć tę platformę?</target> <target state="translated">Czy naprawdę chcesz usunąć tę platformę?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="774722884061553775" datatype="html"> <trans-unit id="774722884061553775" datatype="html">
@ -1271,7 +1271,7 @@
<target state="translated">Czy naprawdę chcesz usunąć ten tag?</target> <target state="translated">Czy naprawdę chcesz usunąć ten tag?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -1439,7 +1439,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1459,11 +1459,11 @@
<target state="translated">Ups! Nieprawidłowy token bezpieczeństwa.</target> <target state="translated">Ups! Nieprawidłowy token bezpieczeństwa.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2563,7 +2563,7 @@
<target state="translated">Ups, transfer salda nie powiódł się.</target> <target state="translated">Ups, transfer salda nie powiódł się.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4154970040744792968" datatype="html"> <trans-unit id="4154970040744792968" datatype="html">
@ -3567,7 +3567,7 @@
<target state="translated">Czy na pewno chcesz usunąć te aktywności?</target> <target state="translated">Czy na pewno chcesz usunąć te aktywności?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1111435290645444471" datatype="html"> <trans-unit id="1111435290645444471" datatype="html">
@ -4844,7 +4844,7 @@
<target state="translated">Sklonuj</target> <target state="translated">Sklonuj</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -4852,7 +4852,7 @@
<target state="translated">Eksportuj Wersję Roboczą jako ICS</target> <target state="translated">Eksportuj Wersję Roboczą jako ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -4860,7 +4860,7 @@
<target state="translated">Czy na pewno chcesz usunąć tę działalność?</target> <target state="translated">Czy na pewno chcesz usunąć tę działalność?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3060494754215793943" datatype="html"> <trans-unit id="3060494754215793943" datatype="html">
@ -6428,6 +6428,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Kanada</target> <target state="translated">Kanada</target>
@ -7247,7 +7255,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7511,7 +7519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="translated">Czy na pewno chcesz wygenerować nowy token bezpieczeństwa?</target> <target state="translated">Czy na pewno chcesz wygenerować nowy token bezpieczeństwa?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.pt.xlf

@ -298,7 +298,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -334,7 +334,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -822,7 +822,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -842,11 +842,11 @@
<target state="translated">Oops! Token de Segurança Incorreto.</target> <target state="translated">Oops! Token de Segurança Incorreto.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2602,7 +2602,7 @@
<target state="translated">Clonar</target> <target state="translated">Clonar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -2610,7 +2610,7 @@
<target state="translated">Exportar Rascunho como ICS</target> <target state="translated">Exportar Rascunho como ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -2618,7 +2618,7 @@
<target state="translated">Deseja realmente eliminar esta atividade?</target> <target state="translated">Deseja realmente eliminar esta atividade?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5425547984857378790" datatype="html"> <trans-unit id="5425547984857378790" datatype="html">
@ -3726,7 +3726,7 @@
<target state="translated">Deseja mesmo eliminar estas atividades?</target> <target state="translated">Deseja mesmo eliminar estas atividades?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7462039419171681274" datatype="html"> <trans-unit id="7462039419171681274" datatype="html">
@ -3786,7 +3786,7 @@
<target state="translated">Deseja mesmo eliminar esta plataforma?</target> <target state="translated">Deseja mesmo eliminar esta plataforma?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7966917302907632321" datatype="html"> <trans-unit id="7966917302907632321" datatype="html">
@ -5352,7 +5352,7 @@
<target state="translated">Você realmente deseja excluir esta tag?</target> <target state="translated">Você realmente deseja excluir esta tag?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -5544,7 +5544,7 @@
<target state="translated">Ops, a transferência do saldo em dinheiro falhou.</target> <target state="translated">Ops, a transferência do saldo em dinheiro falhou.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1189482335778578193" datatype="html"> <trans-unit id="1189482335778578193" datatype="html">
@ -6428,6 +6428,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Canadá</target> <target state="translated">Canadá</target>
@ -7247,7 +7255,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7511,7 +7519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="new">Do you really want to generate a new security token?</target> <target state="new">Do you really want to generate a new security token?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.tr.xlf

@ -479,7 +479,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -515,7 +515,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -1119,7 +1119,7 @@
<target state="translated">Bu platformu silmeyi gerçekten istiyor musunuz?</target> <target state="translated">Bu platformu silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="774722884061553775" datatype="html"> <trans-unit id="774722884061553775" datatype="html">
@ -1295,7 +1295,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1315,11 +1315,11 @@
<target state="translated">Hay Allah! Güvenlik anahtarı yanlış.</target> <target state="translated">Hay Allah! Güvenlik anahtarı yanlış.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -3071,7 +3071,7 @@
<target state="translated">Tüm işlemlerinizi silmeyi gerçekten istiyor musunuz?</target> <target state="translated">Tüm işlemlerinizi silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1111435290645444471" datatype="html"> <trans-unit id="1111435290645444471" datatype="html">
@ -4564,7 +4564,7 @@
<target state="translated">Klonla</target> <target state="translated">Klonla</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -4572,7 +4572,7 @@
<target state="translated">Taslakları ICS Olarak Dışa Aktar</target> <target state="translated">Taslakları ICS Olarak Dışa Aktar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -4580,7 +4580,7 @@
<target state="translated">TBu işlemi silmeyi gerçekten istiyor musunuz?</target> <target state="translated">TBu işlemi silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5425547984857378790" datatype="html"> <trans-unit id="5425547984857378790" datatype="html">
@ -5352,7 +5352,7 @@
<target state="translated">Bu etiketi silmeyi gerçekten istiyor musunuz?</target> <target state="translated">Bu etiketi silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -5544,7 +5544,7 @@
<target state="translated">Hay Allah, Nakit bakiyesi tranferi başarısız oldu.</target> <target state="translated">Hay Allah, Nakit bakiyesi tranferi başarısız oldu.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1189482335778578193" datatype="html"> <trans-unit id="1189482335778578193" datatype="html">
@ -6428,6 +6428,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Kanada</target> <target state="translated">Kanada</target>
@ -7247,7 +7255,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7511,7 +7519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="new">Do you really want to generate a new security token?</target> <target state="new">Do you really want to generate a new security token?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

38
apps/client/src/locales/messages.uk.xlf

@ -38,7 +38,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -631,7 +631,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -667,7 +667,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -1387,7 +1387,7 @@
<target state="translated">Ви дійсно хочете видалити цю платформу?</target> <target state="translated">Ви дійсно хочете видалити цю платформу?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="774722884061553775" datatype="html"> <trans-unit id="774722884061553775" datatype="html">
@ -1571,7 +1571,7 @@
<target state="translated">Ви дійсно хочете видалити цей тег?</target> <target state="translated">Ви дійсно хочете видалити цей тег?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -1775,11 +1775,11 @@
<target state="translated">Упс! Неправильний Секретний Токен.</target> <target state="translated">Упс! Неправильний Секретний Токен.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2647,7 +2647,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -3183,7 +3183,7 @@
<target state="translated">Упс, перенесення балансу готівки не вдалося.</target> <target state="translated">Упс, перенесення балансу готівки не вдалося.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4154970040744792968" datatype="html"> <trans-unit id="4154970040744792968" datatype="html">
@ -6067,7 +6067,7 @@
<target state="translated">Клонувати</target> <target state="translated">Клонувати</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -6075,7 +6075,7 @@
<target state="translated">Експортувати чернетку як ICS</target> <target state="translated">Експортувати чернетку як ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4239552960465242484" datatype="html"> <trans-unit id="4239552960465242484" datatype="html">
@ -6083,7 +6083,7 @@
<target state="translated">Ви дійсно хочете видалити ці дії?</target> <target state="translated">Ви дійсно хочете видалити ці дії?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -6091,7 +6091,7 @@
<target state="translated">Ви дійсно хочете видалити цю активність?</target> <target state="translated">Ви дійсно хочете видалити цю активність?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7054,6 +7054,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">Канада</target> <target state="translated">Канада</target>
@ -7511,7 +7519,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8128,7 +8136,7 @@
<target state="new">Do you really want to generate a new security token?</target> <target state="new">Do you really want to generate a new security token?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

37
apps/client/src/locales/messages.xlf

@ -498,7 +498,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -533,7 +533,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -1143,7 +1143,7 @@
<source>Do you really want to delete this platform?</source> <source>Do you really want to delete this platform?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="774722884061553775" datatype="html"> <trans-unit id="774722884061553775" datatype="html">
@ -1200,7 +1200,7 @@
<source>Do you really want to delete this tag?</source> <source>Do you really want to delete this tag?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -1351,7 +1351,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1370,11 +1370,11 @@
<source>Oops! Incorrect Security Token.</source> <source>Oops! Incorrect Security Token.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2375,7 +2375,7 @@
<source>Oops, cash balance transfer has failed.</source> <source>Oops, cash balance transfer has failed.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4154970040744792968" datatype="html"> <trans-unit id="4154970040744792968" datatype="html">
@ -3290,7 +3290,7 @@
<source>Do you really want to delete these activities?</source> <source>Do you really want to delete these activities?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1111435290645444471" datatype="html"> <trans-unit id="1111435290645444471" datatype="html">
@ -4459,21 +4459,21 @@
<source>Clone</source> <source>Clone</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
<source>Export Draft as ICS</source> <source>Export Draft as ICS</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
<source>Do you really want to delete this activity?</source> <source>Do you really want to delete this activity?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3060494754215793943" datatype="html"> <trans-unit id="3060494754215793943" datatype="html">
@ -5807,6 +5807,13 @@
<context context-type="linenumber">99</context> <context context-type="linenumber">99</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<context-group purpose="location"> <context-group purpose="location">
@ -6611,7 +6618,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4068738931505527681" datatype="html"> <trans-unit id="4068738931505527681" datatype="html">
@ -6845,7 +6852,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5343721620901142551" datatype="html"> <trans-unit id="5343721620901142551" datatype="html">
@ -7371,7 +7378,7 @@
<source>Do you really want to generate a new security token?</source> <source>Do you really want to generate a new security token?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1419479195323304896" datatype="html"> <trans-unit id="1419479195323304896" datatype="html">

38
apps/client/src/locales/messages.zh.xlf

@ -528,7 +528,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">443</context> <context context-type="linenumber">451</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7022070615528435141" datatype="html"> <trans-unit id="7022070615528435141" datatype="html">
@ -564,7 +564,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">470</context> <context context-type="linenumber">478</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -1216,7 +1216,7 @@
<target state="translated">您真的要删除这个平台吗?</target> <target state="translated">您真的要删除这个平台吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.ts</context>
<context context-type="linenumber">107</context> <context context-type="linenumber">108</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="774722884061553775" datatype="html"> <trans-unit id="774722884061553775" datatype="html">
@ -1280,7 +1280,7 @@
<target state="translated">您真的要删除此标签吗?</target> <target state="translated">您真的要删除此标签吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.ts</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">104</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3653624484380347431" datatype="html"> <trans-unit id="3653624484380347431" datatype="html">
@ -1448,7 +1448,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">279</context> <context context-type="linenumber">283</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1468,11 +1468,11 @@
<target state="translated">哎呀!安全令牌不正确。</target> <target state="translated">哎呀!安全令牌不正确。</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
<context context-type="linenumber">294</context> <context context-type="linenumber">298</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">153</context> <context context-type="linenumber">154</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.component.ts</context>
@ -2572,7 +2572,7 @@
<target state="translated">糟糕,现金余额转账失败。</target> <target state="translated">糟糕,现金余额转账失败。</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.component.ts</context>
<context context-type="linenumber">324</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4154970040744792968" datatype="html"> <trans-unit id="4154970040744792968" datatype="html">
@ -3576,7 +3576,7 @@
<target state="translated">您确定要删除这些活动吗?</target> <target state="translated">您确定要删除这些活动吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">270</context> <context context-type="linenumber">276</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1111435290645444471" datatype="html"> <trans-unit id="1111435290645444471" datatype="html">
@ -4873,7 +4873,7 @@
<target state="translated">克隆</target> <target state="translated">克隆</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">449</context> <context context-type="linenumber">457</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4631493229601603593" datatype="html"> <trans-unit id="4631493229601603593" datatype="html">
@ -4881,7 +4881,7 @@
<target state="translated">将汇票导出为 ICS</target> <target state="translated">将汇票导出为 ICS</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">459</context> <context context-type="linenumber">467</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="670983159637074283" datatype="html"> <trans-unit id="670983159637074283" datatype="html">
@ -4889,7 +4889,7 @@
<target state="translated">您确实要删除此活动吗?</target> <target state="translated">您确实要删除此活动吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">280</context> <context context-type="linenumber">286</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3060494754215793943" datatype="html"> <trans-unit id="3060494754215793943" datatype="html">
@ -6429,6 +6429,14 @@
<context context-type="linenumber">83</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3477953895055172777" datatype="html">
<source>View Holding</source>
<target state="new">View Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">444</context>
</context-group>
</trans-unit>
<trans-unit id="3486679398271885916" datatype="html"> <trans-unit id="3486679398271885916" datatype="html">
<source>Canada</source> <source>Canada</source>
<target state="translated">加拿大</target> <target state="translated">加拿大</target>
@ -7248,7 +7256,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">251</context> <context context-type="linenumber">260</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1769610706135259386" datatype="html"> <trans-unit id="1769610706135259386" datatype="html">
@ -7512,7 +7520,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">169</context> <context context-type="linenumber">170</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6751986162338860240" datatype="html"> <trans-unit id="6751986162338860240" datatype="html">
@ -8129,7 +8137,7 @@
<target state="translated">您真的想要生成一个新的安全令牌吗?</target> <target state="translated">您真的想要生成一个新的安全令牌吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">175</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5193539160604294602" datatype="html"> <trans-unit id="5193539160604294602" datatype="html">

14
libs/ui/src/lib/activities-table/activities-table.component.html

@ -437,6 +437,14 @@
class="no-max-width" class="no-max-width"
xPosition="before" xPosition="before"
> >
@if (canClickActivity(element)) {
<button mat-menu-item (click)="onClickActivity(element)">
<span class="align-items-center d-flex">
<ion-icon class="mr-2" name="wallet-outline" />
<span i18n>View Holding</span>
</span>
</button>
}
<button mat-menu-item (click)="onUpdateActivity(element)"> <button mat-menu-item (click)="onUpdateActivity(element)">
<span class="align-items-center d-flex"> <span class="align-items-center d-flex">
<ion-icon class="mr-2" name="create-outline" /> <ion-icon class="mr-2" name="create-outline" />
@ -479,11 +487,7 @@
*matRowDef="let row; columns: displayedColumns" *matRowDef="let row; columns: displayedColumns"
mat-row mat-row
[ngClass]="{ [ngClass]="{
'cursor-pointer': 'cursor-pointer': canClickActivity(row)
hasPermissionToOpenDetails &&
isExcludedFromAnalysis(row) === false &&
row.isDraft === false &&
['BUY', 'DIVIDEND', 'SELL'].includes(row.type)
}" }"
(click)="onClickActivity(row)" (click)="onClickActivity(row)"
></tr> ></tr>

22
libs/ui/src/lib/activities-table/activities-table.component.ts

@ -56,7 +56,8 @@ import {
documentTextOutline, documentTextOutline,
ellipsisHorizontal, ellipsisHorizontal,
ellipsisVertical, ellipsisVertical,
trashOutline trashOutline,
walletOutline
} from 'ionicons/icons'; } from 'ionicons/icons';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, Subscription, takeUntil } from 'rxjs'; import { Subject, Subscription, takeUntil } from 'rxjs';
@ -153,7 +154,8 @@ export class GfActivitiesTableComponent
documentTextOutline, documentTextOutline,
ellipsisHorizontal, ellipsisHorizontal,
ellipsisVertical, ellipsisVertical,
trashOutline trashOutline,
walletOutline
}); });
} }
@ -226,6 +228,15 @@ export class GfActivitiesTableComponent
return numSelectedRows === numTotalRows; return numSelectedRows === numTotalRows;
} }
public canClickActivity(activity: Activity) {
return (
this.hasPermissionToOpenDetails &&
this.isExcludedFromAnalysis(activity) === false &&
activity.isDraft === false &&
['BUY', 'DIVIDEND', 'SELL'].includes(activity.type)
);
}
public isExcludedFromAnalysis(activity: Activity) { public isExcludedFromAnalysis(activity: Activity) {
return ( return (
activity.account?.isExcluded || activity.account?.isExcluded ||
@ -244,12 +255,7 @@ export class GfActivitiesTableComponent
if (!activity.error) { if (!activity.error) {
this.selectedRows.toggle(activity); this.selectedRows.toggle(activity);
} }
} else if ( } else if (this.canClickActivity(activity)) {
this.hasPermissionToOpenDetails &&
this.isExcludedFromAnalysis(activity) === false &&
activity.isDraft === false &&
['BUY', 'DIVIDEND', 'SELL'].includes(activity.type)
) {
this.activityClicked.emit({ this.activityClicked.emit({
dataSource: activity.SymbolProfile.dataSource, dataSource: activity.SymbolProfile.dataSource,
symbol: activity.SymbolProfile.symbol symbol: activity.SymbolProfile.symbol

7
libs/ui/src/lib/benchmark/benchmark.component.ts

@ -155,14 +155,17 @@ export class GfBenchmarkComponent implements OnChanges, OnDestroy {
dataSource, dataSource,
symbol symbol
}: AssetProfileIdentifier) { }: AssetProfileIdentifier) {
const dialogRef = this.dialog.open(GfBenchmarkDetailDialogComponent, { const dialogRef = this.dialog.open<
GfBenchmarkDetailDialogComponent,
BenchmarkDetailDialogParams
>(GfBenchmarkDetailDialogComponent, {
data: { data: {
dataSource, dataSource,
symbol, symbol,
colorScheme: this.user?.settings?.colorScheme, colorScheme: this.user?.settings?.colorScheme,
deviceType: this.deviceType, deviceType: this.deviceType,
locale: this.locale locale: this.locale
} as BenchmarkDetailDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : undefined, height: this.deviceType === 'mobile' ? '98vh' : undefined,
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
}); });

10
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts

@ -199,9 +199,10 @@ export class GfHistoricalMarketDataEditorComponent
}) { }) {
const marketPrice = this.marketDataByMonth[yearMonth]?.[day]?.marketPrice; const marketPrice = this.marketDataByMonth[yearMonth]?.[day]?.marketPrice;
const dialogRef = this.dialog.open( const dialogRef = this.dialog.open<
GfHistoricalMarketDataEditorDialogComponent, GfHistoricalMarketDataEditorDialogComponent,
{ HistoricalMarketDataEditorDialogParams
>(GfHistoricalMarketDataEditorDialogComponent, {
data: { data: {
marketPrice, marketPrice,
currency: this.currency, currency: this.currency,
@ -209,11 +210,10 @@ export class GfHistoricalMarketDataEditorComponent
dateString: `${yearMonth}-${day}`, dateString: `${yearMonth}-${day}`,
symbol: this.symbol, symbol: this.symbol,
user: this.user user: this.user
} as HistoricalMarketDataEditorDialogParams, },
height: this.deviceType === 'mobile' ? '98vh' : '80vh', height: this.deviceType === 'mobile' ? '98vh' : '80vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} });
);
dialogRef dialogRef
.afterClosed() .afterClosed()

6
libs/ui/src/lib/tags-selector/tags-selector.component.ts

@ -5,12 +5,10 @@ import {
Component, Component,
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
ElementRef, ElementRef,
EventEmitter,
Input, Input,
OnChanges, OnChanges,
OnDestroy, OnDestroy,
OnInit, OnInit,
Output,
signal, signal,
ViewChild ViewChild
} from '@angular/core'; } from '@angular/core';
@ -66,8 +64,6 @@ export class GfTagsSelectorComponent
@Input() tags: Tag[]; @Input() tags: Tag[];
@Input() tagsAvailable: Tag[]; @Input() tagsAvailable: Tag[];
@Output() tagsChanged = new EventEmitter<Tag[]>();
@ViewChild('tagInput') tagInput: ElementRef<HTMLInputElement>; @ViewChild('tagInput') tagInput: ElementRef<HTMLInputElement>;
public filteredOptions: Subject<Tag[]> = new BehaviorSubject([]); public filteredOptions: Subject<Tag[]> = new BehaviorSubject([]);
@ -115,7 +111,6 @@ export class GfTagsSelectorComponent
}); });
const newTags = this.tagsSelected(); const newTags = this.tagsSelected();
this.tagsChanged.emit(newTags);
this.onChange(newTags); this.onChange(newTags);
this.onTouched(); this.onTouched();
this.tagInput.nativeElement.value = ''; this.tagInput.nativeElement.value = '';
@ -130,7 +125,6 @@ export class GfTagsSelectorComponent
}); });
const newTags = this.tagsSelected(); const newTags = this.tagsSelected();
this.tagsChanged.emit(newTags);
this.onChange(newTags); this.onChange(newTags);
this.onTouched(); this.onTouched();
this.updateFilters(); this.updateFilters();

206
package-lock.json

@ -1,12 +1,12 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.211.0", "version": "2.213.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.211.0", "version": "2.213.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0", "license": "AGPL-3.0",
"dependencies": { "dependencies": {
@ -31,17 +31,17 @@
"@internationalized/number": "3.6.3", "@internationalized/number": "3.6.3",
"@ionic/angular": "8.7.3", "@ionic/angular": "8.7.3",
"@keyv/redis": "4.4.0", "@keyv/redis": "4.4.0",
"@nestjs/bull": "11.0.2", "@nestjs/bull": "11.0.4",
"@nestjs/cache-manager": "3.0.1", "@nestjs/cache-manager": "3.0.1",
"@nestjs/common": "11.1.3", "@nestjs/common": "11.1.8",
"@nestjs/config": "4.0.2", "@nestjs/config": "4.0.2",
"@nestjs/core": "11.1.3", "@nestjs/core": "11.1.8",
"@nestjs/event-emitter": "3.0.1", "@nestjs/event-emitter": "3.0.1",
"@nestjs/jwt": "11.0.0", "@nestjs/jwt": "11.0.1",
"@nestjs/passport": "11.0.5", "@nestjs/passport": "11.0.5",
"@nestjs/platform-express": "11.1.3", "@nestjs/platform-express": "11.1.8",
"@nestjs/schedule": "6.0.0", "@nestjs/schedule": "6.0.1",
"@nestjs/serve-static": "5.0.3", "@nestjs/serve-static": "5.0.4",
"@openrouter/ai-sdk-provider": "0.7.2", "@openrouter/ai-sdk-provider": "0.7.2",
"@prisma/client": "6.18.0", "@prisma/client": "6.18.0",
"@simplewebauthn/browser": "13.1.0", "@simplewebauthn/browser": "13.1.0",
@ -112,8 +112,8 @@
"@angular/pwa": "20.2.2", "@angular/pwa": "20.2.2",
"@eslint/eslintrc": "3.3.1", "@eslint/eslintrc": "3.3.1",
"@eslint/js": "9.35.0", "@eslint/js": "9.35.0",
"@nestjs/schematics": "11.0.5", "@nestjs/schematics": "11.0.9",
"@nestjs/testing": "11.1.3", "@nestjs/testing": "11.1.8",
"@nx/angular": "21.5.1", "@nx/angular": "21.5.1",
"@nx/cypress": "21.5.1", "@nx/cypress": "21.5.1",
"@nx/eslint-plugin": "21.5.1", "@nx/eslint-plugin": "21.5.1",
@ -8997,12 +8997,12 @@
} }
}, },
"node_modules/@nestjs/bull": { "node_modules/@nestjs/bull": {
"version": "11.0.2", "version": "11.0.4",
"resolved": "https://registry.npmjs.org/@nestjs/bull/-/bull-11.0.2.tgz", "resolved": "https://registry.npmjs.org/@nestjs/bull/-/bull-11.0.4.tgz",
"integrity": "sha512-RjyP9JZUuLmMhmq1TMNIZqolkAd14az1jyXMMVki+C9dYvaMjWzBSwcZAtKs9Pk15Rm7qN1xn3R11aMV2Xv4gg==", "integrity": "sha512-QVz2PR/rJF/isy7otVnMTSqLf/O71p9Ka7lBZt9Gm+NQFv8fcH2L11GL7TA0whyCcw/kAX5iRepUXz/wed4JoA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@nestjs/bull-shared": "^11.0.2", "@nestjs/bull-shared": "^11.0.4",
"tslib": "2.8.1" "tslib": "2.8.1"
}, },
"peerDependencies": { "peerDependencies": {
@ -9012,9 +9012,9 @@
} }
}, },
"node_modules/@nestjs/bull-shared": { "node_modules/@nestjs/bull-shared": {
"version": "11.0.3", "version": "11.0.4",
"resolved": "https://registry.npmjs.org/@nestjs/bull-shared/-/bull-shared-11.0.3.tgz", "resolved": "https://registry.npmjs.org/@nestjs/bull-shared/-/bull-shared-11.0.4.tgz",
"integrity": "sha512-CaHniPkLAxis6fAB1DB8WZELQv8VPCLedbj7iP0VQ1pz74i6NSzG9mBg6tOomXq/WW4la4P4OMGEQ48UAJh20A==", "integrity": "sha512-VBJcDHSAzxQnpcDfA0kt9MTGUD1XZzfByV70su0W0eDCQ9aqIEBlzWRW21tv9FG9dIut22ysgDidshdjlnczLw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "2.8.1" "tslib": "2.8.1"
@ -9038,14 +9038,14 @@
} }
}, },
"node_modules/@nestjs/common": { "node_modules/@nestjs/common": {
"version": "11.1.3", "version": "11.1.8",
"resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.3.tgz", "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.8.tgz",
"integrity": "sha512-ogEK+GriWodIwCw6buQ1rpcH4Kx+G7YQ9EwuPySI3rS05pSdtQ++UhucjusSI9apNidv+QURBztJkRecwwJQXg==", "integrity": "sha512-bbsOqwld/GdBfiRNc4nnjyWWENDEicq4SH+R5AuYatvf++vf1x5JIsHB1i1KtfZMD3eRte0D4K9WXuAYil6XAg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"file-type": "21.0.0", "file-type": "21.0.0",
"iterare": "1.2.1", "iterare": "1.2.1",
"load-esm": "1.0.2", "load-esm": "1.0.3",
"tslib": "2.8.1", "tslib": "2.8.1",
"uid": "2.0.2" "uid": "2.0.2"
}, },
@ -9111,16 +9111,16 @@
} }
}, },
"node_modules/@nestjs/core": { "node_modules/@nestjs/core": {
"version": "11.1.3", "version": "11.1.8",
"resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.3.tgz", "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.8.tgz",
"integrity": "sha512-5lTni0TCh8x7bXETRD57pQFnKnEg1T6M+VLE7wAmyQRIecKQU+2inRGZD+A4v2DC1I04eA0WffP0GKLxjOKlzw==", "integrity": "sha512-7riWfmTmMhCJHZ5ZiaG+crj4t85IPCq/wLRuOUSigBYyFT2JZj0lVHtAdf4Davp9ouNI8GINBDt9h9b5Gz9nTw==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@nuxt/opencollective": "0.4.1", "@nuxt/opencollective": "0.4.1",
"fast-safe-stringify": "2.1.1", "fast-safe-stringify": "2.1.1",
"iterare": "1.2.1", "iterare": "1.2.1",
"path-to-regexp": "8.2.0", "path-to-regexp": "8.3.0",
"tslib": "2.8.1", "tslib": "2.8.1",
"uid": "2.0.2" "uid": "2.0.2"
}, },
@ -9165,12 +9165,12 @@
} }
}, },
"node_modules/@nestjs/jwt": { "node_modules/@nestjs/jwt": {
"version": "11.0.0", "version": "11.0.1",
"resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-11.0.0.tgz", "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-11.0.1.tgz",
"integrity": "sha512-v7YRsW3Xi8HNTsO+jeHSEEqelX37TVWgwt+BcxtkG/OfXJEOs6GZdbdza200d6KqId1pJQZ6UPj1F0M6E+mxaA==", "integrity": "sha512-HXSsc7SAnCnjA98TsZqrE7trGtHDnYXWp4Ffy6LwSmck1QvbGYdMzBquXofX5l6tIRpeY4Qidl2Ti2CVG77Pdw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@types/jsonwebtoken": "9.0.7", "@types/jsonwebtoken": "9.0.10",
"jsonwebtoken": "9.0.2" "jsonwebtoken": "9.0.2"
}, },
"peerDependencies": { "peerDependencies": {
@ -9188,15 +9188,15 @@
} }
}, },
"node_modules/@nestjs/platform-express": { "node_modules/@nestjs/platform-express": {
"version": "11.1.3", "version": "11.1.8",
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.3.tgz", "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.8.tgz",
"integrity": "sha512-hEDNMlaPiBO72fxxX/CuRQL3MEhKRc/sIYGVoXjrnw6hTxZdezvvM6A95UaLsYknfmcZZa/CdG1SMBZOu9agHQ==", "integrity": "sha512-rL6pZH9BW7BnL5X2eWbJMtt86uloAKjFgyY5+L2UkizgfEp7rgAs0+Z1z0BcW2Pgu5+q8O7RKPNyHJ/9ZNz/ZQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cors": "2.8.5", "cors": "2.8.5",
"express": "5.1.0", "express": "5.1.0",
"multer": "2.0.1", "multer": "2.0.2",
"path-to-regexp": "8.2.0", "path-to-regexp": "8.3.0",
"tslib": "2.8.1" "tslib": "2.8.1"
}, },
"funding": { "funding": {
@ -9209,12 +9209,12 @@
} }
}, },
"node_modules/@nestjs/schedule": { "node_modules/@nestjs/schedule": {
"version": "6.0.0", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/@nestjs/schedule/-/schedule-6.0.0.tgz", "resolved": "https://registry.npmjs.org/@nestjs/schedule/-/schedule-6.0.1.tgz",
"integrity": "sha512-aQySMw6tw2nhitELXd3EiRacQRgzUKD9mFcUZVOJ7jPLqIBvXOyvRWLsK9SdurGA+jjziAlMef7iB5ZEFFoQpw==", "integrity": "sha512-v3yO6cSPAoBSSyH67HWnXHzuhPhSNZhRmLY38JvCt2sqY8sPMOODpcU1D79iUMFf7k16DaMEbL4Mgx61ZhiC8Q==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cron": "4.3.0" "cron": "4.3.3"
}, },
"peerDependencies": { "peerDependencies": {
"@nestjs/common": "^10.0.0 || ^11.0.0", "@nestjs/common": "^10.0.0 || ^11.0.0",
@ -9222,15 +9222,15 @@
} }
}, },
"node_modules/@nestjs/schematics": { "node_modules/@nestjs/schematics": {
"version": "11.0.5", "version": "11.0.9",
"resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-11.0.5.tgz", "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-11.0.9.tgz",
"integrity": "sha512-T50SCNyqCZ/fDssaOD7meBKLZ87ebRLaJqZTJPvJKjlib1VYhMOCwXYsr7bjMPmuPgiQHOwvppz77xN/m6GM7A==", "integrity": "sha512-0NfPbPlEaGwIT8/TCThxLzrlz3yzDNkfRNpbL7FiplKq3w4qXpJg0JYwqgMEJnLQZm3L/L/5XjoyfJHUO3qX9g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/core": "19.2.6", "@angular-devkit/core": "19.2.17",
"@angular-devkit/schematics": "19.2.6", "@angular-devkit/schematics": "19.2.17",
"comment-json": "4.2.5", "comment-json": "4.4.1",
"jsonc-parser": "3.3.1", "jsonc-parser": "3.3.1",
"pluralize": "8.0.0" "pluralize": "8.0.0"
}, },
@ -9239,9 +9239,9 @@
} }
}, },
"node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": { "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": {
"version": "19.2.6", "version": "19.2.17",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.6.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.17.tgz",
"integrity": "sha512-WFgiYhrDMq83UNaGRAneIM7CYYdBozD+yYA9BjoU8AgBLKtrvn6S8ZcjKAk5heoHtY/u8pEb0mwDTz9gxFmJZQ==", "integrity": "sha512-Ah008x2RJkd0F+NLKqIpA34/vUGwjlprRCkvddjDopAWRzYn6xCkz1Tqwuhn0nR1Dy47wTLKYD999TYl5ONOAQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -9267,13 +9267,13 @@
} }
}, },
"node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": { "node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": {
"version": "19.2.6", "version": "19.2.17",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.6.tgz", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.17.tgz",
"integrity": "sha512-YTAxNnT++5eflx19OUHmOWu597/TbTel+QARiZCv1xQw99+X8DCKKOUXtqBRd53CAHlREDI33Rn/JLY3NYgMLQ==", "integrity": "sha512-ADfbaBsrG8mBF6Mfs+crKA/2ykB8AJI50Cv9tKmZfwcUcyAdmTr+vVvhsBCfvUAEokigSsgqgpYxfkJVxhJYeg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/core": "19.2.6", "@angular-devkit/core": "19.2.17",
"jsonc-parser": "3.3.1", "jsonc-parser": "3.3.1",
"magic-string": "0.30.17", "magic-string": "0.30.17",
"ora": "5.4.1", "ora": "5.4.1",
@ -9371,12 +9371,12 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/@nestjs/serve-static": { "node_modules/@nestjs/serve-static": {
"version": "5.0.3", "version": "5.0.4",
"resolved": "https://registry.npmjs.org/@nestjs/serve-static/-/serve-static-5.0.3.tgz", "resolved": "https://registry.npmjs.org/@nestjs/serve-static/-/serve-static-5.0.4.tgz",
"integrity": "sha512-0jFjTlSVSLrI+mot8lfm+h2laXtKzCvgsVStv9T1ZBZTDwS26gM5czIhIESmWAod0PfrbCDFiu9C1MglObL8VA==", "integrity": "sha512-3kO1M9D3vsPyWPFardxIjUYeuolS58PnhCoBTkS7t3BrdZFZCKHnBZ15js+UOzOR2Q6HmD7ssGjLd0DVYVdvOw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"path-to-regexp": "8.2.0" "path-to-regexp": "8.3.0"
}, },
"peerDependencies": { "peerDependencies": {
"@fastify/static": "^8.0.4", "@fastify/static": "^8.0.4",
@ -9398,9 +9398,9 @@
} }
}, },
"node_modules/@nestjs/testing": { "node_modules/@nestjs/testing": {
"version": "11.1.3", "version": "11.1.8",
"resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-11.1.3.tgz", "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-11.1.8.tgz",
"integrity": "sha512-CeXG6/eEqgFIkPkmU00y18Dd3DLOIDFhPItzJK1SWckKo6IhcnfoRJzGx75bmuvUMjb51j6An96S/+MJ2ty9jA==", "integrity": "sha512-E6K+0UTKztcPxJzLnQa7S34lFjZbrj3Z1r7c5y5WDrL1m5HD1H4AeyBhicHgdaFmxjLAva2bq0sYKy/S7cdeYA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -14449,11 +14449,12 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/jsonwebtoken": { "node_modules/@types/jsonwebtoken": {
"version": "9.0.7", "version": "9.0.10",
"resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.7.tgz", "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz",
"integrity": "sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg==", "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@types/ms": "*",
"@types/node": "*" "@types/node": "*"
} }
}, },
@ -14465,9 +14466,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/luxon": { "node_modules/@types/luxon": {
"version": "3.6.2", "version": "3.7.1",
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.6.2.tgz", "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.7.1.tgz",
"integrity": "sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==", "integrity": "sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/mdx": { "node_modules/@types/mdx": {
@ -14484,6 +14485,12 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/ms": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
"license": "MIT"
},
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "22.15.17", "version": "22.15.17",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.17.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.17.tgz",
@ -18266,17 +18273,15 @@
} }
}, },
"node_modules/comment-json": { "node_modules/comment-json": {
"version": "4.2.5", "version": "4.4.1",
"resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.5.tgz", "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.4.1.tgz",
"integrity": "sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==", "integrity": "sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"array-timsort": "^1.0.3", "array-timsort": "^1.0.3",
"core-util-is": "^1.0.3", "core-util-is": "^1.0.3",
"esprima": "^4.0.1", "esprima": "^4.0.1"
"has-own-prop": "^2.0.0",
"repeat-string": "^1.6.1"
}, },
"engines": { "engines": {
"node": ">= 6" "node": ">= 6"
@ -19323,13 +19328,13 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/cron": { "node_modules/cron": {
"version": "4.3.0", "version": "4.3.3",
"resolved": "https://registry.npmjs.org/cron/-/cron-4.3.0.tgz", "resolved": "https://registry.npmjs.org/cron/-/cron-4.3.3.tgz",
"integrity": "sha512-ciiYNLfSlF9MrDqnbMdRWFiA6oizSF7kA1osPP9lRzNu0Uu+AWog1UKy7SkckiDY2irrNjeO6qLyKnXC8oxmrw==", "integrity": "sha512-B/CJj5yL3sjtlun6RtYHvoSB26EmQ2NUmhq9ZiJSyKIM4K/fqfh9aelDFlIayD2YMeFZqWLi9hHV+c+pq2Djkw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@types/luxon": "~3.6.0", "@types/luxon": "~3.7.0",
"luxon": "~3.6.0" "luxon": "~3.7.0"
}, },
"engines": { "engines": {
"node": ">=18.x" "node": ">=18.x"
@ -24205,16 +24210,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/has-own-prop": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz",
"integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/has-property-descriptors": { "node_modules/has-property-descriptors": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
@ -31620,9 +31615,9 @@
} }
}, },
"node_modules/load-esm": { "node_modules/load-esm": {
"version": "1.0.2", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.2.tgz", "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz",
"integrity": "sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw==", "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==",
"funding": [ "funding": [
{ {
"type": "github", "type": "github",
@ -32040,9 +32035,9 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/luxon": { "node_modules/luxon": {
"version": "3.6.1", "version": "3.7.2",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.6.1.tgz", "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz",
"integrity": "sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ==", "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
@ -32633,9 +32628,9 @@
} }
}, },
"node_modules/multer": { "node_modules/multer": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/multer/-/multer-2.0.1.tgz", "resolved": "https://registry.npmjs.org/multer/-/multer-2.0.2.tgz",
"integrity": "sha512-Ug8bXeTIUlxurg8xLTEskKShvcKDZALo1THEX5E41pYCD2sCVub5/kIRIGqWNoqV6szyLyQKV6mD4QUrWE5GCQ==", "integrity": "sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"append-field": "^1.0.0", "append-field": "^1.0.0",
@ -34756,12 +34751,13 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/path-to-regexp": { "node_modules/path-to-regexp": {
"version": "8.2.0", "version": "8.3.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
"integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==",
"license": "MIT", "license": "MIT",
"engines": { "funding": {
"node": ">=16" "type": "opencollective",
"url": "https://opencollective.com/express"
} }
}, },
"node_modules/path-type": { "node_modules/path-type": {
@ -36514,16 +36510,6 @@
"entities": "^2.0.0" "entities": "^2.0.0"
} }
}, },
"node_modules/repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10"
}
},
"node_modules/replace-in-file": { "node_modules/replace-in-file": {
"version": "8.3.0", "version": "8.3.0",
"resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-8.3.0.tgz", "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-8.3.0.tgz",

20
package.json

@ -1,6 +1,6 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.211.0", "version": "2.213.0",
"homepage": "https://ghostfol.io", "homepage": "https://ghostfol.io",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio", "repository": "https://github.com/ghostfolio/ghostfolio",
@ -77,17 +77,17 @@
"@internationalized/number": "3.6.3", "@internationalized/number": "3.6.3",
"@ionic/angular": "8.7.3", "@ionic/angular": "8.7.3",
"@keyv/redis": "4.4.0", "@keyv/redis": "4.4.0",
"@nestjs/bull": "11.0.2", "@nestjs/bull": "11.0.4",
"@nestjs/cache-manager": "3.0.1", "@nestjs/cache-manager": "3.0.1",
"@nestjs/common": "11.1.3", "@nestjs/common": "11.1.8",
"@nestjs/config": "4.0.2", "@nestjs/config": "4.0.2",
"@nestjs/core": "11.1.3", "@nestjs/core": "11.1.8",
"@nestjs/event-emitter": "3.0.1", "@nestjs/event-emitter": "3.0.1",
"@nestjs/jwt": "11.0.0", "@nestjs/jwt": "11.0.1",
"@nestjs/passport": "11.0.5", "@nestjs/passport": "11.0.5",
"@nestjs/platform-express": "11.1.3", "@nestjs/platform-express": "11.1.8",
"@nestjs/schedule": "6.0.0", "@nestjs/schedule": "6.0.1",
"@nestjs/serve-static": "5.0.3", "@nestjs/serve-static": "5.0.4",
"@openrouter/ai-sdk-provider": "0.7.2", "@openrouter/ai-sdk-provider": "0.7.2",
"@prisma/client": "6.18.0", "@prisma/client": "6.18.0",
"@simplewebauthn/browser": "13.1.0", "@simplewebauthn/browser": "13.1.0",
@ -158,8 +158,8 @@
"@angular/pwa": "20.2.2", "@angular/pwa": "20.2.2",
"@eslint/eslintrc": "3.3.1", "@eslint/eslintrc": "3.3.1",
"@eslint/js": "9.35.0", "@eslint/js": "9.35.0",
"@nestjs/schematics": "11.0.5", "@nestjs/schematics": "11.0.9",
"@nestjs/testing": "11.1.3", "@nestjs/testing": "11.1.8",
"@nx/angular": "21.5.1", "@nx/angular": "21.5.1",
"@nx/cypress": "21.5.1", "@nx/cypress": "21.5.1",
"@nx/eslint-plugin": "21.5.1", "@nx/eslint-plugin": "21.5.1",

Loading…
Cancel
Save