From 76e06ed59f9cd266088c496a806d4f5fcd4fe85a Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Tue, 9 Dec 2025 02:01:22 +0700 Subject: [PATCH] Task/move notification service to UI library (#6048) * Move notification service to UI library * Update changelog --- CHANGELOG.md | 1 + apps/client/src/app/app.component.ts | 2 +- .../src/app/components/access-table/access-table.component.ts | 2 +- .../src/app/components/admin-jobs/admin-jobs.component.ts | 2 +- .../components/admin-market-data/admin-market-data.service.ts | 2 +- .../asset-profile-dialog/asset-profile-dialog.component.ts | 2 +- .../app/components/admin-overview/admin-overview.component.ts | 2 +- .../app/components/admin-platform/admin-platform.component.ts | 2 +- .../app/components/admin-settings/admin-settings.component.ts | 2 +- .../src/app/components/admin-tag/admin-tag.component.ts | 2 +- .../src/app/components/admin-users/admin-users.component.ts | 2 +- apps/client/src/app/components/header/header.component.ts | 2 +- .../portfolio-performance/portfolio-performance.component.ts | 2 +- .../portfolio-summary/portfolio-summary.component.ts | 2 +- .../create-or-update-access-dialog.component.ts | 2 +- .../user-account-access/user-account-access.component.ts | 2 +- .../user-account-membership.component.ts | 2 +- .../user-account-settings/user-account-settings.component.ts | 2 +- apps/client/src/app/core/layout.service.ts | 4 ++-- apps/client/src/app/pages/accounts/accounts-page.component.ts | 2 +- apps/client/src/app/pages/demo/demo-page.component.ts | 2 +- apps/client/src/app/pages/pricing/pricing-page.component.ts | 2 +- apps/client/src/main.ts | 2 +- .../ui/src/lib/account-balances/account-balances.component.ts | 3 +-- .../lib/accounts-table/accounts-table.component.stories.ts | 2 +- libs/ui/src/lib/accounts-table/accounts-table.component.ts | 3 +-- .../activities-table/activities-table.component.stories.ts | 2 +- .../ui/src/lib/activities-table/activities-table.component.ts | 3 +-- libs/ui/src/lib/benchmark/benchmark.component.ts | 3 +-- .../lib/notifications}/alert-dialog/alert-dialog.component.ts | 0 .../ui/src/lib/notifications}/alert-dialog/alert-dialog.html | 0 .../ui/src/lib/notifications}/alert-dialog/alert-dialog.scss | 0 .../lib/notifications}/alert-dialog/interfaces/interfaces.ts | 0 .../confirmation-dialog/confirmation-dialog.component.ts | 0 .../confirmation-dialog/confirmation-dialog.html | 0 .../confirmation-dialog/confirmation-dialog.scss | 0 .../confirmation-dialog/interfaces/interfaces.ts | 0 libs/ui/src/lib/notifications/index.ts | 3 +++ .../ui/src/lib/notifications}/interfaces/interfaces.ts | 0 .../ui/src/lib/notifications}/notification.module.ts | 0 .../ui/src/lib/notifications}/notification.service.ts | 0 .../notifications}/prompt-dialog/prompt-dialog.component.ts | 0 .../src/lib/notifications}/prompt-dialog/prompt-dialog.html | 0 43 files changed, 33 insertions(+), 33 deletions(-) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/alert-dialog/alert-dialog.component.ts (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/alert-dialog/alert-dialog.html (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/alert-dialog/alert-dialog.scss (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/alert-dialog/interfaces/interfaces.ts (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/confirmation-dialog/confirmation-dialog.component.ts (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/confirmation-dialog/confirmation-dialog.html (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/confirmation-dialog/confirmation-dialog.scss (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/confirmation-dialog/interfaces/interfaces.ts (100%) create mode 100644 libs/ui/src/lib/notifications/index.ts rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/interfaces/interfaces.ts (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/notification.module.ts (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/notification.service.ts (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/prompt-dialog/prompt-dialog.component.ts (100%) rename {apps/client/src/app/core/notification => libs/ui/src/lib/notifications}/prompt-dialog/prompt-dialog.html (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index f818b9d28..7ceb94a11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Moved the notification module to `@ghostfolio/ui` - Improved the language localization for German (`de`) ## 2.222.0 - 2025-12-07 diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index de82c7d9c..12a7b0de9 100644 --- a/apps/client/src/app/app.component.ts +++ b/apps/client/src/app/app.component.ts @@ -3,6 +3,7 @@ import { InfoItem, User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { internalRoutes, publicRoutes } from '@ghostfolio/common/routes/routes'; import { ColorScheme } from '@ghostfolio/common/types'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { ChangeDetectionStrategy, @@ -35,7 +36,6 @@ import { GfFooterComponent } from './components/footer/footer.component'; import { GfHeaderComponent } from './components/header/header.component'; import { GfHoldingDetailDialogComponent } from './components/holding-detail-dialog/holding-detail-dialog.component'; import { HoldingDetailDialogParams } from './components/holding-detail-dialog/interfaces/interfaces'; -import { NotificationService } from './core/notification/notification.service'; import { DataService } from './services/data.service'; import { ImpersonationStorageService } from './services/impersonation-storage.service'; import { TokenStorageService } from './services/token-storage.service'; diff --git a/apps/client/src/app/components/access-table/access-table.component.ts b/apps/client/src/app/components/access-table/access-table.component.ts index 1127e5629..fe2c81199 100644 --- a/apps/client/src/app/components/access-table/access-table.component.ts +++ b/apps/client/src/app/components/access-table/access-table.component.ts @@ -1,7 +1,7 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { Access, User } from '@ghostfolio/common/interfaces'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { Clipboard, ClipboardModule } from '@angular/cdk/clipboard'; import { CommonModule } from '@angular/common'; diff --git a/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts b/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts index 8ed72445f..66bac76f5 100644 --- a/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts +++ b/apps/client/src/app/components/admin-jobs/admin-jobs.component.ts @@ -1,4 +1,3 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { @@ -9,6 +8,7 @@ import { } from '@ghostfolio/common/config'; import { getDateWithTimeFormatString } from '@ghostfolio/common/helper'; import { AdminJobs, User } from '@ghostfolio/common/interfaces'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { CommonModule } from '@angular/common'; import { diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts index 3f60cb8c5..eaad32c0e 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts @@ -1,4 +1,3 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { ghostfolioScraperApiSymbolPrefix } from '@ghostfolio/common/config'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; @@ -11,6 +10,7 @@ import { AssetProfileIdentifier, AdminMarketDataItem } from '@ghostfolio/common/interfaces'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { Injectable } from '@angular/core'; import { EMPTY, catchError, finalize, forkJoin } from 'rxjs'; 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 b2ef4f17b..3fe944a25 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 @@ -1,5 +1,4 @@ import { AdminMarketDataService } from '@ghostfolio/client/components/admin-market-data/admin-market-data.service'; -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; @@ -24,6 +23,7 @@ import { GfEntityLogoComponent } from '@ghostfolio/ui/entity-logo'; import { GfHistoricalMarketDataEditorComponent } from '@ghostfolio/ui/historical-market-data-editor'; import { translate } from '@ghostfolio/ui/i18n'; import { GfLineChartComponent } from '@ghostfolio/ui/line-chart'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPortfolioProportionChartComponent } from '@ghostfolio/ui/portfolio-proportion-chart'; import { GfSymbolAutocompleteComponent } from '@ghostfolio/ui/symbol-autocomplete'; import { GfValueComponent } from '@ghostfolio/ui/value'; diff --git a/apps/client/src/app/components/admin-overview/admin-overview.component.ts b/apps/client/src/app/components/admin-overview/admin-overview.component.ts index 0b4b36d06..e4be7b062 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.component.ts +++ b/apps/client/src/app/components/admin-overview/admin-overview.component.ts @@ -1,4 +1,3 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { CacheService } from '@ghostfolio/client/services/cache.service'; import { DataService } from '@ghostfolio/client/services/data.service'; @@ -20,6 +19,7 @@ import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfValueComponent } from '@ghostfolio/ui/value'; import { CommonModule } from '@angular/common'; diff --git a/apps/client/src/app/components/admin-platform/admin-platform.component.ts b/apps/client/src/app/components/admin-platform/admin-platform.component.ts index 64e7ff7cf..832a70503 100644 --- a/apps/client/src/app/components/admin-platform/admin-platform.component.ts +++ b/apps/client/src/app/components/admin-platform/admin-platform.component.ts @@ -1,10 +1,10 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { CreatePlatformDto, UpdatePlatformDto } from '@ghostfolio/common/dtos'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { GfEntityLogoComponent } from '@ghostfolio/ui/entity-logo'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { ChangeDetectionStrategy, diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.ts b/apps/client/src/app/components/admin-settings/admin-settings.component.ts index ec44b6e65..cabf4e589 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.ts +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -1,7 +1,6 @@ import { GfAdminPlatformComponent } from '@ghostfolio/client/components/admin-platform/admin-platform.component'; import { GfAdminTagComponent } from '@ghostfolio/client/components/admin-tag/admin-tag.component'; import { GfDataProviderStatusComponent } from '@ghostfolio/client/components/data-provider-status/data-provider-status.component'; -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; @@ -15,6 +14,7 @@ import { } from '@ghostfolio/common/interfaces'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { GfEntityLogoComponent } from '@ghostfolio/ui/entity-logo'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { GfValueComponent } from '@ghostfolio/ui/value'; diff --git a/apps/client/src/app/components/admin-tag/admin-tag.component.ts b/apps/client/src/app/components/admin-tag/admin-tag.component.ts index a891baa45..305eb4628 100644 --- a/apps/client/src/app/components/admin-tag/admin-tag.component.ts +++ b/apps/client/src/app/components/admin-tag/admin-tag.component.ts @@ -1,8 +1,8 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { CreateTagDto, UpdateTagDto } from '@ghostfolio/common/dtos'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { ChangeDetectionStrategy, diff --git a/apps/client/src/app/components/admin-users/admin-users.component.ts b/apps/client/src/app/components/admin-users/admin-users.component.ts index 6c366a16c..99fbe7901 100644 --- a/apps/client/src/app/components/admin-users/admin-users.component.ts +++ b/apps/client/src/app/components/admin-users/admin-users.component.ts @@ -1,6 +1,5 @@ import { UserDetailDialogParams } from '@ghostfolio/client/components/user-detail-dialog/interfaces/interfaces'; import { GfUserDetailDialogComponent } from '@ghostfolio/client/components/user-detail-dialog/user-detail-dialog.component'; -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; @@ -19,6 +18,7 @@ import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { GfValueComponent } from '@ghostfolio/ui/value'; diff --git a/apps/client/src/app/components/header/header.component.ts b/apps/client/src/app/components/header/header.component.ts index 80239d56f..b7bf4cb98 100644 --- a/apps/client/src/app/components/header/header.component.ts +++ b/apps/client/src/app/components/header/header.component.ts @@ -1,7 +1,6 @@ import { LoginWithAccessTokenDialogParams } from '@ghostfolio/client/components/login-with-access-token-dialog/interfaces/interfaces'; import { GfLoginWithAccessTokenDialogComponent } from '@ghostfolio/client/components/login-with-access-token-dialog/login-with-access-token-dialog.component'; import { LayoutService } from '@ghostfolio/client/core/layout.service'; -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { @@ -17,6 +16,7 @@ import { internalRoutes, publicRoutes } from '@ghostfolio/common/routes/routes'; import { DateRange } from '@ghostfolio/common/types'; import { GfAssistantComponent } from '@ghostfolio/ui/assistant/assistant.component'; import { GfLogoComponent } from '@ghostfolio/ui/logo'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { CommonModule } from '@angular/common'; diff --git a/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts b/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts index c98a26831..04c0f507c 100644 --- a/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts +++ b/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts @@ -1,4 +1,3 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { getLocale, getNumberFormatDecimal, @@ -8,6 +7,7 @@ import { PortfolioPerformance, ResponseError } from '@ghostfolio/common/interfaces'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfValueComponent } from '@ghostfolio/ui/value'; import { CommonModule } from '@angular/common'; diff --git a/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts b/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts index 7eab9172e..9e9bb13d3 100644 --- a/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts +++ b/apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts @@ -1,8 +1,8 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { NUMERICAL_PRECISION_THRESHOLD_6_FIGURES } from '@ghostfolio/common/config'; import { getDateFnsLocale, getLocale } from '@ghostfolio/common/helper'; import { PortfolioSummary, User } from '@ghostfolio/common/interfaces'; import { translate } from '@ghostfolio/ui/i18n'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfValueComponent } from '@ghostfolio/ui/value'; import { CommonModule } from '@angular/common'; diff --git a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts index 9aa07feee..05c047dc6 100644 --- a/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts +++ b/apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts @@ -1,7 +1,7 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { CreateAccessDto, UpdateAccessDto } from '@ghostfolio/common/dtos'; import { validateObjectForForm } from '@ghostfolio/common/utils'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { ChangeDetectionStrategy, diff --git a/apps/client/src/app/components/user-account-access/user-account-access.component.ts b/apps/client/src/app/components/user-account-access/user-account-access.component.ts index da2e8f508..11960b8aa 100644 --- a/apps/client/src/app/components/user-account-access/user-account-access.component.ts +++ b/apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -1,5 +1,4 @@ import { GfAccessTableComponent } from '@ghostfolio/client/components/access-table/access-table.component'; -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; @@ -7,6 +6,7 @@ import { CreateAccessDto } from '@ghostfolio/common/dtos'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { Access, User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { diff --git a/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts b/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts index ae9183c13..069ea4b0e 100644 --- a/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts +++ b/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts @@ -1,4 +1,3 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; @@ -7,6 +6,7 @@ import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { GfMembershipCardComponent } from '@ghostfolio/ui/membership-card'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { CommonModule } from '@angular/common'; diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts index 32e3d132e..e17425676 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1,4 +1,3 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { KEY_STAY_SIGNED_IN, @@ -12,6 +11,7 @@ import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { downloadAsFile } from '@ghostfolio/common/helper'; import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { ChangeDetectionStrategy, diff --git a/apps/client/src/app/core/layout.service.ts b/apps/client/src/app/core/layout.service.ts index a6fb65006..fd435acdb 100644 --- a/apps/client/src/app/core/layout.service.ts +++ b/apps/client/src/app/core/layout.service.ts @@ -1,9 +1,9 @@ +import { NotificationService } from '@ghostfolio/ui/notifications'; + import { Injectable } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Observable, Subject } from 'rxjs'; -import { NotificationService } from './notification/notification.service'; - @Injectable({ providedIn: 'root' }) diff --git a/apps/client/src/app/pages/accounts/accounts-page.component.ts b/apps/client/src/app/pages/accounts/accounts-page.component.ts index 2bb6457a5..2b496e4fb 100644 --- a/apps/client/src/app/pages/accounts/accounts-page.component.ts +++ b/apps/client/src/app/pages/accounts/accounts-page.component.ts @@ -1,6 +1,5 @@ import { GfAccountDetailDialogComponent } from '@ghostfolio/client/components/account-detail-dialog/account-detail-dialog.component'; import { AccountDetailDialogParams } from '@ghostfolio/client/components/account-detail-dialog/interfaces/interfaces'; -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; @@ -12,6 +11,7 @@ import { import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { GfAccountsTableComponent } from '@ghostfolio/ui/accounts-table'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; diff --git a/apps/client/src/app/pages/demo/demo-page.component.ts b/apps/client/src/app/pages/demo/demo-page.component.ts index 720bb4974..9eba64788 100644 --- a/apps/client/src/app/pages/demo/demo-page.component.ts +++ b/apps/client/src/app/pages/demo/demo-page.component.ts @@ -1,7 +1,7 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; import { InfoItem } from '@ghostfolio/common/interfaces'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { Component, OnDestroy } from '@angular/core'; import { Router } from '@angular/router'; diff --git a/apps/client/src/app/pages/pricing/pricing-page.component.ts b/apps/client/src/app/pages/pricing/pricing-page.component.ts index 88958ea0d..6ed8dfd31 100644 --- a/apps/client/src/app/pages/pricing/pricing-page.component.ts +++ b/apps/client/src/app/pages/pricing/pricing-page.component.ts @@ -1,10 +1,10 @@ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { translate } from '@ghostfolio/ui/i18n'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { CommonModule } from '@angular/common'; diff --git a/apps/client/src/main.ts b/apps/client/src/main.ts index fc8a9ef7a..2a22b7b7b 100644 --- a/apps/client/src/main.ts +++ b/apps/client/src/main.ts @@ -1,6 +1,7 @@ import { locale } from '@ghostfolio/common/config'; import { InfoResponse } from '@ghostfolio/common/interfaces'; import { filterGlobalPermissions } from '@ghostfolio/common/permissions'; +import { GfNotificationModule } from '@ghostfolio/ui/notifications'; import { Platform } from '@angular/cdk/platform'; import { @@ -33,7 +34,6 @@ import { authInterceptorProviders } from './app/core/auth.interceptor'; import { httpResponseInterceptorProviders } from './app/core/http-response.interceptor'; import { LanguageService } from './app/core/language.service'; import { ModulePreloadService } from './app/core/module-preload.service'; -import { GfNotificationModule } from './app/core/notification/notification.module'; import { PageTitleStrategy } from './app/services/page-title.strategy'; import { environment } from './environments/environment'; diff --git a/libs/ui/src/lib/account-balances/account-balances.component.ts b/libs/ui/src/lib/account-balances/account-balances.component.ts index 5fe47347e..608ee1c75 100644 --- a/libs/ui/src/lib/account-balances/account-balances.component.ts +++ b/libs/ui/src/lib/account-balances/account-balances.component.ts @@ -1,10 +1,9 @@ -/* eslint-disable @nx/enforce-module-boundaries */ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { CreateAccountBalanceDto } from '@ghostfolio/common/dtos'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { DATE_FORMAT, getLocale } from '@ghostfolio/common/helper'; import { AccountBalancesResponse } from '@ghostfolio/common/interfaces'; import { validateObjectForForm } from '@ghostfolio/common/utils'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { CUSTOM_ELEMENTS_SCHEMA, diff --git a/libs/ui/src/lib/accounts-table/accounts-table.component.stories.ts b/libs/ui/src/lib/accounts-table/accounts-table.component.stories.ts index aeda82fd9..53c59a95f 100644 --- a/libs/ui/src/lib/accounts-table/accounts-table.component.stories.ts +++ b/libs/ui/src/lib/accounts-table/accounts-table.component.stories.ts @@ -7,10 +7,10 @@ import { RouterModule } from '@angular/router'; import { IonIcon } from '@ionic/angular/standalone'; import { moduleMetadata } from '@storybook/angular'; import type { Meta, StoryObj } from '@storybook/angular'; -import { NotificationService } from 'apps/client/src/app/core/notification/notification.service'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { GfEntityLogoComponent } from '../entity-logo'; +import { NotificationService } from '../notifications'; import { GfValueComponent } from '../value'; import { GfAccountsTableComponent } from './accounts-table.component'; diff --git a/libs/ui/src/lib/accounts-table/accounts-table.component.ts b/libs/ui/src/lib/accounts-table/accounts-table.component.ts index 898231168..699de6d7e 100644 --- a/libs/ui/src/lib/accounts-table/accounts-table.component.ts +++ b/libs/ui/src/lib/accounts-table/accounts-table.component.ts @@ -1,8 +1,7 @@ -/* eslint-disable @nx/enforce-module-boundaries */ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { getLocale } from '@ghostfolio/common/helper'; import { GfEntityLogoComponent } from '@ghostfolio/ui/entity-logo'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfValueComponent } from '@ghostfolio/ui/value'; import { CommonModule } from '@angular/common'; diff --git a/libs/ui/src/lib/activities-table/activities-table.component.stories.ts b/libs/ui/src/lib/activities-table/activities-table.component.stories.ts index a0ad690d7..e7a2ba819 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.stories.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.stories.ts @@ -13,12 +13,12 @@ import { RouterModule } from '@angular/router'; import { IonIcon } from '@ionic/angular/standalone'; import { moduleMetadata } from '@storybook/angular'; import type { Meta, StoryObj } from '@storybook/angular'; -import { NotificationService } from 'apps/client/src/app/core/notification/notification.service'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { GfActivityTypeComponent } from '../activity-type/activity-type.component'; import { GfEntityLogoComponent } from '../entity-logo'; import { GfNoTransactionsInfoComponent } from '../no-transactions-info/no-transactions-info.component'; +import { NotificationService } from '../notifications'; import { GfValueComponent } from '../value'; import { GfActivitiesTableComponent } from './activities-table.component'; diff --git a/libs/ui/src/lib/activities-table/activities-table.component.ts b/libs/ui/src/lib/activities-table/activities-table.component.ts index 476fca5fb..e53f37872 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.ts @@ -1,5 +1,3 @@ -/* eslint-disable @nx/enforce-module-boundaries */ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DEFAULT_PAGE_SIZE, TAG_ID_EXCLUDE_FROM_ANALYSIS @@ -12,6 +10,7 @@ import { } from '@ghostfolio/common/interfaces'; import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { OrderWithAccount } from '@ghostfolio/common/types'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { SelectionModel } from '@angular/cdk/collections'; import { CommonModule } from '@angular/common'; diff --git a/libs/ui/src/lib/benchmark/benchmark.component.ts b/libs/ui/src/lib/benchmark/benchmark.component.ts index 5793300c1..fe53240ed 100644 --- a/libs/ui/src/lib/benchmark/benchmark.component.ts +++ b/libs/ui/src/lib/benchmark/benchmark.component.ts @@ -1,5 +1,3 @@ -/* eslint-disable @nx/enforce-module-boundaries */ -import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { getLocale, resolveMarketCondition } from '@ghostfolio/common/helper'; import { @@ -7,6 +5,7 @@ import { Benchmark, User } from '@ghostfolio/common/interfaces'; +import { NotificationService } from '@ghostfolio/ui/notifications'; import { CommonModule } from '@angular/common'; import { diff --git a/apps/client/src/app/core/notification/alert-dialog/alert-dialog.component.ts b/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts similarity index 100% rename from apps/client/src/app/core/notification/alert-dialog/alert-dialog.component.ts rename to libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts diff --git a/apps/client/src/app/core/notification/alert-dialog/alert-dialog.html b/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html similarity index 100% rename from apps/client/src/app/core/notification/alert-dialog/alert-dialog.html rename to libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html diff --git a/apps/client/src/app/core/notification/alert-dialog/alert-dialog.scss b/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.scss similarity index 100% rename from apps/client/src/app/core/notification/alert-dialog/alert-dialog.scss rename to libs/ui/src/lib/notifications/alert-dialog/alert-dialog.scss diff --git a/apps/client/src/app/core/notification/alert-dialog/interfaces/interfaces.ts b/libs/ui/src/lib/notifications/alert-dialog/interfaces/interfaces.ts similarity index 100% rename from apps/client/src/app/core/notification/alert-dialog/interfaces/interfaces.ts rename to libs/ui/src/lib/notifications/alert-dialog/interfaces/interfaces.ts diff --git a/apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.component.ts b/libs/ui/src/lib/notifications/confirmation-dialog/confirmation-dialog.component.ts similarity index 100% rename from apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.component.ts rename to libs/ui/src/lib/notifications/confirmation-dialog/confirmation-dialog.component.ts diff --git a/apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.html b/libs/ui/src/lib/notifications/confirmation-dialog/confirmation-dialog.html similarity index 100% rename from apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.html rename to libs/ui/src/lib/notifications/confirmation-dialog/confirmation-dialog.html diff --git a/apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.scss b/libs/ui/src/lib/notifications/confirmation-dialog/confirmation-dialog.scss similarity index 100% rename from apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.scss rename to libs/ui/src/lib/notifications/confirmation-dialog/confirmation-dialog.scss diff --git a/apps/client/src/app/core/notification/confirmation-dialog/interfaces/interfaces.ts b/libs/ui/src/lib/notifications/confirmation-dialog/interfaces/interfaces.ts similarity index 100% rename from apps/client/src/app/core/notification/confirmation-dialog/interfaces/interfaces.ts rename to libs/ui/src/lib/notifications/confirmation-dialog/interfaces/interfaces.ts diff --git a/libs/ui/src/lib/notifications/index.ts b/libs/ui/src/lib/notifications/index.ts new file mode 100644 index 000000000..864083b16 --- /dev/null +++ b/libs/ui/src/lib/notifications/index.ts @@ -0,0 +1,3 @@ +export * from './interfaces/interfaces'; +export * from './notification.module'; +export * from './notification.service'; diff --git a/apps/client/src/app/core/notification/interfaces/interfaces.ts b/libs/ui/src/lib/notifications/interfaces/interfaces.ts similarity index 100% rename from apps/client/src/app/core/notification/interfaces/interfaces.ts rename to libs/ui/src/lib/notifications/interfaces/interfaces.ts diff --git a/apps/client/src/app/core/notification/notification.module.ts b/libs/ui/src/lib/notifications/notification.module.ts similarity index 100% rename from apps/client/src/app/core/notification/notification.module.ts rename to libs/ui/src/lib/notifications/notification.module.ts diff --git a/apps/client/src/app/core/notification/notification.service.ts b/libs/ui/src/lib/notifications/notification.service.ts similarity index 100% rename from apps/client/src/app/core/notification/notification.service.ts rename to libs/ui/src/lib/notifications/notification.service.ts diff --git a/apps/client/src/app/core/notification/prompt-dialog/prompt-dialog.component.ts b/libs/ui/src/lib/notifications/prompt-dialog/prompt-dialog.component.ts similarity index 100% rename from apps/client/src/app/core/notification/prompt-dialog/prompt-dialog.component.ts rename to libs/ui/src/lib/notifications/prompt-dialog/prompt-dialog.component.ts diff --git a/apps/client/src/app/core/notification/prompt-dialog/prompt-dialog.html b/libs/ui/src/lib/notifications/prompt-dialog/prompt-dialog.html similarity index 100% rename from apps/client/src/app/core/notification/prompt-dialog/prompt-dialog.html rename to libs/ui/src/lib/notifications/prompt-dialog/prompt-dialog.html