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 fa9d58956..3242609ec 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,8 +1,11 @@ -import { UserDetailDialogParams } from '@ghostfolio/client/components/user-detail-dialog/interfaces/interfaces'; +import { + UserDetailDialogParams, + UserDetailDialogResult +} from '@ghostfolio/client/components/user-detail-dialog/interfaces/interfaces'; import { GfUserDetailDialogComponent } from '@ghostfolio/client/components/user-detail-dialog/user-detail-dialog.component'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; -import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config'; +import { DEFAULT_PAGE_SIZE, locale } from '@ghostfolio/common/config'; import { ConfirmationDialogType } from '@ghostfolio/common/enums'; import { getDateFnsLocale, @@ -283,16 +286,17 @@ export class GfAdminUsersComponent implements OnInit { private openUserDetailDialog(aUserId: string) { const dialogRef = this.dialog.open< GfUserDetailDialogComponent, - UserDetailDialogParams + UserDetailDialogParams, + UserDetailDialogResult >(GfUserDetailDialogComponent, { autoFocus: false, data: { currentUserId: this.user?.id, deviceType: this.deviceType, hasPermissionForSubscription: this.hasPermissionForSubscription, - locale: this.user?.settings?.locale, + locale: this.user?.settings?.locale ?? locale, userId: aUserId - }, + } satisfies UserDetailDialogParams, height: this.deviceType === 'mobile' ? '98vh' : '60vh', width: this.deviceType === 'mobile' ? '100vw' : '50rem' }); diff --git a/apps/client/src/app/components/user-detail-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/user-detail-dialog/interfaces/interfaces.ts index ed46e8a02..41b2b210f 100644 --- a/apps/client/src/app/components/user-detail-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/components/user-detail-dialog/interfaces/interfaces.ts @@ -5,3 +5,8 @@ export interface UserDetailDialogParams { locale: string; userId: string; } + +export interface UserDetailDialogResult { + action: 'delete'; + userId: string; +} diff --git a/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts b/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts index fec2d4b06..05001a6bb 100644 --- a/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts +++ b/apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts @@ -22,7 +22,10 @@ import { ellipsisVertical } from 'ionicons/icons'; import { EMPTY } from 'rxjs'; import { catchError } from 'rxjs/operators'; -import { UserDetailDialogParams } from './interfaces/interfaces'; +import { + UserDetailDialogParams, + UserDetailDialogResult +} from './interfaces/interfaces'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, @@ -47,7 +50,10 @@ export class GfUserDetailDialogComponent implements OnInit { private changeDetectorRef: ChangeDetectorRef, @Inject(MAT_DIALOG_DATA) public data: UserDetailDialogParams, private destroyRef: DestroyRef, - public dialogRef: MatDialogRef + public dialogRef: MatDialogRef< + GfUserDetailDialogComponent, + UserDetailDialogResult + > ) { addIcons({ ellipsisVertical