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 });
},