diff options
Diffstat (limited to 'src/lib/hooks')
-rw-r--r-- | src/lib/hooks/useAccountSwitcher.ts | 22 |
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} |