diff --git a/src/routes/console/[project]/users/user/[user]/index.svelte b/src/routes/console/[project]/users/user/[user]/index.svelte index 40c79db66..bd4aba885 100644 --- a/src/routes/console/[project]/users/user/[user]/index.svelte +++ b/src/routes/console/[project]/users/user/[user]/index.svelte @@ -18,11 +18,13 @@ import { user } from './store'; import { onMount } from 'svelte'; - $: if (newKey && newValue) { - arePrefsDisabled = false; - } else if (prefs) { + $: if (prefs) { if (JSON.stringify(prefs) !== JSON.stringify(Object.entries($user.prefs))) { - arePrefsDisabled = false; + if (prefs[prefs.length - 1][0] && prefs[prefs.length - 1][1]) { + arePrefsDisabled = false; + } + } else { + arePrefsDisabled = true; } } let showDelete = false; @@ -32,17 +34,17 @@ let userName: string = null, userEmail: string = null, userPhone: string = null, - newPassword: string = null, - newPref = false, - newKey: string = null, - newValue: string = null; - let showVerifcationDropdown = false; + newPassword: string = null; let prefs: [string, unknown][] = null; let arePrefsDisabled = true; + let showVerifcationDropdown = false; onMount(async () => { await user.load($page.params.user); prefs = Object.entries($user.prefs); + if (!prefs?.length) { + prefs.push(['', '']); + } userName ??= $user.name; userEmail ??= $user.email; userPhone ??= $user.phone; @@ -161,13 +163,7 @@ async function updatePrefs() { try { let updatedPrefs = Object.fromEntries(prefs); - if (newKey && newValue) { - updatedPrefs[newKey] = newValue; - prefs = Object.entries(updatedPrefs); - newKey = null; - newValue = null; - } - newPref = null; + await sdkForProject.users.updatePrefs($user.$id, updatedPrefs); $user.prefs = updatedPrefs; arePrefsDisabled = true; @@ -183,30 +179,6 @@ }); } } - - async function deletePref(selectedKey: string) { - try { - let updatedPrefs = Object.fromEntries(prefs); - updatedPrefs = Object.keys(updatedPrefs).reduce((acc, key) => { - if (key !== selectedKey) { - acc[key] = updatedPrefs[key]; - } - return acc; - }, {}); - await sdkForProject.users.updatePrefs($user.$id, updatedPrefs); - prefs = Object.entries(updatedPrefs); - $user.prefs = updatedPrefs; - addNotification({ - message: 'Preferences have been updated', - type: 'success' - }); - } catch (error) { - addNotification({ - message: error.message, - type: 'error' - }); - } - } {#if $user} @@ -217,17 +189,34 @@
{$user.email}
+ {/if} + {#if $user.phone} +{$user.phone}
+ {/if}Joined: {toLocaleDateTime($user.registration)}