From 30ca3c5887b75203c97ef84771ab0feebe2d2406 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Mon, 12 Oct 2026 11:04:16 +0200 Subject: [PATCH] Add icon --- .../admin-users/admin-users.component.ts | 21 +++++++++++++++++++ .../components/admin-users/admin-users.html | 21 +++++++++++++------ 2 files changed, 36 insertions(+), 6 deletions(-) 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 8969583d35..04d5daa907 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 @@ -21,6 +21,7 @@ import { } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; +import { RequestClient } from '@ghostfolio/prisma/enums'; import { NotificationService } from '@ghostfolio/ui/notifications'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { AdminService, DataService } from '@ghostfolio/ui/services'; @@ -51,10 +52,14 @@ import { ActivatedRoute, Router, RouterModule } from '@angular/router'; import { IonIcon } from '@ionic/angular/standalone'; import { addIcons } from 'ionicons'; import { + codeSlashOutline, contractOutline, ellipsisHorizontal, + globeOutline, keyOutline, personOutline, + serverOutline, + sparklesOutline, trashOutline } from 'ionicons/icons'; import ms from 'ms'; @@ -85,6 +90,7 @@ export class GfAdminUsersComponent implements OnInit { protected dataSource = new MatTableDataSource< AdminUsersResponse['users'][0] >(); + protected defaultDateFormat: string; protected displayedColumns: string[] = []; protected readonly canDeleteUser = canDeleteUser; @@ -96,8 +102,17 @@ export class GfAdminUsersComponent implements OnInit { protected info: InfoItem; protected isLoading = false; protected readonly pageSize = DEFAULT_PAGE_SIZE; + + protected readonly requestClientIcons: Record = { + API: 'code-slash-outline', + MCP: 'sparkles-outline', + SELF_HOSTING: 'server-outline', + WEB: 'globe-outline' + }; + protected readonly routerLinkAdminControlUsers = internalRoutes.adminControl.subRoutes.users.routerLink; + protected totalItems = 0; protected user: User; @@ -112,9 +127,11 @@ export class GfAdminUsersComponent implements OnInit { private readonly destroyRef = inject(DestroyRef); private readonly deviceDetectorService = inject(DeviceDetectorService); private readonly dialog = inject(MatDialog); + private readonly impersonationStorageService = inject( ImpersonationStorageService ); + private readonly notificationService = inject(NotificationService); private readonly route = inject(ActivatedRoute); private readonly router = inject(Router); @@ -182,10 +199,14 @@ export class GfAdminUsersComponent implements OnInit { }); addIcons({ + codeSlashOutline, contractOutline, ellipsisHorizontal, + globeOutline, keyOutline, personOutline, + serverOutline, + sparklesOutline, trashOutline }); } diff --git a/apps/client/src/app/components/admin-users/admin-users.html b/apps/client/src/app/components/admin-users/admin-users.html index e0ec70c551..9b6ef679ad 100644 --- a/apps/client/src/app/components/admin-users/admin-users.html +++ b/apps/client/src/app/components/admin-users/admin-users.html @@ -192,12 +192,21 @@ class="mat-mdc-cell px-1 py-2 text-nowrap" mat-cell > - {{ - formatRelativeTime({ - date: element.lastActivity, - language: user?.settings?.language - }) - }} +
+ @if (element.lastRequestClient) { + + } + {{ + formatRelativeTime({ + date: element.lastActivity, + language: user?.settings?.language + }) + }} +
}