diff --git a/src/lib/components/Dialog/CreateOrEditProfileModal.svelte b/src/lib/components/Dialog/CreateOrEditProfileModal.svelte
index 09193d0..bac0bcb 100644
--- a/src/lib/components/Dialog/CreateOrEditProfileModal.svelte
+++ b/src/lib/components/Dialog/CreateOrEditProfileModal.svelte
@@ -27,6 +27,7 @@
export let modalId: symbol;
export let user: ReiverrUser | undefined = undefined;
+ export let onComplete: () => void = () => {};
export let createNew = false;
export let admin = createNew;
@@ -127,6 +128,7 @@
errorMessage = error;
} else {
modalStack.closeTopmost();
+ onComplete();
}
}
@@ -142,19 +144,21 @@
errorMessage = error;
} else {
modalStack.closeTopmost();
+ onComplete();
}
}
async function handleDeleteAccount() {
+ const self = user?.id === get(userStore)?.id;
const error = await reiverrApi.deleteUser(user?.id);
if (error) {
errorMessage = error;
} else {
modalStack.close(modalId);
- if (!admin) {
+ if (self) {
sessions.removeSession();
navigate('/');
- }
+ } else onComplete();
}
}
diff --git a/src/lib/pages/ManagePage.svelte b/src/lib/pages/ManagePage.svelte
index 989955d..b4f8113 100644
--- a/src/lib/pages/ManagePage.svelte
+++ b/src/lib/pages/ManagePage.svelte
@@ -49,7 +49,11 @@
let lastKey = '';
let tizenMediaKey = '';
$: tmdbAccount = $user?.settings.tmdb.userId ? tmdbApi.getAccountDetails() : undefined;
- $: users = $user?.isAdmin ? reiverrApi.getUsers() : undefined;
+ let users = getUsers();
+
+ function getUsers() {
+ return $user?.isAdmin ? reiverrApi.getUsers() : undefined;
+ }
async function handleDisconnectTmdb() {
return user.updateUser((prev) => ({
@@ -236,18 +240,19 @@