about summary refs log tree commit diff
path: root/src/lib/hooks
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-11-16 08:18:59 -0800
committerGitHub <noreply@github.com>2023-11-16 08:18:59 -0800
commita84b2f9f2f64b1d434c5adbb12af6f7d76ba42ea (patch)
treee430b8032350caa18b8cdd3140a4d94c96dfd6ce /src/lib/hooks
parent0de8d40981fecdeaec92307bafe121ccb2091b45 (diff)
downloadvoidsky-a84b2f9f2f64b1d434c5adbb12af6f7d76ba42ea.tar.zst
Close active elems (react-query refactor) (#1926)
* Refactor closeAny and closeAllActiveElements

* Add close lightbox

* Switch to hooks

* Fixes
Diffstat (limited to 'src/lib/hooks')
-rw-r--r--src/lib/hooks/useAccountSwitcher.ts22
1 files changed, 4 insertions, 18 deletions
diff --git a/src/lib/hooks/useAccountSwitcher.ts b/src/lib/hooks/useAccountSwitcher.ts
index 838536735..a4c800667 100644
--- a/src/lib/hooks/useAccountSwitcher.ts
+++ b/src/lib/hooks/useAccountSwitcher.ts
@@ -1,18 +1,13 @@
 import {useCallback} from 'react'
-
 import {useAnalytics} from '#/lib/analytics/analytics'
-import {useStores} from '#/state/index'
-import {useSetDrawerOpen} from '#/state/shell/drawer-open'
-import {useModalControls} from '#/state/modals'
 import {useSessionApi, SessionAccount} from '#/state/session'
 import * as Toast from '#/view/com/util/Toast'
+import {useCloseAllActiveElements} from '#/state/util'
 
 export function useAccountSwitcher() {
   const {track} = useAnalytics()
-  const store = useStores()
-  const setDrawerOpen = useSetDrawerOpen()
-  const {closeModal} = useModalControls()
   const {selectAccount, clearCurrentAccount} = useSessionApi()
+  const closeAllActiveElements = useCloseAllActiveElements()
 
   const onPressSwitchAccount = useCallback(
     async (acct: SessionAccount) => {
@@ -20,23 +15,14 @@ export function useAccountSwitcher() {
 
       try {
         await selectAccount(acct)
-        setDrawerOpen(false)
-        closeModal()
-        store.shell.closeAllActiveElements()
+        closeAllActiveElements()
         Toast.show(`Signed in as ${acct.handle}`)
       } catch (e) {
         Toast.show('Sorry! We need you to enter your password.')
         clearCurrentAccount() // back user out to login
       }
     },
-    [
-      track,
-      store,
-      setDrawerOpen,
-      closeModal,
-      clearCurrentAccount,
-      selectAccount,
-    ],
+    [track, clearCurrentAccount, selectAccount, closeAllActiveElements],
   )
 
   return {onPressSwitchAccount}