From d2ca64d7c92cb5c6bf98a2f18f07af16a3bb9948 Mon Sep 17 00:00:00 2001 From: Ammar Ahmed Date: Tue, 2 Jun 2026 10:59:47 +0500 Subject: [PATCH] mobile: show loading in switch item when disabling inbox api --- .../app/screens/settings/settings-data.tsx | 47 +++++++++++-------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/apps/mobile/app/screens/settings/settings-data.tsx b/apps/mobile/app/screens/settings/settings-data.tsx index 26bac5d2b..ef781b892 100644 --- a/apps/mobile/app/screens/settings/settings-data.tsx +++ b/apps/mobile/app/screens/settings/settings-data.tsx @@ -751,28 +751,35 @@ export const settingsGroups: SettingSection[] = [ getter: (current) => current, modifer: async (current) => { if (current) { - presentDialog({ - title: strings.disableInboxAPI(), - paragraph: strings.disableInboxAPIDesc(), - positiveText: strings.disable(), - positivePress: async () => { - try { - await db.inboxItemsHistory.deleteFailed(); - await db.user.discardInboxKeys(); - useSettingStore.setState({ - inboxEnabled: false - }); - return true; - } catch (e) { - ToastManager.show({ - message: (e as Error).message, - context: "local" - }); - DatabaseLogger.error(e); - return false; + return new Promise((resolve) => { + presentDialog({ + title: strings.disableInboxAPI(), + paragraph: strings.disableInboxAPIDesc(), + positiveText: strings.disable(), + onClose: () => { + resolve(); + }, + positivePress: async () => { + try { + await db.inboxItemsHistory.deleteFailed(); + await db.user.discardInboxKeys(); + useSettingStore.setState({ + inboxEnabled: false + }); + resolve(); + return true; + } catch (e) { + ToastManager.show({ + message: (e as Error).message, + context: "local" + }); + DatabaseLogger.error(e); + return false; + } } - } + }); }); + return; }