From 069fb206ad56a62740319fe3b22126478d4c218a Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 7 Jul 2026 09:51:19 +0200 Subject: [PATCH] Improve user account deletion flow --- .../user-account-settings.component.ts | 3 ++ .../user-account-settings.html | 42 ++++++++++++------- 2 files changed, 29 insertions(+), 16 deletions(-) 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 948c5a25e..09d099f39 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 @@ -71,6 +71,7 @@ import { catchError } from 'rxjs/operators'; export class GfUserAccountSettingsComponent implements OnInit { public appearancePlaceholder = $localize`Auto`; public baseCurrency: string; + public closeUserAccountMail: string; public currencies: string[] = []; public deleteOwnUserForm = this.formBuilder.group({ accessToken: ['', Validators.required] @@ -124,6 +125,8 @@ export class GfUserAccountSettingsComponent implements OnInit { if (state?.user) { this.user = state.user; + this.closeUserAccountMail = `mailto:hi@ghostfol.io?subject=Delete Account&body=Hello%0D%0DPlease delete my Ghostfolio account.%0D%0DUser ID: ${this.user.id}%0D%0DKind regards`; + this.hasPermissionToDeleteOwnUser = hasPermission( this.user.permissions, permissions.deleteOwnUser diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.html b/apps/client/src/app/components/user-account-settings/user-account-settings.html index cefa3a0a1..9306839dd 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.html +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -280,21 +280,21 @@
-
- @if (hasPermissionToDeleteOwnUser) { -
-
-
-
Danger Zone
-
+
+
+
Danger Zone
+
+ @if (hasPermissionToDeleteOwnUser) { + - Close Account + Close Account + + } @else if (user?.accounts?.length > 0 || user?.activitiesCount > 0) { +
+ For security reasons, please delete all activities and accounts + first before your Ghostfolio account can be closed.
-
- - } + } @else { + Close Account + } +
+