diff --git a/CHANGELOG.md b/CHANGELOG.md index 1070e2240..ae1ebcf01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.149.0 - 2025-03-30 + +### Added + +- Added support for changing the asset profile identifier (`dataSource` and `symbol`) in the asset profile details dialog of the admin control panel (experimental) +- Set up the terms of service for the _Ghostfolio_ SaaS (cloud) ### Changed - Improved the static portfolio analysis rule: Emergency fund setup by supporting assets - Restricted the historical market data gathering to active asset profiles - Upgraded `nestjs` from version `10.4.15` to `11.0.12` +- Improved the language localization for German (`de`) +- Upgraded `Nx` from version `20.5.0` to `20.6.4` ## 2.148.0 - 2025-03-24 diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts index 409ce7160..2df1d98ae 100644 --- a/apps/api/src/app/admin/admin.controller.ts +++ b/apps/api/src/app/admin/admin.controller.ts @@ -334,15 +334,14 @@ export class AdminController { @Patch('profile-data/:dataSource/:symbol') @UseGuards(AuthGuard('jwt'), HasPermissionGuard) public async patchAssetProfileData( - @Body() assetProfileData: UpdateAssetProfileDto, + @Body() assetProfile: UpdateAssetProfileDto, @Param('dataSource') dataSource: DataSource, @Param('symbol') symbol: string ): Promise { - return this.adminService.patchAssetProfileData({ - ...assetProfileData, - dataSource, - symbol - }); + return this.adminService.patchAssetProfileData( + { dataSource, symbol }, + assetProfile + ); } @HasPermission(permissions.accessAdminControl) diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index edb96a28e..d73e2b878 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -32,16 +32,23 @@ import { import { Sector } from '@ghostfolio/common/interfaces/sector.interface'; import { MarketDataPreset } from '@ghostfolio/common/types'; -import { BadRequestException, Injectable, Logger } from '@nestjs/common'; +import { + BadRequestException, + HttpException, + Injectable, + Logger +} from '@nestjs/common'; import { AssetClass, AssetSubClass, + DataSource, Prisma, PrismaClient, Property, SymbolProfile } from '@prisma/client'; import { differenceInDays } from 'date-fns'; +import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { groupBy } from 'lodash'; @Injectable() @@ -463,61 +470,124 @@ export class AdminService { return { count, users }; } - public async patchAssetProfileData({ - assetClass, - assetSubClass, - comment, - countries, - currency, - dataSource, - holdings, - name, - scraperConfiguration, - sectors, - symbol, - symbolMapping, - url - }: AssetProfileIdentifier & Prisma.SymbolProfileUpdateInput) { - const symbolProfileOverrides = { - assetClass: assetClass as AssetClass, - assetSubClass: assetSubClass as AssetSubClass, - name: name as string, - url: url as string - }; - - const updatedSymbolProfile: AssetProfileIdentifier & - Prisma.SymbolProfileUpdateInput = { + public async patchAssetProfileData( + { dataSource, symbol }: AssetProfileIdentifier, + { + assetClass, + assetSubClass, comment, countries, currency, - dataSource, + dataSource: newDataSource, holdings, + name, scraperConfiguration, sectors, - symbol, + symbol: newSymbol, symbolMapping, - ...(dataSource === 'MANUAL' - ? { assetClass, assetSubClass, name, url } - : { - SymbolProfileOverrides: { - upsert: { - create: symbolProfileOverrides, - update: symbolProfileOverrides - } + url + }: Prisma.SymbolProfileUpdateInput + ) { + if ( + newSymbol && + newDataSource && + (newSymbol !== symbol || newDataSource !== dataSource) + ) { + const [assetProfile] = await this.symbolProfileService.getSymbolProfiles([ + { + dataSource: DataSource[newDataSource.toString()], + symbol: newSymbol as string + } + ]); + + if (assetProfile) { + throw new HttpException( + getReasonPhrase(StatusCodes.CONFLICT), + StatusCodes.CONFLICT + ); + } + + try { + Promise.all([ + await this.symbolProfileService.updateAssetProfileIdentifier( + { + dataSource, + symbol + }, + { + dataSource: DataSource[newDataSource.toString()], + symbol: newSymbol as string } - }) - }; + ), + await this.marketDataService.updateAssetProfileIdentifier( + { + dataSource, + symbol + }, + { + dataSource: DataSource[newDataSource.toString()], + symbol: newSymbol as string + } + ) + ]); - await this.symbolProfileService.updateSymbolProfile(updatedSymbolProfile); + return this.symbolProfileService.getSymbolProfiles([ + { + dataSource: DataSource[newDataSource.toString()], + symbol: newSymbol as string + } + ])?.[0]; + } catch { + throw new HttpException( + getReasonPhrase(StatusCodes.BAD_REQUEST), + StatusCodes.BAD_REQUEST + ); + } + } else { + const symbolProfileOverrides = { + assetClass: assetClass as AssetClass, + assetSubClass: assetSubClass as AssetSubClass, + name: name as string, + url: url as string + }; - const [symbolProfile] = await this.symbolProfileService.getSymbolProfiles([ - { + const updatedSymbolProfile: Prisma.SymbolProfileUpdateInput = { + comment, + countries, + currency, dataSource, - symbol - } - ]); + holdings, + scraperConfiguration, + sectors, + symbol, + symbolMapping, + ...(dataSource === 'MANUAL' + ? { assetClass, assetSubClass, name, url } + : { + SymbolProfileOverrides: { + upsert: { + create: symbolProfileOverrides, + update: symbolProfileOverrides + } + } + }) + }; + + await this.symbolProfileService.updateSymbolProfile( + { + dataSource, + symbol + }, + updatedSymbolProfile + ); - return symbolProfile; + return this.symbolProfileService.getSymbolProfiles([ + { + dataSource: dataSource as DataSource, + symbol: symbol as string + } + ])?.[0]; + } } public async putSetting(key: string, value: string) { diff --git a/apps/api/src/app/admin/update-asset-profile.dto.ts b/apps/api/src/app/admin/update-asset-profile.dto.ts index 8c9ae220b..b28fe3cdc 100644 --- a/apps/api/src/app/admin/update-asset-profile.dto.ts +++ b/apps/api/src/app/admin/update-asset-profile.dto.ts @@ -1,6 +1,6 @@ import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code'; -import { AssetClass, AssetSubClass, Prisma } from '@prisma/client'; +import { AssetClass, AssetSubClass, DataSource, Prisma } from '@prisma/client'; import { IsArray, IsEnum, @@ -19,8 +19,8 @@ export class UpdateAssetProfileDto { @IsOptional() assetSubClass?: AssetSubClass; - @IsString() @IsOptional() + @IsString() comment?: string; @IsArray() @@ -31,8 +31,12 @@ export class UpdateAssetProfileDto { @IsOptional() currency?: string; - @IsString() + @IsEnum(DataSource, { each: true }) + @IsOptional() + dataSource?: DataSource; + @IsOptional() + @IsString() name?: string; @IsObject() @@ -43,6 +47,10 @@ export class UpdateAssetProfileDto { @IsOptional() sectors?: Prisma.InputJsonArray; + @IsOptional() + @IsString() + symbol?: string; + @IsObject() @IsOptional() symbolMapping?: { diff --git a/apps/api/src/services/market-data/market-data.service.ts b/apps/api/src/services/market-data/market-data.service.ts index c0abdf04e..390586b37 100644 --- a/apps/api/src/services/market-data/market-data.service.ts +++ b/apps/api/src/services/market-data/market-data.service.ts @@ -110,6 +110,22 @@ export class MarketDataService { }); } + public async updateAssetProfileIdentifier( + oldAssetProfileIdentifier: AssetProfileIdentifier, + newAssetProfileIdentifier: AssetProfileIdentifier + ) { + return this.prismaService.marketData.updateMany({ + data: { + dataSource: newAssetProfileIdentifier.dataSource, + symbol: newAssetProfileIdentifier.symbol + }, + where: { + dataSource: oldAssetProfileIdentifier.dataSource, + symbol: oldAssetProfileIdentifier.symbol + } + }); + } + public async updateMarketData(params: { data: { state: MarketDataState; diff --git a/apps/api/src/services/symbol-profile/symbol-profile.service.ts b/apps/api/src/services/symbol-profile/symbol-profile.service.ts index e9c568cef..e934a6324 100644 --- a/apps/api/src/services/symbol-profile/symbol-profile.service.ts +++ b/apps/api/src/services/symbol-profile/symbol-profile.service.ts @@ -126,23 +126,42 @@ export class SymbolProfileService { }); } - public updateSymbolProfile({ - assetClass, - assetSubClass, - comment, - countries, - currency, - dataSource, - holdings, - isActive, - name, - scraperConfiguration, - sectors, - symbol, - symbolMapping, - SymbolProfileOverrides, - url - }: AssetProfileIdentifier & Prisma.SymbolProfileUpdateInput) { + public updateAssetProfileIdentifier( + oldAssetProfileIdentifier: AssetProfileIdentifier, + newAssetProfileIdentifier: AssetProfileIdentifier + ) { + return this.prismaService.symbolProfile.update({ + data: { + dataSource: newAssetProfileIdentifier.dataSource, + symbol: newAssetProfileIdentifier.symbol + }, + where: { + dataSource_symbol: { + dataSource: oldAssetProfileIdentifier.dataSource, + symbol: oldAssetProfileIdentifier.symbol + } + } + }); + } + + public updateSymbolProfile( + { dataSource, symbol }: AssetProfileIdentifier, + { + assetClass, + assetSubClass, + comment, + countries, + currency, + holdings, + isActive, + name, + scraperConfiguration, + sectors, + symbolMapping, + SymbolProfileOverrides, + url + }: Prisma.SymbolProfileUpdateInput + ) { return this.prismaService.symbolProfile.update({ data: { assetClass, diff --git a/apps/client/src/app/app.component.html b/apps/client/src/app/app.component.html index ab188dfcb..6f39c824d 100644 --- a/apps/client/src/app/app.component.html +++ b/apps/client/src/app/app.component.html @@ -84,9 +84,11 @@ > } -
  • - License -
  • + @if (!hasPermissionForSubscription) { +
  • + License +
  • + } @if (hasPermissionForStatistics) {
  • Open Startup @@ -104,6 +106,13 @@ >
  • } + @if (hasPermissionForSubscription) { +
  • + Terms of Service +
  • + } @if (hasPermissionForSubscription) {
  • { - this.router.navigate(['.'], { relativeTo: this.route }); - }); + .subscribe( + (newAssetProfileIdentifier: AssetProfileIdentifier | undefined) => { + if (newAssetProfileIdentifier) { + this.onOpenAssetProfileDialog(newAssetProfileIdentifier); + } else { + this.router.navigate(['.'], { relativeTo: this.route }); + } + } + ); }); } diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss index a9e135783..5e469970e 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss @@ -8,6 +8,12 @@ aspect-ratio: 16/9; } + .edit-asset-profile-identifier-container { + bottom: 0; + right: 1rem; + top: 0; + } + .mat-expansion-panel { --mat-expansion-container-background-color: transparent; diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts index 1467a1ba3..14aa3a19e 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts @@ -15,17 +15,27 @@ import { } from '@ghostfolio/common/interfaces'; import { translate } from '@ghostfolio/ui/i18n'; +import { HttpErrorResponse } from '@angular/common/http'; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, + ElementRef, Inject, OnDestroy, OnInit, + ViewChild, signal } from '@angular/core'; -import { FormBuilder, FormControl, Validators } from '@angular/forms'; +import { + AbstractControl, + FormBuilder, + FormControl, + ValidationErrors, + Validators +} from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { MatSnackBar } from '@angular/material/snack-bar'; import { AssetClass, AssetSubClass, @@ -33,6 +43,8 @@ import { SymbolProfile } from '@prisma/client'; import { format } from 'date-fns'; +import { StatusCodes } from 'http-status-codes'; +import ms from 'ms'; import { EMPTY, Subject } from 'rxjs'; import { catchError, takeUntil } from 'rxjs/operators'; @@ -47,14 +59,26 @@ import { AssetProfileDialogParams } from './interfaces/interfaces'; standalone: false }) export class AssetProfileDialog implements OnDestroy, OnInit { + private static readonly HISTORICAL_DATA_TEMPLATE = `date;marketPrice\n${format( + new Date(), + DATE_FORMAT + )};123.45`; + + @ViewChild('assetProfileFormElement') + assetProfileFormElement: ElementRef; + public assetProfileClass: string; + public assetClasses = Object.keys(AssetClass).map((assetClass) => { return { id: assetClass, label: translate(assetClass) }; }); + public assetSubClasses = Object.keys(AssetSubClass).map((assetSubClass) => { return { id: assetSubClass, label: translate(assetSubClass) }; }); + public assetProfile: AdminMarketDataDetails['assetProfile']; + public assetProfileForm = this.formBuilder.group({ assetClass: new FormControl(undefined), assetSubClass: new FormControl(undefined), @@ -77,16 +101,35 @@ export class AssetProfileDialog implements OnDestroy, OnInit { symbolMapping: '', url: '' }); + + public assetProfileIdentifierForm = this.formBuilder.group( + { + assetProfileIdentifier: new FormControl( + { symbol: null, dataSource: null }, + [Validators.required] + ) + }, + { + validators: (control) => { + return this.isNewSymbolValid(control); + } + } + ); + public assetProfileSubClass: string; public benchmarks: Partial[]; + public countries: { [code: string]: { name: string; value: number }; }; + public currencies: string[] = []; public ghostfolioScraperApiSymbolPrefix = ghostfolioScraperApiSymbolPrefix; public historicalDataItems: LineChartItem[]; public isBenchmark = false; + public isEditAssetProfileIdentifierMode = false; public marketDataItems: MarketData[] = []; + public modeValues = [ { value: 'lazy', @@ -97,16 +140,15 @@ export class AssetProfileDialog implements OnDestroy, OnInit { viewValue: $localize`Instant` + ' (' + $localize`real-time` + ')' } ]; + public scraperConfiguationIsExpanded = signal(false); + public sectors: { [name: string]: { name: string; value: number }; }; + public user: User; - private static readonly HISTORICAL_DATA_TEMPLATE = `date;marketPrice\n${format( - new Date(), - DATE_FORMAT - )};123.45`; private unsubscribeSubject = new Subject(); public constructor( @@ -118,9 +160,22 @@ export class AssetProfileDialog implements OnDestroy, OnInit { public dialogRef: MatDialogRef, private formBuilder: FormBuilder, private notificationService: NotificationService, + private snackBar: MatSnackBar, private userService: UserService ) {} + public get canEditAssetProfileIdentifier() { + return ( + this.assetProfile?.assetClass && + !['MANUAL'].includes(this.assetProfile?.dataSource) && + this.user?.settings?.isExperimentalFeatures + ); + } + + public get canSaveAssetProfileIdentifier() { + return !this.assetProfileForm.dirty; + } + public ngOnInit() { const { benchmarks, currencies } = this.dataService.fetchInfo(); @@ -223,6 +278,14 @@ export class AssetProfileDialog implements OnDestroy, OnInit { }); } + public onCancelEditAssetProfileIdentifierMode() { + this.isEditAssetProfileIdentifierMode = false; + + this.assetProfileForm.enable(); + + this.assetProfileIdentifierForm.reset(); + } + public onClose() { this.dialogRef.close(); } @@ -269,7 +332,13 @@ export class AssetProfileDialog implements OnDestroy, OnInit { }); } - public async onSubmit() { + public onSetEditAssetProfileIdentifierMode() { + this.isEditAssetProfileIdentifierMode = true; + + this.assetProfileForm.disable(); + } + + public async onSubmitAssetProfileForm() { let countries = []; let scraperConfiguration = {}; let sectors = []; @@ -317,7 +386,7 @@ export class AssetProfileDialog implements OnDestroy, OnInit { ); } catch {} - const assetProfileData: UpdateAssetProfileDto = { + const assetProfile: UpdateAssetProfileDto = { countries, scraperConfiguration, sectors, @@ -334,7 +403,7 @@ export class AssetProfileDialog implements OnDestroy, OnInit { await validateObjectForForm({ classDto: UpdateAssetProfileDto, form: this.assetProfileForm, - object: assetProfileData + object: assetProfile }); } catch (error) { console.error(error); @@ -342,16 +411,80 @@ export class AssetProfileDialog implements OnDestroy, OnInit { } this.adminService - .patchAssetProfile({ - ...assetProfileData, - dataSource: this.data.dataSource, - symbol: this.data.symbol - }) + .patchAssetProfile( + { + dataSource: this.data.dataSource, + symbol: this.data.symbol + }, + assetProfile + ) .subscribe(() => { this.initialize(); }); } + public async onSubmitAssetProfileIdentifierForm() { + const assetProfileIdentifier: UpdateAssetProfileDto = { + dataSource: this.assetProfileIdentifierForm.get('assetProfileIdentifier') + .value.dataSource, + symbol: this.assetProfileIdentifierForm.get('assetProfileIdentifier') + .value.symbol + }; + + try { + await validateObjectForForm({ + classDto: UpdateAssetProfileDto, + form: this.assetProfileIdentifierForm, + object: assetProfileIdentifier + }); + } catch (error) { + console.error(error); + + return; + } + + this.adminService + .patchAssetProfile( + { + dataSource: this.data.dataSource, + symbol: this.data.symbol + }, + assetProfileIdentifier + ) + .pipe( + catchError((error: HttpErrorResponse) => { + if (error.status === StatusCodes.CONFLICT) { + this.snackBar.open( + $localize`${assetProfileIdentifier.symbol} (${assetProfileIdentifier.dataSource}) is already in use.`, + undefined, + { + duration: ms('3 seconds') + } + ); + } else { + this.snackBar.open( + $localize`An error occurred while updating to ${assetProfileIdentifier.symbol} (${assetProfileIdentifier.dataSource}).`, + undefined, + { + duration: ms('3 seconds') + } + ); + } + + return EMPTY; + }), + takeUntil(this.unsubscribeSubject) + ) + .subscribe(() => { + const newAssetProfileIdentifier = { + dataSource: assetProfileIdentifier.dataSource, + symbol: assetProfileIdentifier.symbol + }; + + this.dialogRef.close(newAssetProfileIdentifier); + }); + } + public onTestMarketData() { this.adminService .testMarketData({ @@ -422,4 +555,24 @@ export class AssetProfileDialog implements OnDestroy, OnInit { this.unsubscribeSubject.next(); this.unsubscribeSubject.complete(); } + + public onTriggerSubmitAssetProfileForm() { + if (this.assetProfileForm) { + this.assetProfileFormElement.nativeElement.requestSubmit(); + } + } + + private isNewSymbolValid(control: AbstractControl): ValidationErrors { + const currentAssetProfileIdentifier: AssetProfileIdentifier | undefined = + control.get('assetProfileIdentifier').value; + + if ( + currentAssetProfileIdentifier?.dataSource === this.data?.dataSource && + currentAssetProfileIdentifier?.symbol === this.data?.symbol + ) { + return { + equalsPreviousProfileIdentifier: true + }; + } + } } diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html index 595ec28cb..f1e8a40bd 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1,9 +1,4 @@ -
    +

    {{ assetProfile?.name ?? data.symbol }} @@ -91,21 +86,84 @@ />
    -
    - Symbol -
    -
    - Data Source -
    + @if (isEditAssetProfileIdentifierMode) { +
    + + + Name, symbol or ISIN + + + + + +
    + } @else { +
    + Symbol +
    +
    + Data Source +
    + +
    +
    + }
    Currency -
    - - Name - - -
    - @if (assetProfile?.dataSource === 'MANUAL') { +
    - Currency - + Name +
    - } -
    - - Asset Class - - - @for (assetClass of assetClasses; track assetClass) { - {{ - assetClass.label - }} - } - - -
    -
    - - Asset Sub Class - - - @for (assetSubClass of assetSubClasses; track assetSubClass) { - {{ - assetSubClass.label - }} - } - - -
    -
    -
    - Benchmark + @if (assetProfile?.dataSource === 'MANUAL') { +
    + + Currency + + +
    + } +
    + + Asset Class + + + @for (assetClass of assetClasses; track assetClass) { + {{ + assetClass.label + }} + } + +
    -
    -
    - - Symbol Mapping - - -
    - @if (assetProfile?.dataSource === 'MANUAL') { -
    - - + + Asset Sub Class + + + @for (assetSubClass of assetSubClasses; track assetSubClass) { + {{ + assetSubClass.label + }} + } + + +
    +
    +
    + Benchmark - - Scraper Configuration - -
    -
    - - Default Market Price - - -
    -
    - - HTTP Request Headers - - -
    -
    - - Locale - - -
    -
    - - Mode - - @for (modeValue of modeValues; track modeValue) { - {{ - modeValue.viewValue - }} - } - - -
    -
    - - - Selector* - - - -
    -
    - - - Url* - - - -
    -
    - -
    -
    - - +
    - } - @if (assetProfile?.dataSource === 'MANUAL') { -
    +
    - Sectors + Symbol Mapping
    + @if (assetProfile?.dataSource === 'MANUAL') { +
    + + + + Scraper Configuration + +
    +
    + + Default Market Price + + +
    +
    + + HTTP Request Headers + + +
    +
    + + Locale + + +
    +
    + + Mode + + @for (modeValue of modeValues; track modeValue) { + {{ + modeValue.viewValue + }} + } + + +
    +
    + + + Selector* + + + +
    +
    + + + Url* + + + +
    +
    + +
    +
    +
    +
    +
    + } + @if (assetProfile?.dataSource === 'MANUAL') { +
    + + Sectors + + +
    +
    + + Countries + + +
    + }
    + + Url + + @if (assetProfileForm.get('url').value) { + + } + +
    +
    - Countries + Note
    - } -
    - - Url - - @if (assetProfileForm.get('url').value) { - - } - -
    -
    - - Note - - -
    +
    @@ -433,10 +517,10 @@
    - +
    diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts index 9b9876dbc..bef8c198e 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts @@ -4,6 +4,7 @@ import { GfCurrencySelectorComponent } from '@ghostfolio/ui/currency-selector'; import { GfHistoricalMarketDataEditorComponent } from '@ghostfolio/ui/historical-market-data-editor'; import { GfLineChartComponent } from '@ghostfolio/ui/line-chart'; import { GfPortfolioProportionChartComponent } from '@ghostfolio/ui/portfolio-proportion-chart'; +import { GfSymbolAutocompleteComponent } from '@ghostfolio/ui/symbol-autocomplete'; import { GfValueComponent } from '@ghostfolio/ui/value'; import { TextFieldModule } from '@angular/cdk/text-field'; @@ -31,6 +32,7 @@ import { AssetProfileDialog } from './asset-profile-dialog.component'; GfHistoricalMarketDataEditorComponent, GfLineChartComponent, GfPortfolioProportionChartComponent, + GfSymbolAutocompleteComponent, GfValueComponent, MatButtonModule, MatCheckboxModule, diff --git a/apps/client/src/app/core/paths.ts b/apps/client/src/app/core/paths.ts index 801228bba..17ce75c7c 100644 --- a/apps/client/src/app/core/paths.ts +++ b/apps/client/src/app/core/paths.ts @@ -7,5 +7,6 @@ export const paths = { pricing: $localize`pricing`, privacyPolicy: $localize`privacy-policy`, register: $localize`register`, - resources: $localize`resources` + resources: $localize`resources`, + termsOfService: $localize`terms-of-service` }; diff --git a/apps/client/src/app/pages/about/about-page-routing.module.ts b/apps/client/src/app/pages/about/about-page-routing.module.ts index 060030930..a7312001f 100644 --- a/apps/client/src/app/pages/about/about-page-routing.module.ts +++ b/apps/client/src/app/pages/about/about-page-routing.module.ts @@ -44,6 +44,13 @@ const routes: Routes = [ import('./privacy-policy/privacy-policy-page.module').then( (m) => m.PrivacyPolicyPageModule ) + }, + { + path: paths.termsOfService, + loadChildren: () => + import('./terms-of-service/terms-of-service-page.module').then( + (m) => m.TermsOfServicePageModule + ) } ], component: AboutPageComponent, diff --git a/apps/client/src/app/pages/about/about-page.component.ts b/apps/client/src/app/pages/about/about-page.component.ts index 399cba238..46a080383 100644 --- a/apps/client/src/app/pages/about/about-page.component.ts +++ b/apps/client/src/app/pages/about/about-page.component.ts @@ -41,7 +41,7 @@ export class AboutPageComponent implements OnDestroy, OnInit { .subscribe((state) => { this.tabs = [ { - iconName: 'reader-outline', + iconName: 'information-circle-outline', label: $localize`About`, path: ['/' + $localize`about`] }, @@ -53,7 +53,8 @@ export class AboutPageComponent implements OnDestroy, OnInit { { iconName: 'ribbon-outline', label: $localize`License`, - path: ['/' + $localize`about`, $localize`license`] + path: ['/' + $localize`about`, $localize`license`], + showCondition: !this.hasPermissionForSubscription } ]; @@ -64,6 +65,14 @@ export class AboutPageComponent implements OnDestroy, OnInit { path: ['/' + $localize`about`, $localize`privacy-policy`], showCondition: this.hasPermissionForSubscription }); + + this.tabs.push({ + iconName: 'document-text-outline', + label: $localize`Terms of Service`, + path: ['/' + $localize`about`, $localize`terms-of-service`], + showCondition: this.hasPermissionForSubscription + }); + this.user = state.user; this.changeDetectorRef.markForCheck(); diff --git a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts index f08b4365d..0dc1aab13 100644 --- a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts +++ b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.component.ts @@ -3,9 +3,9 @@ import { Subject } from 'rxjs'; @Component({ selector: 'gf-privacy-policy-page', + standalone: false, styleUrls: ['./privacy-policy-page.scss'], - templateUrl: './privacy-policy-page.html', - standalone: false + templateUrl: './privacy-policy-page.html' }) export class PrivacyPolicyPageComponent implements OnDestroy { private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.scss b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.scss index b90d23078..4bba9df47 100644 --- a/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.scss +++ b/apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.scss @@ -12,6 +12,14 @@ color: rgba(var(--palette-primary-300), 1); } } + + h2 { + font-size: 1.5rem; + } + + h3 { + font-size: 1.25rem; + } } } } diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts new file mode 100644 index 000000000..4a32e23ed --- /dev/null +++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -0,0 +1,21 @@ +import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; + +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { TermsOfServicePageComponent } from './terms-of-service-page.component'; + +const routes: Routes = [ + { + canActivate: [AuthGuard], + component: TermsOfServicePageComponent, + path: '', + title: $localize`Terms of Service` + } +]; + +@NgModule({ + exports: [RouterModule], + imports: [RouterModule.forChild(routes)] +}) +export class TermsOfServicePageRoutingModule {} diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.component.ts b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.component.ts new file mode 100644 index 000000000..bd4e126ac --- /dev/null +++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.component.ts @@ -0,0 +1,17 @@ +import { Component, OnDestroy } from '@angular/core'; +import { Subject } from 'rxjs'; + +@Component({ + selector: 'gf-terms-of-service-page', + standalone: false, + styleUrls: ['./terms-of-service-page.scss'], + templateUrl: './terms-of-service-page.html' +}) +export class TermsOfServicePageComponent implements OnDestroy { + private unsubscribeSubject = new Subject(); + + public ngOnDestroy() { + this.unsubscribeSubject.next(); + this.unsubscribeSubject.complete(); + } +} diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html new file mode 100644 index 000000000..b178ca138 --- /dev/null +++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html @@ -0,0 +1,10 @@ +
    +
    +
    +

    + Terms of Service +

    + +
    +
    +
    diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.module.ts b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.module.ts new file mode 100644 index 000000000..5861cbb16 --- /dev/null +++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { MarkdownModule } from 'ngx-markdown'; + +import { TermsOfServicePageRoutingModule } from './terms-of-service-page-routing.module'; +import { TermsOfServicePageComponent } from './terms-of-service-page.component'; + +@NgModule({ + declarations: [TermsOfServicePageComponent], + imports: [ + CommonModule, + MarkdownModule.forChild(), + TermsOfServicePageRoutingModule + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class TermsOfServicePageModule {} diff --git a/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.scss b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.scss new file mode 100644 index 000000000..4bba9df47 --- /dev/null +++ b/apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.scss @@ -0,0 +1,29 @@ +:host { + color: rgb(var(--dark-primary-text)); + display: block; + + ::ng-deep { + markdown { + a { + color: rgba(var(--palette-primary-500), 1); + font-weight: 500; + + &:hover { + color: rgba(var(--palette-primary-300), 1); + } + } + + h2 { + font-size: 1.5rem; + } + + h3 { + font-size: 1.25rem; + } + } + } +} + +:host-context(.theme-dark) { + color: rgb(var(--light-primary-text)); +} diff --git a/apps/client/src/app/pages/register/register-page.component.ts b/apps/client/src/app/pages/register/register-page.component.ts index 66a5f4beb..11b81c32a 100644 --- a/apps/client/src/app/pages/register/register-page.component.ts +++ b/apps/client/src/app/pages/register/register-page.component.ts @@ -11,6 +11,7 @@ import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; +import { ShowAccessTokenDialogParams } from './show-access-token-dialog/interfaces/interfaces'; import { ShowAccessTokenDialog } from './show-access-token-dialog/show-access-token-dialog.component'; @Component({ @@ -24,6 +25,7 @@ export class RegisterPageComponent implements OnDestroy, OnInit { public demoAuthToken: string; public deviceType: string; public hasPermissionForSocialLogin: boolean; + public hasPermissionForSubscription: boolean; public hasPermissionToCreateUser: boolean; public historicalDataItems: LineChartItem[]; public info: InfoItem; @@ -52,6 +54,10 @@ export class RegisterPageComponent implements OnDestroy, OnInit { globalPermissions, permissions.enableSocialLogin ); + this.hasPermissionForSubscription = hasPermission( + globalPermissions, + permissions.enableSubscription + ); this.hasPermissionToCreateUser = hasPermission( globalPermissions, permissions.createUserAccount @@ -70,6 +76,10 @@ export class RegisterPageComponent implements OnDestroy, OnInit { public openShowAccessTokenDialog() { const dialogRef = this.dialog.open(ShowAccessTokenDialog, { + data: { + deviceType: this.deviceType, + needsToAcceptTermsOfService: this.hasPermissionForSubscription + } as ShowAccessTokenDialogParams, disableClose: true, height: this.deviceType === 'mobile' ? '98vh' : undefined, width: this.deviceType === 'mobile' ? '100vw' : '30rem' diff --git a/apps/client/src/app/pages/register/show-access-token-dialog/interfaces/interfaces.ts b/apps/client/src/app/pages/register/show-access-token-dialog/interfaces/interfaces.ts new file mode 100644 index 000000000..c32acac40 --- /dev/null +++ b/apps/client/src/app/pages/register/show-access-token-dialog/interfaces/interfaces.ts @@ -0,0 +1,4 @@ +export interface ShowAccessTokenDialogParams { + deviceType: string; + needsToAcceptTermsOfService: boolean; +} diff --git a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts index c6535bf48..6dd15045b 100644 --- a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts +++ b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts @@ -4,12 +4,16 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, + Inject, ViewChild } from '@angular/core'; +import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { MatStepper } from '@angular/material/stepper'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; +import { ShowAccessTokenDialogParams } from './interfaces/interfaces'; + @Component({ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'gf-show-access-token-dialog', @@ -25,11 +29,16 @@ export class ShowAccessTokenDialog { public isCreateAccountButtonDisabled = true; public isDisclaimerChecked = false; public role: string; + public routerLinkAboutTermsOfService = [ + '/' + $localize`:snake-case:about`, + $localize`:snake-case:terms-of-service` + ]; private unsubscribeSubject = new Subject(); public constructor( private changeDetectorRef: ChangeDetectorRef, + @Inject(MAT_DIALOG_DATA) public data: ShowAccessTokenDialogParams, private dataService: DataService ) {} diff --git a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html index 96c5c967a..7e09c8bbe 100644 --- a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html +++ b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -5,7 +5,12 @@ }

    - + Terms and Conditions
    @@ -15,14 +20,28 @@ >
    I understand that if I lose my security token, I cannot recover my - account. + @if (data.needsToAcceptTermsOfService) { +   + and I agree to the +
    Terms of Service. + } @else { + . + }
    @@ -35,7 +54,8 @@ [disabled]="!isDisclaimerChecked" (click)="createAccount()" > - Continue + Continue +
    @@ -78,8 +98,7 @@ [disabled]="isCreateAccountButtonDisabled" [mat-dialog-close]="authToken" > - Create Account - + Create Account
    diff --git a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.module.ts b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.module.ts index 117c1da00..0c7a6fc85 100644 --- a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.module.ts +++ b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.module.ts @@ -9,6 +9,7 @@ import { MatDialogModule } from '@angular/material/dialog'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatStepperModule } from '@angular/material/stepper'; +import { RouterModule } from '@angular/router'; import { ShowAccessTokenDialog } from './show-access-token-dialog.component'; @@ -25,6 +26,7 @@ import { ShowAccessTokenDialog } from './show-access-token-dialog.component'; MatInputModule, MatStepperModule, ReactiveFormsModule, + RouterModule, TextFieldModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] diff --git a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.scss b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.scss index 777c8c854..0198e38bf 100644 --- a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.scss +++ b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.scss @@ -1,6 +1,16 @@ :host { + --mat-dialog-with-actions-content-padding: 0; + + a { + color: rgba(var(--palette-primary-500), 1); + font-weight: 500; + + &:hover { + color: rgba(var(--palette-primary-300), 1); + } + } + .mat-mdc-dialog-actions { - padding-left: 0 !important; - padding-right: 0 !important; + padding: 0 !important; } } diff --git a/apps/client/src/app/services/admin.service.ts b/apps/client/src/app/services/admin.service.ts index fea3924e9..d03eb44e3 100644 --- a/apps/client/src/app/services/admin.service.ts +++ b/apps/client/src/app/services/admin.service.ts @@ -203,20 +203,23 @@ export class AdminService { return this.http.get(url); } - public patchAssetProfile({ - assetClass, - assetSubClass, - comment, - countries, - currency, - dataSource, - name, - scraperConfiguration, - sectors, - symbol, - symbolMapping, - url - }: AssetProfileIdentifier & UpdateAssetProfileDto) { + public patchAssetProfile( + { dataSource, symbol }: AssetProfileIdentifier, + { + assetClass, + assetSubClass, + comment, + countries, + currency, + dataSource: newDataSource, + name, + scraperConfiguration, + sectors, + symbol: newSymbol, + symbolMapping, + url + }: UpdateAssetProfileDto + ) { return this.http.patch( `/api/v1/admin/profile-data/${dataSource}/${symbol}`, { @@ -225,9 +228,11 @@ export class AdminService { comment, countries, currency, + dataSource: newDataSource, name, scraperConfiguration, sectors, + symbol: newSymbol, symbolMapping, url } diff --git a/apps/client/src/assets/privacy-policy.md b/apps/client/src/assets/privacy-policy.md index 6170c4757..6eea207c3 100644 --- a/apps/client/src/assets/privacy-policy.md +++ b/apps/client/src/assets/privacy-policy.md @@ -1,5 +1,3 @@ -Last updated: June 18, 2022 - This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You. We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy. @@ -16,7 +14,7 @@ For the purposes of this Privacy Policy: - **Account** means a unique account created for You to access our Service or parts of our Service. - **Application** means the software program provided by the Company downloaded by You on any electronic device, named Ghostfolio App. -- **Company** (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Ghostfolio. +- **Company** (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Ghostfolio LLC. - **Country** refers to: Switzerland - **Device** means any device that can access the Service such as a computer, a cellphone or a digital tablet. - **Personal Data** is any information that relates to an identified or identifiable individual. @@ -78,3 +76,5 @@ You are advised to review this Privacy Policy periodically for any changes. Chan ## Contact Us If you have any questions about this Privacy Policy, You can contact us [here](https://ghostfol.io/en/about). + +Date of Last Revision: March 29, 2025 diff --git a/apps/client/src/assets/terms-of-service.md b/apps/client/src/assets/terms-of-service.md new file mode 100644 index 000000000..d2a6e598d --- /dev/null +++ b/apps/client/src/assets/terms-of-service.md @@ -0,0 +1,58 @@ +This Terms of Service Agreement (hereinafter referred to as the "Agreement") is a legally binding contract between you (hereinafter referred to as the "User" or "You") and Ghostfolio LLC (hereinafter referred to as "LICENSEE") governing your use of the web application and the application programming interface (API) (hereinafter referred to as the "Service") provided by LICENSEE. By either accessing or using the Service, or by downloading data provided by the Service, you agree to be bound by the terms and conditions of this Agreement. If you do not agree to these terms, please do not access or use the Service. + +## Definitions + +
      +
    1. "Service" refers to the services provided by LICENSEE, including, but not limited to, the web application, the application programming interface (API), and the provision of financial market data.
    2. +
    3. "User" refers to any individual or entity that either accesses or uses the Service, or downloads data provided by the Service.
    4. +
    5. "LICENSEE" refers to Ghostfolio LLC, the provider of the Service.
    6. +
    + +## License Grant + +LICENSEE grants the User a non-exclusive, non-transferable, revocable license to access and use the Service, and download data provided by the Service, solely for lawful and non-commercial purposes in accordance with the terms and conditions of this Agreement. + +## Use Restrictions + +The User agrees to the following use restrictions: + +
      +
    1. The Service provided by LICENSEE is for informational and educational purposes only and shall not be used for any commercial purposes.
    2. +
    3. The User shall not distribute, sell, rent, lease, sublicense, or otherwise transfer the data provided by the Service to any third party.
    4. +
    5. The User shall not modify, adapt, reverse engineer, decompile, disassemble, or create derivative works based on the Service.
    6. +
    7. The User shall not use the Service in any manner that violates applicable laws or regulations.
    8. +
    + +## Ownership + +The Service, and all data provided by the Service, is the property of LICENSEE and is protected by intellectual property laws. The User acknowledges that LICENSEE retains all rights, title, and interest in and to the Service. + +## Disclaimer of Warranty + +LICENSEE provides the Service and data provided by the Service "as is" and makes no representations or warranties regarding the accuracy, completeness, or reliability of the Service. The User uses the Service at their own risk. + +## Limitation of Liability + +LICENSEE shall not be liable for any direct, indirect, incidental, special, or consequential damages arising out of or in connection with the use or inability to use the Service or the data provided by the Service. + +## Termination + +This Agreement is effective until terminated by either party. The User may terminate this Agreement by ceasing to use the Service. LICENSEE may terminate this Agreement at any time without notice if the User breaches any of its terms. Upon termination, the User must cease all use of the Service and data provided by the Service. + +## Governing Law + +This Agreement shall be governed by and construed in accordance with the laws of Zurich, Switzerland, without regard to its conflict of law principles. + +## Entire Agreement + +This Agreement constitutes the entire agreement between the User and LICENSEE regarding the Service and supersedes all prior agreements and understandings, whether oral or written. + +## Changes to Agreement + +LICENSEE reserves the right to modify this Agreement at any time. Users are encouraged to review this Agreement periodically for updates. Continued use of the Service after changes to this Agreement constitutes acceptance of the modified terms. + +By accessing or using the Service, or downloading data provided by the Service, the User acknowledges that they have read, understood, and agreed to be bound by this Terms of Service Agreement. + +For any questions or concerns regarding this Agreement, please contact us [here](https://ghostfol.io/en/about). + +Date of Last Revision: March 29, 2025 diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf index 6e2cd1480..c08a8603e 100644 --- a/apps/client/src/locales/messages.ca.xlf +++ b/apps/client/src/locales/messages.ca.xlf @@ -54,7 +54,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -262,7 +262,7 @@ Llicències apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -274,7 +274,7 @@ Preu apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -298,7 +298,7 @@ Política de privacitat apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -310,7 +310,7 @@ Comunitat apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -362,7 +362,7 @@ El risc d’assumir pèrdues en les inversions és substancial. No és recomanable invertir diners que pugui necessitar a curt termini. apps/client/src/app/app.component.html - 214 + 223 @@ -385,6 +385,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -411,11 +415,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -445,6 +453,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -485,7 +497,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -494,7 +506,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -527,7 +539,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -596,7 +608,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -637,7 +649,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -714,7 +726,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -751,7 +763,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -931,7 +943,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1023,7 +1035,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1083,11 +1095,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1211,7 +1223,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1291,7 +1303,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1315,7 +1327,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1451,7 +1463,11 @@ Cancel·lar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1483,7 +1499,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -1495,7 +1511,7 @@ Guardar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1579,11 +1595,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1607,11 +1623,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1631,7 +1647,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1703,7 +1719,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -1751,7 +1767,7 @@ El preu de mercat actual és apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -1759,7 +1775,7 @@ Refrescar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -1767,7 +1783,7 @@ Recopilar Dades Històriques apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -1791,7 +1807,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1803,7 +1819,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -1819,11 +1835,11 @@ Sectors apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1839,11 +1855,11 @@ Països apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1855,7 +1871,7 @@ Referència apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -1863,7 +1879,7 @@ Mapatge de Símbols apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -1871,7 +1887,7 @@ Configuració del Proveïdor de Dades apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -1879,7 +1895,7 @@ Prova apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -1887,11 +1903,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1907,7 +1923,7 @@ Notes apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1945,6 +1961,10 @@ Name, symbol or ISIN Nom, símbol o ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2795,11 +2815,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -3423,7 +3443,7 @@ Locale apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3619,7 +3639,7 @@ About apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -3659,7 +3679,7 @@ Privacy Policy apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -5491,7 +5511,7 @@ Copy to clipboard apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -6979,7 +6999,7 @@ Error apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7621,7 +7641,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 3631d1eff..d45121a83 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -18,7 +18,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -26,7 +26,7 @@ Das Ausfallrisiko beim Börsenhandel kann erheblich sein. Es ist nicht ratsam, Geld zu investieren, welches du kurzfristig benötigst. apps/client/src/app/app.component.html - 214 + 223 @@ -98,7 +98,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -134,7 +134,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -290,7 +290,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -342,7 +342,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -366,7 +366,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -494,7 +494,11 @@ Abbrechen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -526,7 +530,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -538,7 +542,7 @@ Speichern apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -582,7 +586,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -678,7 +682,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -890,7 +894,7 @@ Preise apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -1062,11 +1066,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -1290,11 +1294,11 @@ Sektoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1310,11 +1314,11 @@ Länder apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1462,7 +1466,7 @@ Über Ghostfolio apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -1478,7 +1482,7 @@ Datenschutzbestimmungen apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1598,7 +1602,7 @@ Lizenz apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -1610,7 +1614,7 @@ Datenschutzbestimmungen apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1738,7 +1742,7 @@ Lokalität apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -1850,11 +1854,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -2232,6 +2236,10 @@ Name, symbol or ISIN Name, Symbol oder ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2294,7 +2302,7 @@ Kommentar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2314,11 +2322,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2438,7 +2446,7 @@ In die Zwischenablage kopieren apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -2670,11 +2678,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2690,7 +2698,7 @@ Sektor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2702,7 +2710,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -3198,7 +3206,7 @@ Community apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3258,7 +3266,7 @@ Aktualisieren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -3266,7 +3274,7 @@ Symbol Zuordnung apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -3842,7 +3850,7 @@ Historische Daten herunterladen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -3942,11 +3950,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4334,7 +4342,7 @@ Scraper Konfiguration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -5179,7 +5187,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -5212,7 +5220,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -5295,6 +5303,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -5321,11 +5333,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -5355,6 +5371,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -5378,7 +5398,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -5404,7 +5424,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -5445,7 +5465,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -5522,7 +5542,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -5559,7 +5579,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -5899,7 +5919,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -6183,7 +6203,7 @@ Der aktuelle Marktpreis ist apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6191,7 +6211,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6979,7 +6999,7 @@ Fehler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7621,7 +7641,7 @@ Verzögert apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Sofort apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Standardmarktpreis apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Modus apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selektor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request-Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ Tagesende apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ in Echtzeit apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Nutzungsbedingungen apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Bitte bewahre dein Sicherheits-Token sicher auf. Wenn du es verlierst, kannst du dein Benutzerkonto nicht wiederherstellen. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - Ich nehme zur Kenntnis, dass ich mein Benutzerkonto nicht wiederherstellen kann, wenn ich mein Sicherheits-Token verliere. + + I understand that if I lose my security token, I cannot recover my account + Ich nehme zur Kenntnis, dass ich mein Benutzerkonto nicht wiederherstellen kann, wenn ich mein Sicherheits-Token verliere apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Weiter apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ Hier ist dein Sicherheits-Token. Es ist nur ein einziges Mal sichtbar. Bitte bewahre es sicher auf. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Allgemeine Geschäftsbedingungen + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + allgemeine-geschaeftsbedingungen + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Allgemeine Geschäftsbedingungen + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Allgemeine Geschäftsbedingungen + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + und ich stimme den Allgemeinen Geschäftsbedingungen zu. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () wird bereits verwendet. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + Bei der Änderung zu () ist ein Fehler aufgetreten. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Übernehmen + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index a04b42725..216122b6e 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -19,7 +19,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -27,7 +27,7 @@ El riesgo de pérdida en trading puede ser sustancial. No es aconsejable invertir dinero que puedas necesitar a corto plazo. apps/client/src/app/app.component.html - 214 + 223 @@ -99,7 +99,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -135,7 +135,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -291,7 +291,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -343,7 +343,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -367,7 +367,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -495,7 +495,11 @@ Cancela apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -527,7 +531,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -539,7 +543,7 @@ Guarda apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -583,7 +587,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -679,7 +683,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -891,7 +895,7 @@ Precios apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -1063,11 +1067,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -1291,11 +1295,11 @@ Sectores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1311,11 +1315,11 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1463,7 +1467,7 @@ Sobre apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -1479,7 +1483,7 @@ Política de privacidad apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1599,7 +1603,7 @@ Licencia de uso apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -1611,7 +1615,7 @@ Política de privacidad apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1739,7 +1743,7 @@ Ubicación apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -1851,11 +1855,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -2233,6 +2237,10 @@ Name, symbol or ISIN Nombre, símbolo o ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2295,7 +2303,7 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2315,11 +2323,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2439,7 +2447,7 @@ Copiar al portapapeles apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -2659,11 +2667,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2719,7 +2727,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2731,7 +2739,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -3199,7 +3207,7 @@ Comunidad apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3259,7 +3267,7 @@ Refrescar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -3267,7 +3275,7 @@ Mapeo de símbolos apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -3835,7 +3843,7 @@ Gather Historical Data apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -3943,11 +3951,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4335,7 +4343,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -5180,7 +5188,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -5213,7 +5221,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -5296,6 +5304,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -5322,11 +5334,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -5356,6 +5372,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -5379,7 +5399,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -5405,7 +5425,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -5446,7 +5466,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -5523,7 +5543,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -5560,7 +5580,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -5900,7 +5920,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -6184,7 +6204,7 @@ The current market price is apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6192,7 +6212,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6980,7 +7000,7 @@ Error apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7622,7 +7642,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7630,7 +7650,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7638,7 +7658,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7646,7 +7666,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7654,7 +7674,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7662,7 +7682,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7670,7 +7690,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7678,7 +7698,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7770,7 +7790,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7778,15 +7798,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7794,7 +7814,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7802,7 +7822,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7837,6 +7857,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 51bf580c5..3de2437ca 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -6,7 +6,7 @@ Le risque de perte en investissant peut être important. Il est déconseillé d’investir de l’argent dont vous pourriez avoir besoin à court terme. apps/client/src/app/app.component.html - 214 + 223 @@ -106,7 +106,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -142,7 +142,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -202,11 +202,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -346,7 +346,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -390,7 +390,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -414,7 +414,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -550,7 +550,11 @@ Annuler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -582,7 +586,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -594,7 +598,7 @@ Sauvegarder apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -646,11 +650,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -674,11 +678,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -698,7 +702,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -770,7 +774,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -778,7 +782,7 @@ Rafraîchir apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -786,7 +790,7 @@ Secteur apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -798,7 +802,7 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -814,11 +818,11 @@ Secteurs apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -834,11 +838,11 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -850,7 +854,7 @@ Équivalence de Symboles apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -858,7 +862,7 @@ Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1194,7 +1198,7 @@ Prix apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -1414,11 +1418,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -1806,7 +1810,7 @@ À propos apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -1834,7 +1838,7 @@ License apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -1846,7 +1850,7 @@ Politique de Vie Privée apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1858,7 +1862,7 @@ Politique de Vie Privée apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -2002,7 +2006,7 @@ Communauté apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -2054,7 +2058,7 @@ Paramètres régionaux apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -2468,6 +2472,10 @@ Name, symbol or ISIN Nom, symbole, ou ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2910,7 +2918,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -2934,7 +2942,7 @@ Copier vers le presse-papier apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -3834,7 +3842,7 @@ Obtenir les Données Historiques apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -3942,11 +3950,11 @@ Lien apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4334,7 +4342,7 @@ Configuration du Scraper apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -5179,7 +5187,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -5212,7 +5220,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -5295,6 +5303,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -5321,11 +5333,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -5355,6 +5371,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -5378,7 +5398,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -5404,7 +5424,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -5445,7 +5465,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -5522,7 +5542,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -5559,7 +5579,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -5899,7 +5919,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -6183,7 +6203,7 @@ Le prix actuel du marché est apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6191,7 +6211,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6979,7 +6999,7 @@ Erreur apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7621,7 +7641,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index 287357bc7..d77e5c5aa 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -19,7 +19,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -27,7 +27,7 @@ Il rischio di perdita nel trading può essere notevole. Non è consigliabile investire denaro di cui potresti avere bisogno a breve termine. apps/client/src/app/app.component.html - 214 + 223 @@ -99,7 +99,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -135,7 +135,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -291,7 +291,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -343,7 +343,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -367,7 +367,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -495,7 +495,11 @@ Annulla apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -527,7 +531,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -539,7 +543,7 @@ Salva apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -583,7 +587,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -679,7 +683,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -891,7 +895,7 @@ Prezzi apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -1063,11 +1067,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -1291,11 +1295,11 @@ Settori apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1311,11 +1315,11 @@ Paesi apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1463,7 +1467,7 @@ Informazioni su apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -1479,7 +1483,7 @@ Informativa sulla privacy apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1599,7 +1603,7 @@ Licenza d’uso apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -1611,7 +1615,7 @@ Informativa sulla privacy apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1739,7 +1743,7 @@ Locale apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -1851,11 +1855,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -2233,6 +2237,10 @@ Name, symbol or ISIN Nome, simbolo o ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2295,7 +2303,7 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2315,11 +2323,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2439,7 +2447,7 @@ Copia negli appunti apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -2659,11 +2667,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2719,7 +2727,7 @@ Settore apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2731,7 +2739,7 @@ Paese apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -3199,7 +3207,7 @@ Comunità apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3259,7 +3267,7 @@ Aggiorna apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -3267,7 +3275,7 @@ Mappatura dei simboli apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -3835,7 +3843,7 @@ Raccogli dati storici apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -3943,11 +3951,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4335,7 +4343,7 @@ Configurazione dello scraper apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -5180,7 +5188,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -5213,7 +5221,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -5296,6 +5304,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -5322,11 +5334,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -5356,6 +5372,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -5379,7 +5399,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -5405,7 +5425,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -5446,7 +5466,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -5523,7 +5543,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -5560,7 +5580,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -5900,7 +5920,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -6184,7 +6204,7 @@ L’attuale prezzo di mercato è apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6192,7 +6212,7 @@ Prova apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6980,7 +7000,7 @@ Errore apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7622,7 +7642,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7630,7 +7650,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7638,7 +7658,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7646,7 +7666,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7654,7 +7674,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7662,7 +7682,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7670,7 +7690,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7678,7 +7698,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7770,7 +7790,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7778,15 +7798,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7794,7 +7814,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7802,7 +7822,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7837,6 +7857,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 75478862e..8534f1123 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -18,7 +18,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -26,7 +26,7 @@ Het risico op verlies bij handelen kan aanzienlijk zijn. Het is niet aan te raden om geld te investeren dat je misschien op korte termijn nodig heeft. apps/client/src/app/app.component.html - 214 + 223 @@ -98,7 +98,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -134,7 +134,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -290,7 +290,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -342,7 +342,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -366,7 +366,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -494,7 +494,11 @@ Annuleren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -526,7 +530,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -538,7 +542,7 @@ Opslaan apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -582,7 +586,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -678,7 +682,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -890,7 +894,7 @@ Prijzen apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -1062,11 +1066,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -1290,11 +1294,11 @@ Sectoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1310,11 +1314,11 @@ Landen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1462,7 +1466,7 @@ Over apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -1478,7 +1482,7 @@ Privacybeleid apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1598,7 +1602,7 @@ Licentie apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -1610,7 +1614,7 @@ Privacybeleid apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1738,7 +1742,7 @@ Locatie apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -1850,11 +1854,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -2232,6 +2236,10 @@ Name, symbol or ISIN Naam, symbool of ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2294,7 +2302,7 @@ Opmerking apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2314,11 +2322,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2438,7 +2446,7 @@ Kopieer naar klembord apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -2658,11 +2666,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2718,7 +2726,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2730,7 +2738,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -3198,7 +3206,7 @@ Gemeenschap apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3258,7 +3266,7 @@ Vernieuwen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -3266,7 +3274,7 @@ Symbool toewijzen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -3842,7 +3850,7 @@ Historische gegevens verzamelen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -3942,11 +3950,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4334,7 +4342,7 @@ Scraper instellingen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -5179,7 +5187,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -5212,7 +5220,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -5295,6 +5303,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -5321,11 +5333,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -5355,6 +5371,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -5378,7 +5398,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -5404,7 +5424,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -5445,7 +5465,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -5522,7 +5542,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -5559,7 +5579,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -5899,7 +5919,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -6183,7 +6203,7 @@ The current market price is apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6191,7 +6211,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6979,7 +6999,7 @@ Error apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7621,7 +7641,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index 5017598b0..a4106e3ad 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -21,6 +21,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -47,11 +51,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -81,6 +89,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -96,7 +108,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -129,7 +141,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -215,7 +227,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -256,7 +268,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -341,7 +353,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -350,7 +362,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -387,7 +399,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -471,7 +483,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -679,7 +691,7 @@ Licencja apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -691,7 +703,7 @@ Cennik apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -715,7 +727,7 @@ Polityka Prywatności apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -727,7 +739,7 @@ Społeczność apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -779,7 +791,7 @@ Ryzyko strat na rynku może być znaczne. Nie jest zalecane inwestowanie pieniędzy, które mogą być potrzebne w krótkim okresie. apps/client/src/app/app.component.html - 214 + 223 @@ -887,7 +899,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -951,7 +963,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1011,11 +1023,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1139,7 +1151,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1199,7 +1211,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1223,7 +1235,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1343,7 +1355,11 @@ Anuluj apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1375,7 +1391,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -1387,7 +1403,7 @@ Zapisz apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1471,11 +1487,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1499,11 +1515,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1523,7 +1539,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1595,7 +1611,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -1611,7 +1627,7 @@ Odśwież apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -1619,7 +1635,7 @@ Zbierz Dane Historyczne apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -1643,7 +1659,7 @@ Sektor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1655,7 +1671,7 @@ Kraj apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -1671,11 +1687,11 @@ Sektory apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1691,11 +1707,11 @@ Kraje apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1707,7 +1723,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -1715,7 +1731,7 @@ Mapowanie Symboli apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -1723,7 +1739,7 @@ Konfiguracja Scrapera apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -1731,7 +1747,7 @@ Notatka apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1769,6 +1785,10 @@ Name, symbol or ISIN Nazwa, symbol lub ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -1931,11 +1951,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2451,11 +2471,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -3131,7 +3151,7 @@ Ustawienia Regionalne apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3307,7 +3327,7 @@ O Ghostfolio apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -3347,7 +3367,7 @@ Polityka Prywatności apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -5063,7 +5083,7 @@ Kopiuj do schowka apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -6183,7 +6203,7 @@ Obecna cena rynkowa wynosi apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6191,7 +6211,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6979,7 +6999,7 @@ Błąd apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7621,7 +7641,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 9258dea10..1655d1cd9 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -6,7 +6,7 @@ O risco de perda em investimentos pode ser substancial. Não é aconselhável investir dinheiro que possa vir a precisar a curto prazo. apps/client/src/app/app.component.html - 214 + 223 @@ -106,7 +106,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -142,7 +142,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -202,11 +202,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -346,7 +346,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -390,7 +390,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -414,7 +414,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -550,7 +550,11 @@ Cancelar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -582,7 +586,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -594,7 +598,7 @@ Guardar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -646,11 +650,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -674,11 +678,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -698,7 +702,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -770,7 +774,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -1066,7 +1070,7 @@ Preços apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -1294,11 +1298,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -1566,7 +1570,7 @@ Setor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1578,7 +1582,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -1594,11 +1598,11 @@ Setores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1614,11 +1618,11 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1790,7 +1794,7 @@ Sobre apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -1818,7 +1822,7 @@ Licença apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -1830,7 +1834,7 @@ Política de Privacidade apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1842,7 +1846,7 @@ Política de Privacidade apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -1998,7 +2002,7 @@ Localidade apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -2380,6 +2384,10 @@ Name, symbol or ISIN Nome, símbolo or ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2426,7 +2434,7 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2806,7 +2814,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -2830,7 +2838,7 @@ Copiar para a área de transferência apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -3218,7 +3226,7 @@ Atualizar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -3226,7 +3234,7 @@ Mapeamento de Símbolo apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -3242,7 +3250,7 @@ Comunidade apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3834,7 +3842,7 @@ Obter Dados Históricos apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -3942,11 +3950,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4334,7 +4342,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -5179,7 +5187,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -5212,7 +5220,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -5295,6 +5303,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -5321,11 +5333,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -5355,6 +5371,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -5378,7 +5398,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -5404,7 +5424,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -5445,7 +5465,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -5522,7 +5542,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -5559,7 +5579,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -5899,7 +5919,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -6183,7 +6203,7 @@ The current market price is apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6191,7 +6211,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6979,7 +6999,7 @@ Error apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7621,7 +7641,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index 8f0b60c0f..19bded869 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -21,6 +21,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -47,11 +51,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -81,6 +89,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -96,7 +108,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -129,7 +141,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -215,7 +227,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -256,7 +268,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -341,7 +353,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -350,7 +362,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -387,7 +399,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -651,7 +663,7 @@ Lisans apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -663,7 +675,7 @@ Fiyatlandırma apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -687,7 +699,7 @@ Gizlilik Politikası apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -699,7 +711,7 @@ Topluluk apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -751,7 +763,7 @@ Alım satımda kayıp riski büyük boyutta olabilir. Kısa vadede ihtiyaç duyabileceğiniz parayla yatırım yapmak tavsiye edilmez. apps/client/src/app/app.component.html - 214 + 223 @@ -875,7 +887,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -911,7 +923,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -971,11 +983,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1099,7 +1111,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1143,7 +1155,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1167,7 +1179,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1303,7 +1315,11 @@ İptal apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1335,7 +1351,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -1347,7 +1363,7 @@ Kaydet apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1423,11 +1439,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1451,11 +1467,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1475,7 +1491,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1547,7 +1563,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -1555,7 +1571,7 @@ Yenile apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -1563,7 +1579,7 @@ Tarihsel Veriyi Getir apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -1571,7 +1587,7 @@ Sektör apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1583,7 +1599,7 @@ Ülke apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -1599,11 +1615,11 @@ Sektörler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1619,11 +1635,11 @@ Ülkeler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1635,7 +1651,7 @@ Sembol Eşleştirme apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -1643,7 +1659,7 @@ Veri Toplayıcı Yapılandırması apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -1651,7 +1667,7 @@ Not apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1673,6 +1689,10 @@ Name, symbol or ISIN Ad, sembol ya da ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -1835,11 +1855,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2299,11 +2319,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -2883,7 +2903,7 @@ Hakkında apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -2923,7 +2943,7 @@ Gizlilik Politikası apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -4523,7 +4543,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -4547,7 +4567,7 @@ Panoya Kopyala apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -5023,7 +5043,7 @@ Yerel Ayarlar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -5899,7 +5919,7 @@ Kıyaslama apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -6183,7 +6203,7 @@ The current market price is apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6191,7 +6211,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6979,7 +6999,7 @@ Error apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7621,7 +7641,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ gün sonu apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ gerçek zamanlı apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Hükümler ve Koşullar apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Lütfen güvenlik tokenınızı güvende tutun. Kaybetmeniz halinde hesabınızı kurtarmanız mümkün olmayacaktır. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - Güvenlik belirtecimi kaybedersem hesabımı kurtaramayacağımı anlıyorum. + + I understand that if I lose my security token, I cannot recover my account + Güvenlik belirtecimi kaybedersem hesabımı kurtaramayacağımı anlıyorum. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Devam et apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ İşte güvenlik belirteciniz. Yalnızca bir kez görülebilir, lütfen saklayın ve güvenli bir yerde muhafaza edin. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf index bc3f708ce..86c916c15 100644 --- a/apps/client/src/locales/messages.uk.xlf +++ b/apps/client/src/locales/messages.uk.xlf @@ -54,7 +54,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -262,7 +262,7 @@ Ліцензія apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -274,7 +274,7 @@ Ціни apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -298,7 +298,7 @@ Політика конфіденційності apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -310,7 +310,7 @@ Спільнота apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -362,7 +362,7 @@ Ризик втрат у торгівлі може бути суттєвим. Не рекомендується інвестувати гроші, які можуть знадобитися в короткостроковій перспективі. apps/client/src/app/app.component.html - 214 + 223 @@ -385,6 +385,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -411,11 +415,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -445,6 +453,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -485,7 +497,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -494,7 +506,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -527,7 +539,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -596,7 +608,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -637,7 +649,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -714,7 +726,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -751,7 +763,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -947,7 +959,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1039,7 +1051,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1099,11 +1111,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1227,7 +1239,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1315,7 +1327,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1339,7 +1351,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1475,11 +1487,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1503,11 +1515,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1543,7 +1555,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1615,7 +1627,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -1655,7 +1667,7 @@ Помилка apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -1663,7 +1675,7 @@ Поточна ринкова ціна apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -1671,7 +1683,7 @@ Оновити apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -1679,7 +1691,7 @@ Зібрати історичні дані apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -1687,7 +1699,7 @@ Сектор apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1699,7 +1711,7 @@ Країна apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -1715,11 +1727,11 @@ Сектори apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1735,11 +1747,11 @@ Країни apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1751,7 +1763,7 @@ Порівняльний показник apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -1759,7 +1771,7 @@ Зіставлення символів apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -1767,7 +1779,7 @@ Конфігурація скребка apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -1775,7 +1787,7 @@ Тест apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -1783,11 +1795,11 @@ URL apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1803,7 +1815,7 @@ Примітка apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1819,7 +1831,11 @@ Скасувати apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1851,7 +1867,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -1863,7 +1879,7 @@ Зберегти apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1933,6 +1949,10 @@ Name, symbol or ISIN Назва, символ або ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -2923,11 +2943,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -3671,7 +3691,7 @@ Локалізація apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3851,7 +3871,7 @@ Про нас apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -3891,7 +3911,7 @@ Політика конфіденційності apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -5839,7 +5859,7 @@ Копіювати в буфер обміну apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -7621,7 +7641,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7629,7 +7649,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7637,7 +7657,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7645,7 +7665,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7653,7 +7673,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7661,7 +7681,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7669,7 +7689,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7677,7 +7697,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7769,7 +7789,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7777,15 +7797,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7793,7 +7813,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7801,7 +7821,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7836,6 +7856,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 51c50ec50..b30e143da 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -21,6 +21,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -47,11 +51,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -81,6 +89,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -95,7 +107,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -127,7 +139,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -211,7 +223,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -251,7 +263,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -335,7 +347,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -343,7 +355,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -379,7 +391,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -461,7 +473,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -660,7 +672,7 @@ License apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -671,7 +683,7 @@ Pricing apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -694,7 +706,7 @@ Privacy Policy apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -705,7 +717,7 @@ Community apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -756,7 +768,7 @@ The risk of loss in trading can be substantial. It is not advisable to invest money you may need in the short term. apps/client/src/app/app.component.html - 214 + 223 @@ -855,7 +867,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -923,7 +935,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -981,11 +993,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1106,7 +1118,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1162,7 +1174,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1185,7 +1197,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1293,7 +1305,11 @@ Cancel apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1325,7 +1341,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -1336,7 +1352,7 @@ Save apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1414,11 +1430,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1441,11 +1457,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1464,7 +1480,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1529,7 +1545,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -1543,14 +1559,14 @@ Refresh apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 Gather Historical Data apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -1572,7 +1588,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1583,7 +1599,7 @@ Country apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -1598,11 +1614,11 @@ Sectors apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1617,11 +1633,11 @@ Countries apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1632,28 +1648,28 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 Symbol Mapping apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1687,6 +1703,10 @@ Name, symbol or ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -1830,11 +1850,11 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2298,11 +2318,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -2913,7 +2933,7 @@ Locale apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3071,7 +3091,7 @@ About apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -3108,7 +3128,7 @@ Privacy Policy apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -4641,7 +4661,7 @@ Copy to clipboard apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -5637,14 +5657,14 @@ The current market price is apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6331,7 +6351,7 @@ Error apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -6895,56 +6915,56 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7021,39 +7041,39 @@ 42 - - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7084,6 +7104,79 @@ 96 + + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index 62e76d15a..b7012faea 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -22,6 +22,10 @@ apps/client/src/app/app.component.ts 75 + + apps/client/src/app/app.component.ts + 79 + apps/client/src/app/components/header/header.component.ts 82 @@ -48,11 +52,15 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/about-page.component.ts - 75 + 72 + + + apps/client/src/app/pages/about/about-page.component.ts + 84 apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -82,6 +90,10 @@ apps/client/src/app/pages/landing/landing-page.component.ts 27 + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 33 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts 19 @@ -97,7 +109,7 @@ snake-case apps/client/src/app/app.component.ts - 78 + 82 apps/client/src/app/core/paths.ts @@ -130,7 +142,7 @@ snake-case apps/client/src/app/app.component.ts - 79 + 83 apps/client/src/app/components/header/header.component.ts @@ -216,7 +228,7 @@ snake-case apps/client/src/app/app.component.ts - 80 + 84 apps/client/src/app/components/header/header.component.ts @@ -257,7 +269,7 @@ snake-case apps/client/src/app/app.component.ts - 81 + 85 apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -342,7 +354,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 @@ -351,7 +363,7 @@ snake-case apps/client/src/app/app.component.ts - 82 + 86 apps/client/src/app/components/header/header.component.ts @@ -388,7 +400,7 @@ snake-case apps/client/src/app/app.component.ts - 83 + 87 apps/client/src/app/components/header/header.component.ts @@ -472,7 +484,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 81 + 101 @@ -680,7 +692,7 @@ 许可 apps/client/src/app/app.component.html - 88 + 89 apps/client/src/app/pages/about/license/license-page.html @@ -692,7 +704,7 @@ 价钱 apps/client/src/app/app.component.html - 97 + 99 apps/client/src/app/components/header/header.component.html @@ -716,7 +728,7 @@ 隐私政策 apps/client/src/app/app.component.html - 103 + 105 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html @@ -728,7 +740,7 @@ 社区 apps/client/src/app/app.component.html - 121 + 130 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -780,7 +792,7 @@ 交易损失的风险可能很大。不建议将短期内可能需要的资金进行投资。 apps/client/src/app/app.component.html - 214 + 223 @@ -888,7 +900,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 131 + 189 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -960,7 +972,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 207 + 271 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1020,11 +1032,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 111 + 169 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 214 + 278 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1148,7 +1160,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 65 + 60 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1208,7 +1220,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 96 + 137 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1232,7 +1244,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 106 + 147 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1352,7 +1364,11 @@ 取消 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 432 + 130 + + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 516 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1384,7 +1400,7 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 29 + 48 libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html @@ -1396,7 +1412,7 @@ 保存 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 439 + 523 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1480,11 +1496,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 140 + 198 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 224 + 288 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1508,11 +1524,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 149 + 207 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 237 + 301 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1532,7 +1548,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 122 + 180 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1604,7 +1620,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 45 + 40 @@ -1620,7 +1636,7 @@ 刷新 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 22 + 17 @@ -1628,7 +1644,7 @@ 收集历史数据 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 32 + 27 @@ -1652,7 +1668,7 @@ 行业 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 166 + 224 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1664,7 +1680,7 @@ 国家 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 177 + 235 apps/client/src/app/components/admin-users/admin-users.html @@ -1680,11 +1696,11 @@ 行业 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 183 + 241 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 466 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1700,11 +1716,11 @@ 国家 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 193 + 251 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 394 + 477 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1716,7 +1732,7 @@ 基准 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 265 + 330 @@ -1724,7 +1740,7 @@ 符号映射 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 271 + 336 @@ -1732,7 +1748,7 @@ 刮削配置 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 295 + 360 @@ -1740,7 +1756,7 @@ 笔记 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 419 + 502 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1778,6 +1794,10 @@ Name, symbol or ISIN 名称、符号或 ISIN + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 101 + apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html 29 @@ -1940,11 +1960,11 @@ 网址 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 354 + 437 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 406 + 489 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2460,11 +2480,11 @@ apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 44 + 64 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 52 + 72 @@ -3140,7 +3160,7 @@ 语言环境 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 322 + 396 apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -3316,7 +3336,7 @@ 关于 apps/client/src/app/pages/about/about-page-routing.module.ts - 51 + 58 apps/client/src/app/pages/about/about-page.component.ts @@ -3356,7 +3376,7 @@ 隐私政策 apps/client/src/app/pages/about/about-page.component.ts - 63 + 64 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -5072,7 +5092,7 @@ 复制到剪贴板 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 68 + 88 @@ -6192,7 +6212,7 @@ 当前市场价格为 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 399 + 532 @@ -6200,7 +6220,7 @@ 测试 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 372 + 455 @@ -6980,7 +7000,7 @@ Error apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 390 + 523 @@ -7622,7 +7642,7 @@ Lazy apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7630,7 +7650,7 @@ Instant apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7638,7 +7658,7 @@ Default Market Price apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 300 + 368 @@ -7646,7 +7666,7 @@ Mode apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 328 + 405 @@ -7654,7 +7674,7 @@ Selector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 341 + 421 @@ -7662,7 +7682,7 @@ HTTP Request Headers apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 310 + 381 @@ -7670,7 +7690,7 @@ end of day apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 93 + 136 @@ -7678,7 +7698,7 @@ real-time apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts - 97 + 140 @@ -7770,7 +7790,7 @@ Terms and Conditions apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 10 + 15 @@ -7778,15 +7798,15 @@ Please keep your security token safe. If you lose it, you will not be able to recover your account. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 13 + 18 - - I understand that if I lose my security token, I cannot recover my account. - I understand that if I lose my security token, I cannot recover my account. + + I understand that if I lose my security token, I cannot recover my account + I understand that if I lose my security token, I cannot recover my account apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 23 + 28 @@ -7794,7 +7814,7 @@ Continue apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 38 + 57 @@ -7802,7 +7822,7 @@ Here is your security token. It is only visible once, please store and keep it in a safe place. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html - 47 + 67 @@ -7837,6 +7857,87 @@ 96 + + Terms of Service + Terms of Service + + apps/client/src/app/app.component.html + 112 + + + + terms-of-service + terms-of-service + snake-case + + apps/client/src/app/app.component.ts + 80 + + + apps/client/src/app/core/paths.ts + 11 + + + apps/client/src/app/pages/about/about-page.component.ts + 72 + + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts + 34 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/about-page.component.ts + 71 + + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts + 13 + + + + Terms of Service + Terms of Service + + apps/client/src/app/pages/about/terms-of-service/terms-of-service-page.html + 4 + + + + and I agree to the Terms of Service. + and I agree to the Terms of Service. + + apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html + 34 + + + + () is already in use. + () is already in use. + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 458 + + + + An error occurred while updating to (). + An error occurred while updating to (). + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts + 466 + + + + Apply + Apply + + apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html + 122 + + diff --git a/package-lock.json b/package-lock.json index 48aa9d008..795715c9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ghostfolio", - "version": "2.148.0", + "version": "2.149.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ghostfolio", - "version": "2.148.0", + "version": "2.149.0", "hasInstallScript": true, "license": "AGPL-3.0", "dependencies": { @@ -108,17 +108,17 @@ "@eslint/js": "9.18.0", "@nestjs/schematics": "11.0.2", "@nestjs/testing": "11.0.12", - "@nx/angular": "20.5.0", - "@nx/cypress": "20.5.0", - "@nx/eslint-plugin": "20.5.0", - "@nx/jest": "20.5.0", - "@nx/js": "20.5.0", - "@nx/module-federation": "20.5.0", - "@nx/nest": "20.5.0", - "@nx/node": "20.5.0", - "@nx/storybook": "20.5.0", - "@nx/web": "20.5.0", - "@nx/workspace": "20.5.0", + "@nx/angular": "20.6.4", + "@nx/cypress": "20.6.4", + "@nx/eslint-plugin": "20.6.4", + "@nx/jest": "20.6.4", + "@nx/js": "20.6.4", + "@nx/module-federation": "20.6.4", + "@nx/nest": "20.6.4", + "@nx/node": "20.6.4", + "@nx/storybook": "20.6.4", + "@nx/web": "20.6.4", + "@nx/workspace": "20.6.4", "@schematics/angular": "19.2.1", "@storybook/addon-essentials": "8.4.7", "@storybook/addon-interactions": "8.4.7", @@ -145,7 +145,7 @@ "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jest-preset-angular": "14.4.2", - "nx": "20.5.0", + "nx": "20.6.4", "prettier": "3.5.3", "prettier-plugin-organize-attributes": "1.0.0", "prisma": "6.5.0", @@ -3590,9 +3590,9 @@ } }, "node_modules/@emnapi/core": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", - "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.0.tgz", + "integrity": "sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg==", "dev": true, "license": "MIT", "dependencies": { @@ -3601,9 +3601,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", - "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.0.tgz", + "integrity": "sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw==", "dev": true, "license": "MIT", "dependencies": { @@ -5534,242 +5534,833 @@ "langium": "3.0.0" } }, - "node_modules/@module-federation/bridge-react-webpack-plugin": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.9.1.tgz", - "integrity": "sha512-znN/Qm6M0U1t3iF10gu1hSxDkk18yz78yvk+AMB34UDzpXHiC1zbpIeV2CQNV5GCeafmCICmcn9y1qh7F54KTg==", + "node_modules/@modern-js/node-bundle-require": { + "version": "2.65.1", + "resolved": "https://registry.npmjs.org/@modern-js/node-bundle-require/-/node-bundle-require-2.65.1.tgz", + "integrity": "sha512-XpEkciVEfDbkkLUI662ZFlI9tXsUQtLXk4NRJDBGosNnk9uL2XszmC8sKsdCSLK8AYuPW2w6MTVWuJsOR0EU8A==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.9.1", - "@types/semver": "7.5.8", - "semver": "7.6.3" + "@modern-js/utils": "2.65.1", + "@swc/helpers": "0.5.13", + "esbuild": "0.17.19" } }, - "node_modules/@module-federation/bridge-react-webpack-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/@module-federation/data-prefetch": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-0.9.1.tgz", - "integrity": "sha512-rS1AsgRvIMAWK8oMprEBF0YQ3WvsqnumjinvAZU1Dqut5DICmpQMTPEO1OrAKyjO+PQgEhmq13HggzN6ebGLrQ==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/runtime": "0.9.1", - "@module-federation/sdk": "0.9.1", - "fs-extra": "9.1.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@module-federation/dts-plugin": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.9.1.tgz", - "integrity": "sha512-DezBrFaIKfDcEY7UhqyO1WbYocERYsR/CDN8AV6OvMnRlQ8u0rgM8qBUJwx0s+K59f+CFQFKEN4C8p7naCiHrw==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.9.1", - "@module-federation/managers": "0.9.1", - "@module-federation/sdk": "0.9.1", - "@module-federation/third-party-dts-extractor": "0.9.1", - "adm-zip": "^0.5.10", - "ansi-colors": "^4.1.3", - "axios": "^1.7.4", - "chalk": "3.0.0", - "fs-extra": "9.1.0", - "isomorphic-ws": "5.0.0", - "koa": "2.15.4", - "lodash.clonedeepwith": "4.5.0", - "log4js": "6.9.1", - "node-schedule": "2.1.1", - "rambda": "^9.1.0", - "ws": "8.18.0" - }, - "peerDependencies": { - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24" - }, - "peerDependenciesMeta": { - "vue-tsc": { - "optional": true - } + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@module-federation/dts-plugin/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@module-federation/enhanced": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-0.9.1.tgz", - "integrity": "sha512-c9siKVjcgT2gtDdOTqEr+GaP2X/PWAS0OV424ljKLstFL1lcS/BIsxWFDmxPPl5hDByAH+1q4YhC1LWY4LNDQw==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.9.1", - "@module-federation/data-prefetch": "0.9.1", - "@module-federation/dts-plugin": "0.9.1", - "@module-federation/error-codes": "0.9.1", - "@module-federation/inject-external-runtime-core-plugin": "0.9.1", - "@module-federation/managers": "0.9.1", - "@module-federation/manifest": "0.9.1", - "@module-federation/rspack": "0.9.1", - "@module-federation/runtime-tools": "0.9.1", - "@module-federation/sdk": "0.9.1", - "btoa": "^1.2.1", - "upath": "2.0.1" - }, - "peerDependencies": { - "typescript": "^4.9.0 || ^5.0.0", - "vue-tsc": ">=1.0.24", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vue-tsc": { - "optional": true - }, - "webpack": { - "optional": true - } + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@module-federation/error-codes": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.9.1.tgz", - "integrity": "sha512-q8spCvlwUzW42iX1irnlBTcwcZftRNHyGdlaoFO1z/fW4iphnBIfijzkigWQzOMhdPgzqN/up7XN+g5hjBGBtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@module-federation/inject-external-runtime-core-plugin": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-0.9.1.tgz", - "integrity": "sha512-BPfzu1cqDU5BhM493enVF1VfxJWmruen0ktlHrWdJJlcddhZzyFBGaLAGoGc+83fS75aEllvJTEthw4kMViMQQ==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "peerDependencies": { - "@module-federation/runtime-tools": "0.9.1" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@module-federation/managers": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.9.1.tgz", - "integrity": "sha512-8hpIrvGfiODxS1qelTd7eaLRVF7jrp17RWgeH1DWoprxELANxm5IVvqUryB+7j+BhoQzamog9DL5q4MuNfGgIA==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/sdk": "0.9.1", - "find-pkg": "2.0.0", - "fs-extra": "9.1.0" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@module-federation/manifest": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-0.9.1.tgz", - "integrity": "sha512-+GteKBXrAUkq49i2CSyWZXM4vYa+mEVXxR9Du71R55nXXxgbzAIoZj9gxjRunj9pcE8+YpAOyfHxLEdWngxWdg==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/dts-plugin": "0.9.1", - "@module-federation/managers": "0.9.1", - "@module-federation/sdk": "0.9.1", - "chalk": "3.0.0", - "find-pkg": "2.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@module-federation/manifest/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@module-federation/node": { - "version": "2.6.30", - "resolved": "https://registry.npmjs.org/@module-federation/node/-/node-2.6.30.tgz", - "integrity": "sha512-TciyaA7yHg92XFld/pNw+GW3HRb49Ji6WxMYtZpjVqM8AXOvxKWMw3Mt5hnDTfwyGKGz/IWfrZM2pOQdGznrWw==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@module-federation/enhanced": "0.11.1", - "@module-federation/runtime": "0.11.1", - "@module-federation/sdk": "0.11.1", - "@module-federation/utilities": "3.1.48", - "btoa": "1.2.1", - "encoding": "^0.1.13", - "node-fetch": "2.7.0" - }, - "peerDependencies": { - "react": "^16||^17||^18", - "react-dom": "^16||^17||^18", - "webpack": "^5.40.0" - }, - "peerDependenciesMeta": { - "next": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@module-federation/node/node_modules/@module-federation/bridge-react-webpack-plugin": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.11.1.tgz", - "integrity": "sha512-SUoJE7dEQZVUwBGN+mcMxLyQcQT0RAOZfcjp6Jq3uS6dTtEmJiR4KKGAaNYBlaszBh/HxmiM1U+zE3G126O7tQ==", + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/@swc/helpers": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", + "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@modern-js/node-bundle-require/node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/@modern-js/utils": { + "version": "2.65.1", + "resolved": "https://registry.npmjs.org/@modern-js/utils/-/utils-2.65.1.tgz", + "integrity": "sha512-HrChf19F+6nALo5XPra8ycjhXGQfGi23+S7Y2FLfTKe8vaNnky8duT/XvRWpbS4pp3SQj8ryO8m/qWSsJ1Rogw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@swc/helpers": "0.5.13", + "caniuse-lite": "^1.0.30001520", + "lodash": "^4.17.21", + "rslog": "^1.1.0" + } + }, + "node_modules/@modern-js/utils/node_modules/@swc/helpers": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", + "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@module-federation/bridge-react-webpack-plugin": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.9.1.tgz", + "integrity": "sha512-znN/Qm6M0U1t3iF10gu1hSxDkk18yz78yvk+AMB34UDzpXHiC1zbpIeV2CQNV5GCeafmCICmcn9y1qh7F54KTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/sdk": "0.9.1", + "@types/semver": "7.5.8", + "semver": "7.6.3" + } + }, + "node_modules/@module-federation/bridge-react-webpack-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@module-federation/cli": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/cli/-/cli-0.11.2.tgz", + "integrity": "sha512-dIM58VawvWM+UdftVQ/tW8A07LrYRE1260DKJ6feRGbu9NoMV/M35WaNO5HKGHsk1kptXzbZoykkateo7TabrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@modern-js/node-bundle-require": "2.65.1", + "@module-federation/dts-plugin": "0.11.2", + "@module-federation/sdk": "0.11.2", + "chalk": "3.0.0", + "commander": "11.1.0" + }, + "bin": { + "mf": "bin/mf.js" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@module-federation/cli/node_modules/@module-federation/dts-plugin": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.11.2.tgz", + "integrity": "sha512-djZZDq8pTpjfDfXoU2knVOAmjoDWvJHcVScbCNI8zjOtwTvvH26EeOfQligiQxdhsCuGf+MQpeP4o6wqWeJW6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.11.2", + "@module-federation/managers": "0.11.2", + "@module-federation/sdk": "0.11.2", + "@module-federation/third-party-dts-extractor": "0.11.2", + "adm-zip": "^0.5.10", + "ansi-colors": "^4.1.3", + "axios": "^1.8.2", + "chalk": "3.0.0", + "fs-extra": "9.1.0", + "isomorphic-ws": "5.0.0", + "koa": "2.15.4", + "lodash.clonedeepwith": "4.5.0", + "log4js": "6.9.1", + "node-schedule": "2.1.1", + "rambda": "^9.1.0", + "ws": "8.18.0" + }, + "peerDependencies": { + "typescript": "^4.9.0 || ^5.0.0", + "vue-tsc": ">=1.0.24" + }, + "peerDependenciesMeta": { + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/@module-federation/cli/node_modules/@module-federation/error-codes": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.11.2.tgz", + "integrity": "sha512-ik1Qnn0I+WyEdprTck9WGlH41vGsVdUg8cfO+ZM02qOb2cZm5Vu3SlxGAobj6g7uAj0g8yINnd7h7Dci40BxQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/cli/node_modules/@module-federation/managers": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.11.2.tgz", + "integrity": "sha512-nFi0dRgNWpLy0KB85tWhuqbQztTSsUixcbheu/ZSCjVVWShFN6Va2lZg0XyUlXFX/fy4vKrwMBBE5LXxXNubRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/sdk": "0.11.2", + "find-pkg": "2.0.0", + "fs-extra": "9.1.0" + } + }, + "node_modules/@module-federation/cli/node_modules/@module-federation/sdk": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.11.2.tgz", + "integrity": "sha512-SBFe5xOamluT900J4AGBx+2/kCH/JbfqXoUwPSAC6PRzb8Y7LB0posnOGzmqYsLZXT37vp3d6AmJDsVoajDqxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/cli/node_modules/@module-federation/third-party-dts-extractor": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.11.2.tgz", + "integrity": "sha512-rZuFRH43s68O2KED054Pgd9mV18NWME7Q9ZPuAzN1NGNH/J7Nevyt5MJXrHIaopF/2QpcrYNVjIgdqpRp9FJBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-pkg": "2.0.0", + "fs-extra": "9.1.0", + "resolve": "1.22.8" + } + }, + "node_modules/@module-federation/cli/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@module-federation/cli/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/@module-federation/cli/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@module-federation/data-prefetch": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-0.9.1.tgz", + "integrity": "sha512-rS1AsgRvIMAWK8oMprEBF0YQ3WvsqnumjinvAZU1Dqut5DICmpQMTPEO1OrAKyjO+PQgEhmq13HggzN6ebGLrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.9.1", + "@module-federation/sdk": "0.9.1", + "fs-extra": "9.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@module-federation/dts-plugin": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.9.1.tgz", + "integrity": "sha512-DezBrFaIKfDcEY7UhqyO1WbYocERYsR/CDN8AV6OvMnRlQ8u0rgM8qBUJwx0s+K59f+CFQFKEN4C8p7naCiHrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.9.1", + "@module-federation/managers": "0.9.1", + "@module-federation/sdk": "0.9.1", + "@module-federation/third-party-dts-extractor": "0.9.1", + "adm-zip": "^0.5.10", + "ansi-colors": "^4.1.3", + "axios": "^1.7.4", + "chalk": "3.0.0", + "fs-extra": "9.1.0", + "isomorphic-ws": "5.0.0", + "koa": "2.15.4", + "lodash.clonedeepwith": "4.5.0", + "log4js": "6.9.1", + "node-schedule": "2.1.1", + "rambda": "^9.1.0", + "ws": "8.18.0" + }, + "peerDependencies": { + "typescript": "^4.9.0 || ^5.0.0", + "vue-tsc": ">=1.0.24" + }, + "peerDependenciesMeta": { + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/@module-federation/dts-plugin/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@module-federation/enhanced": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-0.9.1.tgz", + "integrity": "sha512-c9siKVjcgT2gtDdOTqEr+GaP2X/PWAS0OV424ljKLstFL1lcS/BIsxWFDmxPPl5hDByAH+1q4YhC1LWY4LNDQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/bridge-react-webpack-plugin": "0.9.1", + "@module-federation/data-prefetch": "0.9.1", + "@module-federation/dts-plugin": "0.9.1", + "@module-federation/error-codes": "0.9.1", + "@module-federation/inject-external-runtime-core-plugin": "0.9.1", + "@module-federation/managers": "0.9.1", + "@module-federation/manifest": "0.9.1", + "@module-federation/rspack": "0.9.1", + "@module-federation/runtime-tools": "0.9.1", + "@module-federation/sdk": "0.9.1", + "btoa": "^1.2.1", + "upath": "2.0.1" + }, + "peerDependencies": { + "typescript": "^4.9.0 || ^5.0.0", + "vue-tsc": ">=1.0.24", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue-tsc": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/@module-federation/error-codes": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.9.1.tgz", + "integrity": "sha512-q8spCvlwUzW42iX1irnlBTcwcZftRNHyGdlaoFO1z/fW4iphnBIfijzkigWQzOMhdPgzqN/up7XN+g5hjBGBtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/inject-external-runtime-core-plugin": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-0.9.1.tgz", + "integrity": "sha512-BPfzu1cqDU5BhM493enVF1VfxJWmruen0ktlHrWdJJlcddhZzyFBGaLAGoGc+83fS75aEllvJTEthw4kMViMQQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@module-federation/runtime-tools": "0.9.1" + } + }, + "node_modules/@module-federation/managers": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.9.1.tgz", + "integrity": "sha512-8hpIrvGfiODxS1qelTd7eaLRVF7jrp17RWgeH1DWoprxELANxm5IVvqUryB+7j+BhoQzamog9DL5q4MuNfGgIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/sdk": "0.9.1", + "find-pkg": "2.0.0", + "fs-extra": "9.1.0" + } + }, + "node_modules/@module-federation/manifest": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-0.9.1.tgz", + "integrity": "sha512-+GteKBXrAUkq49i2CSyWZXM4vYa+mEVXxR9Du71R55nXXxgbzAIoZj9gxjRunj9pcE8+YpAOyfHxLEdWngxWdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/dts-plugin": "0.9.1", + "@module-federation/managers": "0.9.1", + "@module-federation/sdk": "0.9.1", + "chalk": "3.0.0", + "find-pkg": "2.0.0" + } + }, + "node_modules/@module-federation/manifest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@module-federation/node": { + "version": "2.6.31", + "resolved": "https://registry.npmjs.org/@module-federation/node/-/node-2.6.31.tgz", + "integrity": "sha512-La+sF0AVW6mAj70WhtNHohMyqevadi9g6X1q42r0N2YaZMx5h/mqRIw/m04/SJOT4D1bSqD7+/VoSBFy9YhnDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/enhanced": "0.11.2", + "@module-federation/runtime": "0.11.2", + "@module-federation/sdk": "0.11.2", + "@module-federation/utilities": "3.1.49", + "btoa": "1.2.1", + "encoding": "^0.1.13", + "node-fetch": "2.7.0" + }, + "peerDependencies": { + "react": "^16||^17||^18||^19", + "react-dom": "^16||^17||^18||^19", + "webpack": "^5.40.0" + }, + "peerDependenciesMeta": { + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@module-federation/node/node_modules/@module-federation/bridge-react-webpack-plugin": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.11.2.tgz", + "integrity": "sha512-XDJC01XsByG9IwtpWgoTrZdGecN7fmfOEbs/MFLvPAkn9RhPoMJ6X76MSlpsOkwFxK1T7YLkgpVXwdiZKVVXUg==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.11.1", + "@module-federation/sdk": "0.11.2", "@types/semver": "7.5.8", "semver": "7.6.3" } }, "node_modules/@module-federation/node/node_modules/@module-federation/data-prefetch": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-0.11.1.tgz", - "integrity": "sha512-94CiNMHqFdaP93RzzEkMyAQcjXMdlSrsMd9R0htzW23keSnerWnmTcRfkvuzKSAR5cqYszGlrYH9CLyMl1T56A==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-0.11.2.tgz", + "integrity": "sha512-3HiKo/F51MMjy3Os9sELzxfaSiOcpDXT2zTAvedm4h1XT+nGXq04cKcOQ6rhjl91npKP2wOo/2sE3pWYzrnPhw==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.11.1", - "@module-federation/sdk": "0.11.1", + "@module-federation/runtime": "0.11.2", + "@module-federation/sdk": "0.11.2", "fs-extra": "9.1.0" }, "peerDependencies": { @@ -5778,16 +6369,16 @@ } }, "node_modules/@module-federation/node/node_modules/@module-federation/dts-plugin": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.11.1.tgz", - "integrity": "sha512-1fsnNb1dIYFoZ9Gk0gVXb/7+YDm0yWSBsVQvGLBOxMSaf1aF12mVi7MF9+l/ax4BgtgFvqVwekKssAbOXrjsig==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.11.2.tgz", + "integrity": "sha512-djZZDq8pTpjfDfXoU2knVOAmjoDWvJHcVScbCNI8zjOtwTvvH26EeOfQligiQxdhsCuGf+MQpeP4o6wqWeJW6w==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/error-codes": "0.11.1", - "@module-federation/managers": "0.11.1", - "@module-federation/sdk": "0.11.1", - "@module-federation/third-party-dts-extractor": "0.11.1", + "@module-federation/error-codes": "0.11.2", + "@module-federation/managers": "0.11.2", + "@module-federation/sdk": "0.11.2", + "@module-federation/third-party-dts-extractor": "0.11.2", "adm-zip": "^0.5.10", "ansi-colors": "^4.1.3", "axios": "^1.8.2", @@ -5812,25 +6403,29 @@ } }, "node_modules/@module-federation/node/node_modules/@module-federation/enhanced": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-0.11.1.tgz", - "integrity": "sha512-B+2kWuzkwEZvpLxwiah2gxHov9Xw2fmXZKvMqBwDSGCOobTtdipAjAeG0AXm7mdEO1Xw/SkZgEDLYQxW27exjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.11.1", - "@module-federation/data-prefetch": "0.11.1", - "@module-federation/dts-plugin": "0.11.1", - "@module-federation/error-codes": "0.11.1", - "@module-federation/inject-external-runtime-core-plugin": "0.11.1", - "@module-federation/managers": "0.11.1", - "@module-federation/manifest": "0.11.1", - "@module-federation/rspack": "0.11.1", - "@module-federation/runtime-tools": "0.11.1", - "@module-federation/sdk": "0.11.1", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-0.11.2.tgz", + "integrity": "sha512-OlISmj/d0egdGkUOgnVxvyCmoo+eMNBMpiCS3pQj4cnVN4NMs67qxioOD4Q5p04Tzc2jSot2LzRcBM44aTNN2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/bridge-react-webpack-plugin": "0.11.2", + "@module-federation/cli": "0.11.2", + "@module-federation/data-prefetch": "0.11.2", + "@module-federation/dts-plugin": "0.11.2", + "@module-federation/error-codes": "0.11.2", + "@module-federation/inject-external-runtime-core-plugin": "0.11.2", + "@module-federation/managers": "0.11.2", + "@module-federation/manifest": "0.11.2", + "@module-federation/rspack": "0.11.2", + "@module-federation/runtime-tools": "0.11.2", + "@module-federation/sdk": "0.11.2", "btoa": "^1.2.1", "upath": "2.0.1" }, + "bin": { + "mf": "bin/mf.js" + }, "peerDependencies": { "typescript": "^4.9.0 || ^5.0.0", "vue-tsc": ">=1.0.24", @@ -5849,62 +6444,62 @@ } }, "node_modules/@module-federation/node/node_modules/@module-federation/error-codes": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.11.1.tgz", - "integrity": "sha512-N1cs1qwrO8cU/OzfnBbr+3FaVbrJk6QEAsQ8H+YxGRrh/kHsR2BKpZCX79jTG27oDbz45FLjQ98YucMMXC24EA==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.11.2.tgz", + "integrity": "sha512-ik1Qnn0I+WyEdprTck9WGlH41vGsVdUg8cfO+ZM02qOb2cZm5Vu3SlxGAobj6g7uAj0g8yINnd7h7Dci40BxQA==", "dev": true, "license": "MIT" }, "node_modules/@module-federation/node/node_modules/@module-federation/inject-external-runtime-core-plugin": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-0.11.1.tgz", - "integrity": "sha512-giayNxsx7XK86aIzydjtnn8UD8qYyBcVwmsFEEXXA02Jod36CGRFcd0eQ6TzgVEF7kE3iZkpHEKJBGontl32Qg==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-0.11.2.tgz", + "integrity": "sha512-3rUWjos0mb2apXpgebWzGmqXx+8Ky2re4b4QxM8pwsE/9HFn18E/HGURJ/5Ur3Xhw81NjIAVVKxKg3bYSqjVuQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@module-federation/runtime-tools": "0.11.1" + "@module-federation/runtime-tools": "0.11.2" } }, "node_modules/@module-federation/node/node_modules/@module-federation/managers": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.11.1.tgz", - "integrity": "sha512-qEgJE4qFfIaPVpGncsCvn5eqC6VJ8wT2jwPF2+27cpU5IqZwvfIBZlIjUkGEDPjUtbS10JdGKBfLFrcI+p9i5A==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.11.2.tgz", + "integrity": "sha512-nFi0dRgNWpLy0KB85tWhuqbQztTSsUixcbheu/ZSCjVVWShFN6Va2lZg0XyUlXFX/fy4vKrwMBBE5LXxXNubRw==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.11.1", + "@module-federation/sdk": "0.11.2", "find-pkg": "2.0.0", "fs-extra": "9.1.0" } }, "node_modules/@module-federation/node/node_modules/@module-federation/manifest": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-0.11.1.tgz", - "integrity": "sha512-y4zoS4QJMn6OVtY3Wkq3khtjVCU3J8Pnb1CbjM5xoJ7jy/qZhTnDJd194czoQgzx4MnP+BR5jshEQha9GCFPzg==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-0.11.2.tgz", + "integrity": "sha512-5yDbq0MmlmCihRJDhFsuJEIGVjZkylybeHn7hwH0LHTtWAClc7APeXDKh7jPHVgOVmgcQBqaIqyHPeuantVydw==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/dts-plugin": "0.11.1", - "@module-federation/managers": "0.11.1", - "@module-federation/sdk": "0.11.1", + "@module-federation/dts-plugin": "0.11.2", + "@module-federation/managers": "0.11.2", + "@module-federation/sdk": "0.11.2", "chalk": "3.0.0", "find-pkg": "2.0.0" } }, "node_modules/@module-federation/node/node_modules/@module-federation/rspack": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/rspack/-/rspack-0.11.1.tgz", - "integrity": "sha512-hhikMBb7qSWCKtoCPO1QLoJwu4BsZPAKs9nychLXakMPQEGByrnh/upVb1C2wep2C4Ax9sjuFT7zD/3CdHOmGg==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/rspack/-/rspack-0.11.2.tgz", + "integrity": "sha512-oEQXufLbAM7MXDVkE5qE+K3ItrWxlSOHL9db8voo20LvaOe3vwr4rILTj3Ou2Rev4QpLY4eMO7HIwPJBTb6ncQ==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.11.1", - "@module-federation/dts-plugin": "0.11.1", - "@module-federation/inject-external-runtime-core-plugin": "0.11.1", - "@module-federation/managers": "0.11.1", - "@module-federation/manifest": "0.11.1", - "@module-federation/runtime-tools": "0.11.1", - "@module-federation/sdk": "0.11.1", + "@module-federation/bridge-react-webpack-plugin": "0.11.2", + "@module-federation/dts-plugin": "0.11.2", + "@module-federation/inject-external-runtime-core-plugin": "0.11.2", + "@module-federation/managers": "0.11.2", + "@module-federation/manifest": "0.11.2", + "@module-federation/runtime-tools": "0.11.2", + "@module-federation/sdk": "0.11.2", "btoa": "1.2.1" }, "peerDependencies": { @@ -5922,50 +6517,50 @@ } }, "node_modules/@module-federation/node/node_modules/@module-federation/runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.11.1.tgz", - "integrity": "sha512-yxxa/TRXaNggb34N+oL82J7r9+GZ3gYTCDyGibYqtsC5j7+9oB4tmc0UyhjrGMhg+fF8TAWFZjNKo7ZnyN9LcQ==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.11.2.tgz", + "integrity": "sha512-Ya9u/L6z2LvhgpqxuKCB7LcigIIRf1BbaxAZIH7mzbq/A7rZtTP7v+73E433jvgiAlbAfPSZkeoYGele6hfRwA==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/error-codes": "0.11.1", - "@module-federation/runtime-core": "0.11.1", - "@module-federation/sdk": "0.11.1" + "@module-federation/error-codes": "0.11.2", + "@module-federation/runtime-core": "0.11.2", + "@module-federation/sdk": "0.11.2" } }, "node_modules/@module-federation/node/node_modules/@module-federation/runtime-core": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.11.1.tgz", - "integrity": "sha512-6KxLfkCl05Ey69Xg/dsjf7fPit9qGXZ0lpwaG2agiCqC3JCDxYjT7tgGvnWhTXCcztb/ThpT+bHrRD4Kw8SMhA==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.11.2.tgz", + "integrity": "sha512-dia5kKybi6MFU0s5PgglJwN27k7n9Sf69Cy5xZ4BWaP0qlaXTsxHKO0PECHNt2Pt8jDdyU29sQ4DwAQfxpnXJQ==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/error-codes": "0.11.1", - "@module-federation/sdk": "0.11.1" + "@module-federation/error-codes": "0.11.2", + "@module-federation/sdk": "0.11.2" } }, "node_modules/@module-federation/node/node_modules/@module-federation/runtime-tools": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.11.1.tgz", - "integrity": "sha512-8UqMbHJSdkEvKlnlXpR/OjMA77bUbhtmv0I4UO+PA1zBga4y3/St6NOjD66NTINKeWEgsCt1aepXHspduXp33w==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.11.2.tgz", + "integrity": "sha512-4MJTGAxVq6vxQRkTtTlH7Mm9AVqgn0X9kdu+7RsL7T/qU+jeYsbrntN2CWG3GVVA8r5JddXyTI1iJ0VXQZLV1w==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.11.1", - "@module-federation/webpack-bundler-runtime": "0.11.1" + "@module-federation/runtime": "0.11.2", + "@module-federation/webpack-bundler-runtime": "0.11.2" } }, "node_modules/@module-federation/node/node_modules/@module-federation/sdk": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.11.1.tgz", - "integrity": "sha512-QS6zevdQYLCGF6NFf0LysMGARh+dZxMeoRKKDUW5PYi3XOk+tjJ7QsDKybfcBZBNgBJfIuwxh4Oei6WOFJEfRg==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.11.2.tgz", + "integrity": "sha512-SBFe5xOamluT900J4AGBx+2/kCH/JbfqXoUwPSAC6PRzb8Y7LB0posnOGzmqYsLZXT37vp3d6AmJDsVoajDqxw==", "dev": true, "license": "MIT" }, "node_modules/@module-federation/node/node_modules/@module-federation/third-party-dts-extractor": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.11.1.tgz", - "integrity": "sha512-oyyelSLGFObM699p192Cuk/LxEDdzSOywDUXrzPa/qSKNFii5WartjQRc4QPMLnsQaGD7fQVTTiBkvVBcWUdyQ==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.11.2.tgz", + "integrity": "sha512-rZuFRH43s68O2KED054Pgd9mV18NWME7Q9ZPuAzN1NGNH/J7Nevyt5MJXrHIaopF/2QpcrYNVjIgdqpRp9FJBg==", "dev": true, "license": "MIT", "dependencies": { @@ -5975,14 +6570,14 @@ } }, "node_modules/@module-federation/node/node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.11.1.tgz", - "integrity": "sha512-XlVegGyCBBLId8Jr6USjPOFYViQ0CCtoYjHpC8y1FOGtuXLGrvnEdFcl4XHlFlp3MY3Rxhr8QigrdZhYe5bRWg==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.11.2.tgz", + "integrity": "sha512-WdwIE6QF+MKs/PdVu0cKPETF743JB9PZ62/qf7Uo3gU4fjsUMc37RnbJZ/qB60EaHHfjwp1v6NnhZw1r4eVsnw==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.11.1", - "@module-federation/sdk": "0.11.1" + "@module-federation/runtime": "0.11.2", + "@module-federation/sdk": "0.11.2" } }, "node_modules/@module-federation/node/node_modules/chalk": { @@ -6131,13 +6726,13 @@ } }, "node_modules/@module-federation/utilities": { - "version": "3.1.48", - "resolved": "https://registry.npmjs.org/@module-federation/utilities/-/utilities-3.1.48.tgz", - "integrity": "sha512-eY1JrnVKNX/gECe121kzgHUu/P9jSrkxFzbm7Hs+eaMo+hhwCyqbwJTOi5kZzk9xDnnP6555nESk8+3ovKlOFw==", + "version": "3.1.49", + "resolved": "https://registry.npmjs.org/@module-federation/utilities/-/utilities-3.1.49.tgz", + "integrity": "sha512-1fhrrQaXe3F1Z7mkgiwtQf3HmFeTRP6lUdGBu1BvKOK66IMIXlncDUoPKijKoU6xvoQsn9SEooQmGzO2MiTVQA==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.11.1" + "@module-federation/sdk": "0.11.2" }, "peerDependencies": { "react": "^16 || ^17 || ^18", @@ -6157,9 +6752,9 @@ } }, "node_modules/@module-federation/utilities/node_modules/@module-federation/sdk": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.11.1.tgz", - "integrity": "sha512-QS6zevdQYLCGF6NFf0LysMGARh+dZxMeoRKKDUW5PYi3XOk+tjJ7QsDKybfcBZBNgBJfIuwxh4Oei6WOFJEfRg==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.11.2.tgz", + "integrity": "sha512-SBFe5xOamluT900J4AGBx+2/kCH/JbfqXoUwPSAC6PRzb8Y7LB0posnOGzmqYsLZXT37vp3d6AmJDsVoajDqxw==", "dev": true, "license": "MIT" }, @@ -7249,24 +7844,26 @@ } }, "node_modules/@nx/angular": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-20.5.0.tgz", - "integrity": "sha512-xAImgqAe0tosatUPuTB5dM5vjdIhlvMqmLzVpqcszlAdNK0sud0AuDo783axKCEkVnZplD79rtv7EytltK1NjQ==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-20.6.4.tgz", + "integrity": "sha512-DDuPDtot6gaU9wZCW3WKGHAWY3oITW2I9KlCqba8qRuWiZK67/q4Y1OVVVlJLLaNT+qjkt0cPWbmIcKImaYuxA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "20.5.0", - "@nx/eslint": "20.5.0", - "@nx/js": "20.5.0", - "@nx/module-federation": "20.5.0", - "@nx/web": "20.5.0", - "@nx/webpack": "20.5.0", - "@nx/workspace": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/eslint": "20.6.4", + "@nx/js": "20.6.4", + "@nx/module-federation": "20.6.4", + "@nx/rspack": "20.6.4", + "@nx/web": "20.6.4", + "@nx/webpack": "20.6.4", + "@nx/workspace": "20.6.4", "@phenomnomnominal/tsquery": "~5.0.1", "@typescript-eslint/type-utils": "^8.0.0", + "enquirer": "~2.3.6", "magic-string": "~0.30.2", - "minimatch": "9.0.3", "picocolors": "^1.1.0", + "picomatch": "4.0.2", "piscina": "^4.4.0", "semver": "^7.5.3", "tslib": "^2.3.0", @@ -7280,32 +7877,6 @@ "rxjs": "^6.5.3 || ^7.5.0" } }, - "node_modules/@nx/angular/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@nx/angular/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@nx/angular/node_modules/webpack-merge": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", @@ -7322,15 +7893,15 @@ } }, "node_modules/@nx/cypress": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-20.5.0.tgz", - "integrity": "sha512-D/HEBu40/Wr0MozIyBcSPgNh8aGKqyzctmqZJvZJCt78s0N7fyC/nVNk3QQthVPPggi2bIkVNo1oZS/n6y8ezQ==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-20.6.4.tgz", + "integrity": "sha512-1cEI9AEYNDBLKbIM78nvfN4QXgYzo9Kyc+XdL403pUbCoFeqc7gznN3TvtdxsA0O+W2Cs9hIppga8qj6F4CEvA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "20.5.0", - "@nx/eslint": "20.5.0", - "@nx/js": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/eslint": "20.6.4", + "@nx/js": "20.6.4", "@phenomnomnominal/tsquery": "~5.0.1", "detect-port": "^1.5.1", "tslib": "^2.3.0" @@ -7345,9 +7916,9 @@ } }, "node_modules/@nx/devkit": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.5.0.tgz", - "integrity": "sha512-FLHjNRb6VImdlnDsp3ioIdM600y2xPvN88LFV9zPrG2hDXSaD9Np9YBZvvfCr4x46MrPCTTMoAVwWsCXIBgchg==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.6.4.tgz", + "integrity": "sha512-lyEidfyPhTuHt1X6EsskugBREazS5VOKSPIcreQ8Qt0MaULxn0bQ9o0N6C+BQaw5Zu6RTaMRMWKGW0I0Qni0UA==", "dev": true, "license": "MIT", "dependencies": { @@ -7391,14 +7962,14 @@ } }, "node_modules/@nx/eslint": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-20.5.0.tgz", - "integrity": "sha512-9rMnlkSJ+Be+rXICDXaBoDfE5PbSV4TBnG0BM2V9dB1iRWpVtgv49ZreDUFYW0AAJ/RrlGHtlbYl6vupxL9EGg==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-20.6.4.tgz", + "integrity": "sha512-/DKHPid+QDSkvZP19qoAnjAveuu8l7WaapOhErChYVQmZetLAvS8WUwtwcHExYCYSsUWGJcMpYh9eQDOCyJYUg==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "20.5.0", - "@nx/js": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/js": "20.6.4", "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.7.2" @@ -7414,14 +7985,14 @@ } }, "node_modules/@nx/eslint-plugin": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-20.5.0.tgz", - "integrity": "sha512-SEryJj5c50JWZgv2NaJUgQTy6l2Xwzmgu7hJpDD4Xc0LWMirrLix95XY8Plkom4y328GXL5k8CuFESjCh+9aew==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-20.6.4.tgz", + "integrity": "sha512-05ltU1i6UDecehnleRwi3Y4ZU0QmaEAkO/etB3Ncve3oduyJUe2QAxzeInYMPC51+W798ah8tDqE9i8npUoUkw==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "20.5.0", - "@nx/js": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/js": "20.6.4", "@typescript-eslint/type-utils": "^8.0.0", "@typescript-eslint/utils": "^8.0.0", "chalk": "^4.1.0", @@ -7455,16 +8026,16 @@ } }, "node_modules/@nx/jest": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-20.5.0.tgz", - "integrity": "sha512-/wfADqIHQx2QYmylkAYimP1J7XFbBThce9fPaRQ/Ybows3x9YCfHJT0A7eetIf0qEaxmogigm/0QVmtkPArorg==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-20.6.4.tgz", + "integrity": "sha512-/GRvhs4DMDUd347jM55Ft1k8VnO7bvjHjQ6MakQalVk60l2GbF172c1EaAWZPgQhpMY2NlYHVr0FnjpfUjQ7jw==", "dev": true, "license": "MIT", "dependencies": { "@jest/reporters": "^29.4.1", "@jest/test-result": "^29.4.1", - "@nx/devkit": "20.5.0", - "@nx/js": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/js": "20.6.4", "@phenomnomnominal/tsquery": "~5.0.1", "identity-obj-proxy": "3.0.0", "jest-config": "^29.4.1", @@ -7505,9 +8076,9 @@ } }, "node_modules/@nx/js": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-20.5.0.tgz", - "integrity": "sha512-TFdmmSARDNYiwxXUsVowHgMYhjuGzYG4wWExCXkb8m4g6ER1zT9oUzGRf9eC7CHFTGonvAQ8hgBt90xt2EUdQA==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-20.6.4.tgz", + "integrity": "sha512-GHYpqLi9pjdPrMZqgYjDat+WhL9k350/+g+hQiAoueEwQ1PbG3d/NwcA2dffX47VLXF1BhoQMtn0C3LPPx3Z/g==", "dev": true, "license": "MIT", "dependencies": { @@ -7518,8 +8089,8 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nx/devkit": "20.5.0", - "@nx/workspace": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/workspace": "20.6.4", "@zkochan/js-yaml": "0.0.7", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^3.1.0", @@ -7538,9 +8109,7 @@ "picomatch": "4.0.2", "semver": "^7.5.3", "source-map-support": "0.5.19", - "tinyglobby": "^0.2.10", - "ts-node": "10.9.1", - "tsconfig-paths": "^4.1.2", + "tinyglobby": "^0.2.12", "tslib": "^2.3.0" }, "peerDependencies": { @@ -7683,50 +8252,6 @@ "source-map": "^0.6.0" } }, - "node_modules/@nx/js/node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, "node_modules/@nx/js/node_modules/validate-npm-package-name": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", @@ -7738,18 +8263,18 @@ } }, "node_modules/@nx/module-federation": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/module-federation/-/module-federation-20.5.0.tgz", - "integrity": "sha512-dQG3QSsWpdbammmPBP1E4sCkcUCxL5OIwwIDVyYrf2Rdw4f8s6VAGq+BlVFOfP28sVi5xB0wOgDomohVrUXoig==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/module-federation/-/module-federation-20.6.4.tgz", + "integrity": "sha512-SaCfOny3dxA20MEHI4KskRsDa8wGvwwClTGcpWu+wZZbAPey4Cvd1TxPrXGgvCqXyGkSS0XwjIsrPBGl+EWnFQ==", "dev": true, "license": "MIT", "dependencies": { "@module-federation/enhanced": "^0.9.0", "@module-federation/node": "^2.6.26", "@module-federation/sdk": "^0.9.0", - "@nx/devkit": "20.5.0", - "@nx/js": "20.5.0", - "@nx/web": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/js": "20.6.4", + "@nx/web": "20.6.4", "express": "^4.21.2", "http-proxy-middleware": "^3.0.3", "picocolors": "^1.1.0", @@ -8067,17 +8592,17 @@ } }, "node_modules/@nx/nest": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nest/-/nest-20.5.0.tgz", - "integrity": "sha512-/rbI9snHVY+cCUjlee5jjPufBTJYjFUFpZ/n30CuvitGIa+oBvzQlSPYH8n9N3v4/7I6Hg/CYcn9+jDl3DNu/w==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nest/-/nest-20.6.4.tgz", + "integrity": "sha512-XG6p1whmUr4YaGurnEWoAH+AHaoEXQZ++ugcY/d370F4K2C3pOJbWjy6Sa8u6ll9GviRz9VdFbElVypkYpa/dA==", "dev": true, "license": "MIT", "dependencies": { "@nestjs/schematics": "^9.1.0", - "@nx/devkit": "20.5.0", - "@nx/eslint": "20.5.0", - "@nx/js": "20.5.0", - "@nx/node": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/eslint": "20.6.4", + "@nx/js": "20.6.4", + "@nx/node": "20.6.4", "tslib": "^2.3.0" } }, @@ -8271,23 +8796,23 @@ } }, "node_modules/@nx/node": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/node/-/node-20.5.0.tgz", - "integrity": "sha512-L89o7daSJpgjBfYRQVbpr0i/WNE8zs/lRIcI6+cbP0mgZA6Wa7lzgQ3qR8hP+Bqttl8SCooJodv3Wyk57qnbdQ==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/node/-/node-20.6.4.tgz", + "integrity": "sha512-rD/86V+HOh4SmGq5ONCSXRdZspGP5imCPATZeQFnbuvL3fM643X0NDkbQboZM6n6AvkOz1lfs1cyfRkuVhi25Q==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "20.5.0", - "@nx/eslint": "20.5.0", - "@nx/jest": "20.5.0", - "@nx/js": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/eslint": "20.6.4", + "@nx/jest": "20.6.4", + "@nx/js": "20.6.4", "tslib": "^2.3.0" } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.5.0.tgz", - "integrity": "sha512-HlMMC4d253kk/yrafiepk8bhXMl+v4BIugftwUzRl7AOznyNgaj5WDaIVXZLZzt+WwYw6CTb+zYxfY4LuPFvOg==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.6.4.tgz", + "integrity": "sha512-urdLFCY0c2X11FBuokSgCktKTma7kjZKWJi8mVO8PbTJh0h2Qtp4l9/px8tv9EHeHuusA18p2Wq3ZM6c95qcBg==", "cpu": [ "arm64" ], @@ -8302,9 +8827,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.5.0.tgz", - "integrity": "sha512-+LO8YC5Iy1168saPeItNePChToP2TuRCj3MuxEtTTJXoRlab38rNaOjWaV1itvtcgrzkQi/IohINWMI8WC5b7g==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.6.4.tgz", + "integrity": "sha512-nNOXc9ccdsdmylC/InRud/F977ldat2zQuSWfhoI5+9exHIjMo0TNU8gZdT53t3S1OTQKOEbNXZcoEaURb6STA==", "cpu": [ "x64" ], @@ -8319,9 +8844,9 @@ } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.5.0.tgz", - "integrity": "sha512-he3VOuj35XDAAmO3s6LqiWx00CsCMgHceNOHziCELQL0tfQlvvyI0Agmhesw68BAbabt+mKH9g+miENiaMknbg==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.6.4.tgz", + "integrity": "sha512-jPGzjdB9biMu8N4038qBe0VBfrQ+HDjXfxBhETqrVIJPBfgdxN1I8CXIhCqMPG2CHBAM6kDQCU6QCTMWADJcEw==", "cpu": [ "x64" ], @@ -8336,9 +8861,9 @@ } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.5.0.tgz", - "integrity": "sha512-xeysjXvm4xZa/ED7XlbzuS28sCOGZ0AlS7DKWRxEMv60iprxewj0WKPdH7RveiNNauzgHWOW/wxvTWXRu+i36Q==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.6.4.tgz", + "integrity": "sha512-j4ekxzZPc5lj+VbaLBpKJl6w2VyFXycLrT65CWQYAj9yqV5dUuDtTR33r50ddLtqQt3PVV5hJAj8+g7sGPXUWQ==", "cpu": [ "arm" ], @@ -8353,9 +8878,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.5.0.tgz", - "integrity": "sha512-pj+6OA7d1ltkW/ZYFooi3bDtqVFPxi8YYiZlQx7enEuOxbrTvpjEPvBjVyf+oYpCe9rfKlx9ghzufqsI4uGM0w==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.6.4.tgz", + "integrity": "sha512-nYMB4Sh5yI7WbunizZ/mgR21MQgrs77frnAChs+6aPF5HA7N1VGEn3FMKX+ypd3DjTl14zuwB/R5ilwNgKzL+A==", "cpu": [ "arm64" ], @@ -8370,9 +8895,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.5.0.tgz", - "integrity": "sha512-gCIJEb/VYv6pxiAcSeizX0jpOmTnPmgYVi2EZLSWus0Pg6FIwMHE4MX5kuqehyvnDt9xInb7Rh8vgz/JBOOsbA==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.6.4.tgz", + "integrity": "sha512-ukjB1pmBvtinT0zeYJ1lWi7BAw6cDnPQnfXMbyV+afYnNRcgdDFzQaUpo3UUeai69Fo3TTr0SWx6DjMVifxJZw==", "cpu": [ "arm64" ], @@ -8386,99 +8911,224 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.5.0.tgz", - "integrity": "sha512-hfCDmfy7TBQJdgBwNvOh55e8Y00Cxcddw2QeKguvy6vsnVa7fesXDWCw2t3m/VPPQDKQGd8cY1lS1JqX3N+wCA==", - "cpu": [ - "x64" - ], + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.6.4.tgz", + "integrity": "sha512-+6DloqqB8ZzuZOY4A1PryuPD5hGoxbSafRN++sXUFvKx6mRYNyLGrn5APT3Kiq1qPBxkAxcsreexcu/wsTcrcw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.6.4.tgz", + "integrity": "sha512-+ZuF6dobfGo5EN55syuUEdbYs9qxbLmTkGPMq66X7dZ/jm7kKTsVzDYnf9v3ynQCOq4DMFtdACneL32Ks22+NQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.6.4.tgz", + "integrity": "sha512-z+Y8iwEPZ8L8SISh/tcyqEtAy9Ju6aB5kLe8E/E1Wwzy5DU/jNvqM9Wq4HRPMY0r1S4jzwC6x7W3/fkxeFjZ7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.6.4.tgz", + "integrity": "sha512-9LMVHZQqc1m2Fulvfz1nPZFHUKvFjmU7igxoWJXj/m+q+DyYWEbE710ARK9JtMibLg+xSRfERKOcIy11k6Ro1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/rspack": { + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/rspack/-/rspack-20.6.4.tgz", + "integrity": "sha512-c1weD9bDtflf47pp9B+7RNIkHoJnc0oA4epK4SLNZjNzmu40O4hE9kWEVazFSId7UqczO0QWvqhvgbzSxZDtcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "20.6.4", + "@nx/js": "20.6.4", + "@nx/module-federation": "20.6.4", + "@nx/web": "20.6.4", + "@phenomnomnominal/tsquery": "~5.0.1", + "@rspack/core": "^1.1.5", + "@rspack/dev-server": "^1.0.9", + "@rspack/plugin-react-refresh": "^1.0.0", + "autoprefixer": "^10.4.9", + "browserslist": "^4.21.4", + "css-loader": "^6.4.0", + "enquirer": "~2.3.6", + "express": "^4.21.2", + "http-proxy-middleware": "^3.0.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "^4.0.2", + "loader-utils": "^2.0.3", + "picocolors": "^1.1.0", + "postcss": "^8.4.38", + "postcss-import": "~14.1.0", + "postcss-loader": "^8.1.1", + "sass": "^1.85.0", + "sass-embedded": "^1.83.4", + "sass-loader": "^16.0.4", + "source-map-loader": "^5.0.0", + "style-loader": "^3.3.0", + "ts-checker-rspack-plugin": "^1.1.1", + "tslib": "^2.3.0", + "webpack": "^5.80.0", + "webpack-node-externals": "^3.0.0" + }, + "peerDependencies": { + "@module-federation/enhanced": "^0.9.0", + "@module-federation/node": "^2.6.26" + } + }, + "node_modules/@nx/rspack/node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 10" + "node": "*" } }, - "node_modules/@nx/nx-linux-x64-musl": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.5.0.tgz", - "integrity": "sha512-RTTCPjZNSDFE5mUdavDFimDw/aXNBY0w+iuRM5q17rDHxwa//DghCY0GEkBdfuxD7wpw+sRwE18mWsNDek5lXA==", - "cpu": [ - "x64" - ], + "node_modules/@nx/rspack/node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, "engines": { - "node": ">= 10" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.5.0.tgz", - "integrity": "sha512-nT9WlG0QA8D74UJhEP1feGrV00/bas1nnqS+zkwnpJs0vcPmMuIktdETh3lEnqrGD04R7GtwbKtoGIGiZh5m9w==", - "cpu": [ - "arm64" - ], + "node_modules/@nx/rspack/node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "klona": "^2.0.4" + }, "engines": { - "node": ">= 10" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" } }, - "node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.5.0.tgz", - "integrity": "sha512-KQVqFSYfc8ToSBgzhVNV8WcFEvLdy1zp58qwewa0xnE7DDncMbA+6YoVizUcQ/6GZRlMJ9sdVn3kwm5B8eD5mg==", - "cpu": [ - "x64" - ], + "node_modules/@nx/rspack/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, "engines": { - "node": ">= 10" + "node": ">=8.9.0" } }, "node_modules/@nx/storybook": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/storybook/-/storybook-20.5.0.tgz", - "integrity": "sha512-mNDkkitZTncfFqWc3diz5ayAmxUZl3XkFr932TvieDFZd9UKictGYilyc0kyTTnu8oZRUdpN09zUjoYwMsjpkg==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/storybook/-/storybook-20.6.4.tgz", + "integrity": "sha512-YvBLMbBI8SSpHDVmrsmd3UToMxhpOFPVwo4Jzld93Vgw5FaHNUtnOvIFUHg37nvFah1KyfYdH9O8LPXT65Nfqg==", "dev": true, "license": "MIT", "dependencies": { - "@nx/cypress": "20.5.0", - "@nx/devkit": "20.5.0", - "@nx/eslint": "20.5.0", - "@nx/js": "20.5.0", + "@nx/cypress": "20.6.4", + "@nx/devkit": "20.6.4", + "@nx/eslint": "20.6.4", + "@nx/js": "20.6.4", "@phenomnomnominal/tsquery": "~5.0.1", "semver": "^7.5.3", "tslib": "^2.3.0" } }, "node_modules/@nx/web": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-20.5.0.tgz", - "integrity": "sha512-hxM9CKedYC8uE4e6Wo2/5xt2wCzJPHiJLq/6AK3liwK/o7bAJfkvwM/b9gwPAIVYy5R0DDgfA4N6vYO231eflA==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-20.6.4.tgz", + "integrity": "sha512-YqbSAa/3ynQVUIjrFAZV23UGcX14xRKC5z/kMm3LnM6w8DQxaKquz+3IH+KMPi4xfbxujujh8h5/1qwfDJJ0Sw==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "20.5.0", - "@nx/js": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/js": "20.6.4", "detect-port": "^1.5.1", "http-server": "^14.1.0", "picocolors": "^1.1.0", @@ -8486,15 +9136,15 @@ } }, "node_modules/@nx/webpack": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-20.5.0.tgz", - "integrity": "sha512-sA02FviLw8D/hWm/u4l13onwNTl1lJX2nJaC0dOIJ1RfZZauD7Ca5tYjqwPC8uXh4/9h+0Kpewm66aJYML+WnA==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-20.6.4.tgz", + "integrity": "sha512-XEcyuI1McupN9bMj8Jy21cJJJdPGKlFyzMqvFDTh5w/IIEIsy8PHZpqVwoQJME4sC+16R7EVGWq2a6Kyy4EONg==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.23.2", - "@nx/devkit": "20.5.0", - "@nx/js": "20.5.0", + "@nx/devkit": "20.6.4", + "@nx/js": "20.6.4", "@phenomnomnominal/tsquery": "~5.0.1", "ajv": "^8.12.0", "autoprefixer": "^10.4.9", @@ -8799,16 +9449,18 @@ } }, "node_modules/@nx/workspace": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-20.5.0.tgz", - "integrity": "sha512-Oe5p7rcgF/o4G2XDHYOxQxa/eDEfvmQV+kFCs8DBQwlzUwREAP4/pHFI0AIdWSfYkq55C5PE/PNKUGHrk2/xTA==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-20.6.4.tgz", + "integrity": "sha512-HZK0XTJ1flx9NpAFW8ZVeMRrsAEOc4Bj5ZtBR1aVUSC/IzAGQH4dkVZMXX1oG3vBzhuz+4Ery2mfst1YsJNuxQ==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "20.5.0", + "@nx/devkit": "20.6.4", + "@zkochan/js-yaml": "0.0.7", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "20.5.0", + "nx": "20.6.4", + "picomatch": "4.0.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -9647,7 +10299,6 @@ "integrity": "sha512-T3FMB3N9P1AbSAryfkSRJkPtmeSYs/Gj9zUZoPz1ckPEIcWZmpUOQbJylldjbw5waxtCL1haHNbi0pcSvxiaJw==", "devOptional": true, "license": "MIT", - "peer": true, "optionalDependencies": { "@rspack/binding-darwin-arm64": "1.2.8", "@rspack/binding-darwin-x64": "1.2.8", @@ -9672,8 +10323,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/@rspack/binding-darwin-x64": { "version": "1.2.8", @@ -9687,8 +10337,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/@rspack/binding-linux-arm64-gnu": { "version": "1.2.8", @@ -9702,8 +10351,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rspack/binding-linux-arm64-musl": { "version": "1.2.8", @@ -9717,8 +10365,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rspack/binding-linux-x64-gnu": { "version": "1.2.8", @@ -9732,8 +10379,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rspack/binding-linux-x64-musl": { "version": "1.2.8", @@ -9747,8 +10393,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rspack/binding-win32-arm64-msvc": { "version": "1.2.8", @@ -9762,8 +10407,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@rspack/binding-win32-ia32-msvc": { "version": "1.2.8", @@ -9777,8 +10421,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@rspack/binding-win32-x64-msvc": { "version": "1.2.8", @@ -9792,91 +10435,196 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] + }, + "node_modules/@rspack/core": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.2.8.tgz", + "integrity": "sha512-ppj3uQQtkhgrYDLrUqb33YbpNEZCpAudpfVuOHGsvUrAnu1PijbfJJymoA5ZvUhM+HNMvPI5D1ie97TXyb0UVg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime-tools": "0.8.4", + "@rspack/binding": "1.2.8", + "@rspack/lite-tapable": "1.0.1", + "caniuse-lite": "^1.0.30001702" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@rspack/tracing": "^1.x", + "@swc/helpers": ">=0.5.1" + }, + "peerDependenciesMeta": { + "@rspack/tracing": { + "optional": true + }, + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/error-codes": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.8.4.tgz", + "integrity": "sha512-55LYmrDdKb4jt+qr8qE8U3al62ZANp3FhfVaNPOaAmdTh0jHdD8M3yf5HKFlr5xVkVO4eV/F/J2NCfpbh+pEXQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@rspack/core/node_modules/@module-federation/runtime": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.8.4.tgz", + "integrity": "sha512-yZeZ7z2Rx4gv/0E97oLTF3V6N25vglmwXGgoeju/W2YjsFvWzVtCDI7zRRb0mJhU6+jmSM8jP1DeQGbea/AiZQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.8.4", + "@module-federation/sdk": "0.8.4" + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/runtime-tools": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.8.4.tgz", + "integrity": "sha512-fjVOsItJ1u5YY6E9FnS56UDwZgqEQUrWFnouRiPtK123LUuqUI9FH4redZoKWlE1PB0ir1Z3tnqy8eFYzPO38Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.8.4", + "@module-federation/webpack-bundler-runtime": "0.8.4" + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/sdk": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.8.4.tgz", + "integrity": "sha512-waABomIjg/5m1rPDBWYG4KUhS5r7OUUY7S+avpaVIY/tkPWB3ibRDKy2dNLLAMaLKq0u+B1qIdEp4NIWkqhqpg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "isomorphic-rslog": "0.0.6" + } + }, + "node_modules/@rspack/core/node_modules/@module-federation/webpack-bundler-runtime": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.8.4.tgz", + "integrity": "sha512-HggROJhvHPUX7uqBD/XlajGygMNM1DG0+4OAkk8MBQe4a18QzrRNzZt6XQbRTSG4OaEoyRWhQHvYD3Yps405tQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.8.4", + "@module-federation/sdk": "0.8.4" + } + }, + "node_modules/@rspack/dev-server": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/dev-server/-/dev-server-1.1.0.tgz", + "integrity": "sha512-/IMfxE5SWhZ0+6xrlJzsJwJV7a0FpsY51gDBmsjGTCCa+V8ucXNxS2233V4YG/ESAM4URJEKaHzNLAGtwCSW1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.6.0", + "express": "^4.19.2", + "http-proxy-middleware": "^2.0.6", + "mime-types": "^2.1.35", + "p-retry": "^6.2.0", + "webpack-dev-middleware": "^7.4.2", + "webpack-dev-server": "5.2.0", + "ws": "^8.16.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "@rspack/core": "*" + } + }, + "node_modules/@rspack/dev-server/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@rspack/dev-server/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/@rspack/core": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.2.8.tgz", - "integrity": "sha512-ppj3uQQtkhgrYDLrUqb33YbpNEZCpAudpfVuOHGsvUrAnu1PijbfJJymoA5ZvUhM+HNMvPI5D1ie97TXyb0UVg==", - "devOptional": true, + "node_modules/@rspack/dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@module-federation/runtime-tools": "0.8.4", - "@rspack/binding": "1.2.8", - "@rspack/lite-tapable": "1.0.1", - "caniuse-lite": "^1.0.30001702" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=12.0.0" }, "peerDependencies": { - "@rspack/tracing": "^1.x", - "@swc/helpers": ">=0.5.1" + "@types/express": "^4.17.13" }, "peerDependenciesMeta": { - "@rspack/tracing": { - "optional": true - }, - "@swc/helpers": { + "@types/express": { "optional": true } } }, - "node_modules/@rspack/core/node_modules/@module-federation/error-codes": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.8.4.tgz", - "integrity": "sha512-55LYmrDdKb4jt+qr8qE8U3al62ZANp3FhfVaNPOaAmdTh0jHdD8M3yf5HKFlr5xVkVO4eV/F/J2NCfpbh+pEXQ==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/@rspack/core/node_modules/@module-federation/runtime": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.8.4.tgz", - "integrity": "sha512-yZeZ7z2Rx4gv/0E97oLTF3V6N25vglmwXGgoeju/W2YjsFvWzVtCDI7zRRb0mJhU6+jmSM8jP1DeQGbea/AiZQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@module-federation/error-codes": "0.8.4", - "@module-federation/sdk": "0.8.4" - } - }, - "node_modules/@rspack/core/node_modules/@module-federation/runtime-tools": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.8.4.tgz", - "integrity": "sha512-fjVOsItJ1u5YY6E9FnS56UDwZgqEQUrWFnouRiPtK123LUuqUI9FH4redZoKWlE1PB0ir1Z3tnqy8eFYzPO38Q==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@module-federation/runtime": "0.8.4", - "@module-federation/webpack-bundler-runtime": "0.8.4" - } - }, - "node_modules/@rspack/core/node_modules/@module-federation/sdk": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.8.4.tgz", - "integrity": "sha512-waABomIjg/5m1rPDBWYG4KUhS5r7OUUY7S+avpaVIY/tkPWB3ibRDKy2dNLLAMaLKq0u+B1qIdEp4NIWkqhqpg==", - "devOptional": true, + "node_modules/@rspack/dev-server/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "isomorphic-rslog": "0.0.6" + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@rspack/core/node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.8.4.tgz", - "integrity": "sha512-HggROJhvHPUX7uqBD/XlajGygMNM1DG0+4OAkk8MBQe4a18QzrRNzZt6XQbRTSG4OaEoyRWhQHvYD3Yps405tQ==", - "devOptional": true, + "node_modules/@rspack/dev-server/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@module-federation/runtime": "0.8.4", - "@module-federation/sdk": "0.8.4" + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, "node_modules/@rspack/lite-tapable": { @@ -9885,11 +10633,29 @@ "integrity": "sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==", "devOptional": true, "license": "MIT", - "peer": true, "engines": { "node": ">=16.0.0" } }, + "node_modules/@rspack/plugin-react-refresh": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.0.1.tgz", + "integrity": "sha512-KSBc3bsr3mrAPViv7w9MpE9KEWm6q87EyRXyHlRfJ9PpQ56NbX9KZ7AXo7jPeECb0q5sfpM2PSEf+syBiMgLSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-stack-parser": "^2.1.4", + "html-entities": "^2.5.2" + }, + "peerDependencies": { + "react-refresh": ">=0.10.0 <1.0.0" + }, + "peerDependenciesMeta": { + "react-refresh": { + "optional": true + } + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -12118,6 +12884,18 @@ "@types/send": "*" } }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, "node_modules/@types/geojson": { "version": "7946.0.16", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", @@ -18251,6 +19029,16 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, "node_modules/es-abstract": { "version": "1.23.9", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", @@ -22256,7 +23044,6 @@ "integrity": "sha512-HM0q6XqQ93psDlqvuViNs/Ea3hAyGDkIdVAHlrEocjjAwGrs1fZ+EdQjS9eUPacnYB7Y8SoDdSY3H8p3ce205A==", "devOptional": true, "license": "MIT", - "peer": true, "engines": { "node": ">=14.17.6" } @@ -26712,9 +27499,9 @@ "license": "MIT" }, "node_modules/nx": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.5.0.tgz", - "integrity": "sha512-KuAzhTj1NHu3iOVsTBrzu7cboO69UgwzUMoAb8KfszV5FwQD5dARrkR7Ew4NZzFdB+arUr2rvo1ik9f1O19keg==", + "version": "20.6.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.6.4.tgz", + "integrity": "sha512-mkRgGvPSZpezn65upZ9psuyywr03XTirHDsqlnRYp90qqDQqMH/I1FsHqqUG5qdy4gbm5qFkZ5Vvc8Z3RkN/jg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -26723,7 +27510,7 @@ "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.2", "@zkochan/js-yaml": "0.0.7", - "axios": "^1.7.4", + "axios": "^1.8.3", "chalk": "^4.1.0", "cli-cursor": "3.1.0", "cli-spinners": "2.6.1", @@ -26759,16 +27546,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.5.0", - "@nx/nx-darwin-x64": "20.5.0", - "@nx/nx-freebsd-x64": "20.5.0", - "@nx/nx-linux-arm-gnueabihf": "20.5.0", - "@nx/nx-linux-arm64-gnu": "20.5.0", - "@nx/nx-linux-arm64-musl": "20.5.0", - "@nx/nx-linux-x64-gnu": "20.5.0", - "@nx/nx-linux-x64-musl": "20.5.0", - "@nx/nx-win32-arm64-msvc": "20.5.0", - "@nx/nx-win32-x64-msvc": "20.5.0" + "@nx/nx-darwin-arm64": "20.6.4", + "@nx/nx-darwin-x64": "20.6.4", + "@nx/nx-freebsd-x64": "20.6.4", + "@nx/nx-linux-arm-gnueabihf": "20.6.4", + "@nx/nx-linux-arm64-gnu": "20.6.4", + "@nx/nx-linux-arm64-musl": "20.6.4", + "@nx/nx-linux-x64-gnu": "20.6.4", + "@nx/nx-linux-x64-musl": "20.6.4", + "@nx/nx-win32-arm64-msvc": "20.6.4", + "@nx/nx-win32-x64-msvc": "20.6.4" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -30014,6 +30801,15 @@ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "license": "MIT" }, + "node_modules/rslog": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/rslog/-/rslog-1.2.3.tgz", + "integrity": "sha512-antALPJaKBRPBU1X2q9t085K4htWDOOv/K1qhTUk7h0l1ePU/KbDqKJn19eKP0dk7PqMioeA0+fu3gyPXCsXxQ==", + "dev": true, + "engines": { + "node": ">=14.17.6" + } + }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -31450,6 +32246,13 @@ "node": ">=8" } }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true, + "license": "MIT" + }, "node_modules/standard-as-callback": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", @@ -32571,6 +33374,143 @@ "typescript": ">=4.8.4" } }, + "node_modules/ts-checker-rspack-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ts-checker-rspack-plugin/-/ts-checker-rspack-plugin-1.1.1.tgz", + "integrity": "sha512-BlpPqnfAmV0TcDg58H+1qV8Zb57ilv0x+ajjnxrVQ6BWgC8HzAdc+TycqDOJ4sZZYIV+hywQGozZFGklzbCR6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@rspack/lite-tapable": "^1.0.0", + "chokidar": "^3.5.3", + "memfs": "^4.14.0", + "minimatch": "^9.0.5", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@rspack/core": "^1.0.0", + "typescript": ">=3.8.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + } + } + }, + "node_modules/ts-checker-rspack-plugin/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ts-checker-rspack-plugin/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ts-checker-rspack-plugin/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ts-checker-rspack-plugin/node_modules/memfs": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", + "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/ts-checker-rspack-plugin/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ts-checker-rspack-plugin/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/ts-checker-rspack-plugin/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/ts-dedent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", diff --git a/package.json b/package.json index 45413e198..2a130b000 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.148.0", + "version": "2.149.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", @@ -154,17 +154,17 @@ "@eslint/js": "9.18.0", "@nestjs/schematics": "11.0.2", "@nestjs/testing": "11.0.12", - "@nx/angular": "20.5.0", - "@nx/cypress": "20.5.0", - "@nx/eslint-plugin": "20.5.0", - "@nx/jest": "20.5.0", - "@nx/js": "20.5.0", - "@nx/module-federation": "20.5.0", - "@nx/nest": "20.5.0", - "@nx/node": "20.5.0", - "@nx/storybook": "20.5.0", - "@nx/web": "20.5.0", - "@nx/workspace": "20.5.0", + "@nx/angular": "20.6.4", + "@nx/cypress": "20.6.4", + "@nx/eslint-plugin": "20.6.4", + "@nx/jest": "20.6.4", + "@nx/js": "20.6.4", + "@nx/module-federation": "20.6.4", + "@nx/nest": "20.6.4", + "@nx/node": "20.6.4", + "@nx/storybook": "20.6.4", + "@nx/web": "20.6.4", + "@nx/workspace": "20.6.4", "@schematics/angular": "19.2.1", "@storybook/addon-essentials": "8.4.7", "@storybook/addon-interactions": "8.4.7", @@ -191,7 +191,7 @@ "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jest-preset-angular": "14.4.2", - "nx": "20.5.0", + "nx": "20.6.4", "prettier": "3.5.3", "prettier-plugin-organize-attributes": "1.0.0", "prisma": "6.5.0",