diff --git a/app/mobile/src/session/settings/Settings.jsx b/app/mobile/src/session/settings/Settings.jsx index 8d5067da..a1426dd2 100644 --- a/app/mobile/src/session/settings/Settings.jsx +++ b/app/mobile/src/session/settings/Settings.jsx @@ -189,7 +189,7 @@ export function Settings() { - + @@ -543,6 +543,42 @@ export function Settings() { + + + + + + + + + { state.strings.deleteAccount } + + + + + + { state.sealDelete === state.strings.deleteKey && ( + sealAction(actions.removeKey, 'Remove')}> + { state.strings.delete } + + )} + { state.sealDelete !== state.strings.deleteKey && ( + + { state.strings.delete } + + )} + + + + ); diff --git a/app/mobile/src/session/settings/useSettings.hook.js b/app/mobile/src/session/settings/useSettings.hook.js index 71df2d23..0e878dac 100644 --- a/app/mobile/src/session/settings/useSettings.hook.js +++ b/app/mobile/src/session/settings/useSettings.hook.js @@ -26,6 +26,7 @@ export function useSettings() { available: true, password: null, confirm: null, + delete: null, logout: false, editSeal: false, @@ -106,13 +107,18 @@ export function useSettings() { clearTimeout(debounce.current); checking.current = username; updateState({ username, validated: false }); - debounce.current = setTimeout(async () => { - const cur = JSON.parse(JSON.stringify(username)); - const available = await profile.actions.getHandleStatus(cur); - if (checking.current === cur) { - updateState({ available, validated: true }); - } - }, 1000); + if (state.handle === username) { + updateState({ available: true, validated: true }); + } + else { + debounce.current = setTimeout(async () => { + const cur = JSON.parse(JSON.stringify(username)); + const available = await profile.actions.getHandleStatus(cur); + if (checking.current === cur) { + updateState({ available, validated: true }); + } + }, 1000); + } }, setPassword: (password) => { updateState({ password }); @@ -123,6 +129,12 @@ export function useSettings() { logout: async () => { await app.actions.logout(); }, + showDelete: () => { + updateState({ delete: true }); + }, + hideDelete: () => { + updateState({ delete: false }); + }, showLogout: () => { updateState({ logout: true }); },