From 675875531623750d0063db0aff8ec2580461e20b Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Mon, 27 Nov 2023 12:27:38 -0600 Subject: [PATCH] Nav home after switch accounts (#2002) --- src/lib/hooks/useAccountSwitcher.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/lib/hooks/useAccountSwitcher.ts b/src/lib/hooks/useAccountSwitcher.ts index a4c80066..82f4565e 100644 --- a/src/lib/hooks/useAccountSwitcher.ts +++ b/src/lib/hooks/useAccountSwitcher.ts @@ -1,4 +1,8 @@ import {useCallback} from 'react' +import {useNavigation} from '@react-navigation/native' + +import {isWeb} from '#/platform/detection' +import {NavigationProp} from '#/lib/routes/types' import {useAnalytics} from '#/lib/analytics/analytics' import {useSessionApi, SessionAccount} from '#/state/session' import * as Toast from '#/view/com/util/Toast' @@ -8,21 +12,29 @@ export function useAccountSwitcher() { const {track} = useAnalytics() const {selectAccount, clearCurrentAccount} = useSessionApi() const closeAllActiveElements = useCloseAllActiveElements() + const navigation = useNavigation() const onPressSwitchAccount = useCallback( async (acct: SessionAccount) => { track('Settings:SwitchAccountButtonClicked') try { - await selectAccount(acct) closeAllActiveElements() + navigation.navigate(isWeb ? 'Home' : 'HomeTab') + await selectAccount(acct) 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, clearCurrentAccount, selectAccount, closeAllActiveElements], + [ + track, + clearCurrentAccount, + selectAccount, + closeAllActiveElements, + navigation, + ], ) return {onPressSwitchAccount}