import React, {useCallback} from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher' import {type SessionAccount, useSession} from '#/state/session' import {useLoggedOutViewControls} from '#/state/shell/logged-out' import {atoms as a} from '#/alf' import * as Dialog from '#/components/Dialog' import {AccountList} from '../AccountList' import {Text} from '../Typography' export function SwitchAccountDialog({ control, }: { control: Dialog.DialogControlProps }) { const {_} = useLingui() const {currentAccount} = useSession() const {onPressSwitchAccount, isSwitchingAccounts} = useAccountSwitcher() const {setShowLoggedOut} = useLoggedOutViewControls() const onSelectAccount = useCallback( (account: SessionAccount) => { if (account.did !== currentAccount?.did) { control.close(() => { onPressSwitchAccount(account, 'SwitchAccount') }) } else { control.close() } }, [currentAccount, control, onPressSwitchAccount], ) const onPressAddAccount = useCallback(() => { control.close(() => { setShowLoggedOut(true) }) }, [setShowLoggedOut, control]) return ( Switch Account ) }