about summary refs log tree commit diff
path: root/src/lib/hooks
diff options
context:
space:
mode:
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}