From d5daca311b5f144af09b9de29f89bd078f1476ae Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Mon, 28 Apr 2025 16:39:28 +0200 Subject: [PATCH] Handle permissions --- .../home-watchlist.component.ts | 16 ++++++++- .../home-watchlist/home-watchlist.html | 33 ++++++++++++------- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts b/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts index 9b040a0a3..0198ab27a 100644 --- a/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts +++ b/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts @@ -1,7 +1,9 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { Benchmark, User } from '@ghostfolio/common/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { GfBenchmarkComponent } from '@ghostfolio/ui/benchmark'; +import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { CommonModule } from '@angular/common'; import { @@ -24,7 +26,13 @@ import { CreateWatchlistItemDialogParams } from './create-watchlist-item-dialog/ @Component({ changeDetection: ChangeDetectionStrategy.OnPush, - imports: [CommonModule, GfBenchmarkComponent, MatButtonModule, RouterModule], + imports: [ + CommonModule, + GfBenchmarkComponent, + GfPremiumIndicatorComponent, + MatButtonModule, + RouterModule + ], schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-home-watchlist', styleUrls: ['./home-watchlist.scss'], @@ -32,6 +40,7 @@ import { CreateWatchlistItemDialogParams } from './create-watchlist-item-dialog/ }) export class HomeWatchlistComponent implements OnDestroy, OnInit { public deviceType: string; + public hasPermissionToCreateWatchlistItem: boolean; public user: User; public watchlist: Benchmark[]; @@ -62,6 +71,11 @@ export class HomeWatchlistComponent implements OnDestroy, OnInit { if (state?.user) { this.user = state.user; + this.hasPermissionToCreateWatchlistItem = hasPermission( + this.user.permissions, + permissions.createWatchlistItem + ); + this.changeDetectorRef.markForCheck(); } }); diff --git a/apps/client/src/app/components/home-watchlist/home-watchlist.html b/apps/client/src/app/components/home-watchlist/home-watchlist.html index 0150640f2..0a2e37279 100644 --- a/apps/client/src/app/components/home-watchlist/home-watchlist.html +++ b/apps/client/src/app/components/home-watchlist/home-watchlist.html @@ -1,5 +1,12 @@