Browse Source

Merge branch 'main' into task/upgrade-prettier-to-version-3.9.10

pull/8223/head
Thomas Kaul 1 day ago
committed by GitHub
parent
commit
e837ca4b84
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      CHANGELOG.md
  2. 2
      apps/api/src/app/activities/activities.module.ts
  3. 8
      apps/api/src/app/app.module.ts
  4. 17
      apps/api/src/app/asset/asset.module.ts
  5. 3
      apps/api/src/app/endpoints/asset-profiles/asset-profiles.module.ts
  6. 3
      apps/api/src/app/endpoints/asset-profiles/asset.controller.ts
  7. 0
      apps/api/src/app/endpoints/cache/cache.controller.ts
  8. 0
      apps/api/src/app/endpoints/cache/cache.module.ts
  9. 0
      apps/api/src/app/endpoints/info/info.controller.ts
  10. 0
      apps/api/src/app/endpoints/info/info.module.ts
  11. 0
      apps/api/src/app/endpoints/info/info.service.ts
  12. 0
      apps/api/src/app/endpoints/logo/get-logo.dto.ts
  13. 0
      apps/api/src/app/endpoints/logo/logo.controller.ts
  14. 0
      apps/api/src/app/endpoints/logo/logo.module.ts
  15. 0
      apps/api/src/app/endpoints/logo/logo.service.ts
  16. 2
      apps/api/src/app/import/import.module.ts
  17. 7
      libs/ui/src/lib/dialog-footer/dialog-footer.component.html
  18. 4
      libs/ui/src/lib/dialog-footer/dialog-footer.component.scss
  19. 4
      libs/ui/src/lib/dialog-footer/dialog-footer.component.ts
  20. 13
      libs/ui/src/lib/dialog-header/dialog-header.component.html
  21. 11
      libs/ui/src/lib/dialog-header/dialog-header.component.scss
  22. 4
      libs/ui/src/lib/dialog-header/dialog-header.component.ts

2
CHANGELOG.md

@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Improved the style of the close button in the dialog footer component
- Improved the style of the close button in the dialog header component
- Upgraded `prettier` from version `3.9.9` to `3.9.10`
## 3.90.0 - 2026-10-21

2
apps/api/src/app/activities/activities.module.ts

@ -1,6 +1,5 @@
import { AccountBalanceService } from '@ghostfolio/api/app/account-balance/account-balance.service';
import { AccountService } from '@ghostfolio/api/app/account/account.service';
import { CacheModule } from '@ghostfolio/api/app/cache/cache.module';
import { RedactValuesInResponseModule } from '@ghostfolio/api/interceptors/redact-values-in-response/redact-values-in-response.module';
import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module';
import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module';
@ -29,7 +28,6 @@ import { ActivitiesService } from './activities.service';
ApiModule,
AssetProfileSplitModule,
BenchmarkModule,
CacheModule,
DataGatheringQueueModule,
DataProviderModule,
ExchangeRateDataModule,

8
apps/api/src/app/app.module.ts

@ -40,17 +40,18 @@ import { AccountModule } from './account/account.module';
import { ActivitiesModule } from './activities/activities.module';
import { AdminModule } from './admin/admin.module';
import { AppController } from './app.controller';
import { AssetModule } from './asset/asset.module';
import { AuthModule } from './auth/auth.module';
import { CacheModule } from './cache/cache.module';
import { AiModule } from './endpoints/ai/ai.module';
import { ApiKeysModule } from './endpoints/api-keys/api-keys.module';
import { AssetProfilesModule } from './endpoints/asset-profiles/asset-profiles.module';
import { AssetsModule } from './endpoints/assets/assets.module';
import { AuthDevicesModule } from './endpoints/auth-devices/auth-devices.module';
import { BenchmarksModule } from './endpoints/benchmarks/benchmarks.module';
import { CacheModule } from './endpoints/cache/cache.module';
import { GhostfolioModule } from './endpoints/data-providers/ghostfolio/ghostfolio.module';
import { ExchangeRatesModule } from './endpoints/exchange-rates/exchange-rates.module';
import { InfoModule } from './endpoints/info/info.module';
import { LogoModule } from './endpoints/logo/logo.module';
import { MarketDataModule } from './endpoints/market-data/market-data.module';
import { McpModule } from './endpoints/mcp/mcp.module';
import { PlatformsModule } from './endpoints/platforms/platforms.module';
@ -61,8 +62,6 @@ import { WatchlistModule } from './endpoints/watchlist/watchlist.module';
import { ExportModule } from './export/export.module';
import { HealthModule } from './health/health.module';
import { ImportModule } from './import/import.module';
import { InfoModule } from './info/info.module';
import { LogoModule } from './logo/logo.module';
import { PortfolioModule } from './portfolio/portfolio.module';
import { SubscriptionModule } from './subscription/subscription.module';
import { SymbolModule } from './symbol/symbol.module';
@ -78,7 +77,6 @@ import { UserModule } from './user/user.module';
AiModule,
ApiKeysModule,
AssetProfilesModule,
AssetModule,
AssetsModule,
AuthDevicesModule,
AuthModule,

17
apps/api/src/app/asset/asset.module.ts

@ -1,17 +0,0 @@
import { AssetProfilesModule } from '@ghostfolio/api/app/endpoints/asset-profiles/asset-profiles.module';
import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module';
import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module';
import { Module } from '@nestjs/common';
import { AssetController } from './asset.controller';
@Module({
controllers: [AssetController],
imports: [
AssetProfilesModule,
TransformDataSourceInRequestModule,
TransformDataSourceInResponseModule
]
})
export class AssetModule {}

3
apps/api/src/app/endpoints/asset-profiles/asset-profiles.module.ts

@ -15,9 +15,10 @@ import { Module } from '@nestjs/common';
import { AssetProfilesController } from './asset-profiles.controller';
import { AssetProfilesService } from './asset-profiles.service';
import { AssetController } from './asset.controller';
@Module({
controllers: [AssetProfilesController],
controllers: [AssetController, AssetProfilesController],
exports: [AssetProfilesService],
imports: [
ActivitiesModule,

3
apps/api/src/app/asset/asset.controller.ts → apps/api/src/app/endpoints/asset-profiles/asset.controller.ts

@ -1,4 +1,3 @@
import { AssetProfilesService } from '@ghostfolio/api/app/endpoints/asset-profiles/asset-profiles.service';
import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor';
import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor';
import type { AssetResponse } from '@ghostfolio/common/interfaces';
@ -7,6 +6,8 @@ import { Controller, Get, Param, UseInterceptors } from '@nestjs/common';
import { DataSource } from '@prisma/client';
import { pick } from 'lodash-es';
import { AssetProfilesService } from './asset-profiles.service';
@Controller('asset')
export class AssetController {
public constructor(

0
apps/api/src/app/cache/cache.controller.ts → apps/api/src/app/endpoints/cache/cache.controller.ts

0
apps/api/src/app/cache/cache.module.ts → apps/api/src/app/endpoints/cache/cache.module.ts

0
apps/api/src/app/info/info.controller.ts → apps/api/src/app/endpoints/info/info.controller.ts

0
apps/api/src/app/info/info.module.ts → apps/api/src/app/endpoints/info/info.module.ts

0
apps/api/src/app/info/info.service.ts → apps/api/src/app/endpoints/info/info.service.ts

0
apps/api/src/app/logo/get-logo.dto.ts → apps/api/src/app/endpoints/logo/get-logo.dto.ts

0
apps/api/src/app/logo/logo.controller.ts → apps/api/src/app/endpoints/logo/logo.controller.ts

0
apps/api/src/app/logo/logo.module.ts → apps/api/src/app/endpoints/logo/logo.module.ts

0
apps/api/src/app/logo/logo.service.ts → apps/api/src/app/endpoints/logo/logo.service.ts

2
apps/api/src/app/import/import.module.ts

@ -1,6 +1,5 @@
import { AccountModule } from '@ghostfolio/api/app/account/account.module';
import { ActivitiesModule } from '@ghostfolio/api/app/activities/activities.module';
import { CacheModule } from '@ghostfolio/api/app/cache/cache.module';
import { PortfolioModule } from '@ghostfolio/api/app/portfolio/portfolio.module';
import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module';
import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module';
@ -28,7 +27,6 @@ import { ImportService } from './import.service';
AccountModule,
ActivitiesModule,
ApiModule,
CacheModule,
ConfigurationModule,
DataGatheringQueueModule,
DataProviderModule,

7
libs/ui/src/lib/dialog-footer/dialog-footer.component.html

@ -1,7 +1,10 @@
@if (deviceType === 'mobile') {
<div class="d-flex justify-content-center" mat-dialog-actions>
<button mat-button (click)="onClickCloseButton()">
<ion-icon name="close" size="large" />
<button mat-icon-button (click)="onClickCloseButton()">
<ion-icon
class="d-block mat-icon text-body-secondary"
name="close-outline"
/>
</button>
</div>
}

4
libs/ui/src/lib/dialog-footer/dialog-footer.component.scss

@ -1,3 +1,7 @@
:host {
display: block;
button[mat-icon-button] {
--mat-icon-button-touch-target-display: block;
}
}

4
libs/ui/src/lib/dialog-footer/dialog-footer.component.ts

@ -9,7 +9,7 @@ import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule } from '@angular/material/dialog';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { close } from 'ionicons/icons';
import { closeOutline } from 'ionicons/icons';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
@ -25,7 +25,7 @@ export class GfDialogFooterComponent {
@Output() closeButtonClicked = new EventEmitter<void>();
public constructor() {
addIcons({ close });
addIcons({ closeOutline });
}
public onClickCloseButton() {

13
libs/ui/src/lib/dialog-header/dialog-header.component.html

@ -1,12 +1,19 @@
<div class="d-flex" mat-dialog-title>
<div
class="d-flex"
mat-dialog-title
[class.with-close-button]="deviceType() !== 'mobile'"
>
<span
class="flex-grow-1 text-truncate"
[class.text-center]="position() === 'center'"
>{{ title() }}</span
>
@if (deviceType() !== 'mobile') {
<button class="no-min-width px-0" mat-button (click)="onClickCloseButton()">
<ion-icon name="close" size="large" />
<button mat-icon-button (click)="onClickCloseButton()">
<ion-icon
class="d-block mat-icon text-body-secondary"
name="close-outline"
/>
</button>
}
</div>

11
libs/ui/src/lib/dialog-header/dialog-header.component.scss

@ -1,3 +1,14 @@
:host {
display: block;
button[mat-icon-button] {
margin-right: -0.8125rem;
margin-top: 0.125rem;
}
.with-close-button {
.text-center {
padding-left: 0.9375rem;
}
}
}

4
libs/ui/src/lib/dialog-header/dialog-header.component.ts

@ -8,7 +8,7 @@ import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule } from '@angular/material/dialog';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { close } from 'ionicons/icons';
import { closeOutline } from 'ionicons/icons';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
@ -26,7 +26,7 @@ export class GfDialogHeaderComponent {
public readonly closeButtonClicked = output<void>();
public constructor() {
addIcons({ close });
addIcons({ closeOutline });
}
protected onClickCloseButton() {

Loading…
Cancel
Save