diff --git a/src/view/com/auth/LoggedOut.tsx b/src/view/com/auth/LoggedOut.tsx index 54b3432ea9..7f33e72b62 100644 --- a/src/view/com/auth/LoggedOut.tsx +++ b/src/view/com/auth/LoggedOut.tsx @@ -1,11 +1,15 @@ -import React from 'react' +import {useCallback, useEffect, useState} from 'react' import {View} from 'react-native' import {useSafeAreaInsets} from 'react-native-safe-area-context' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' +import {useQueryClient} from '@tanstack/react-query' import {PressableScale} from '#/lib/custom-animations/PressableScale' import {logEvent} from '#/lib/statsig/statsig' +import {STALE} from '#/state/queries' +import {profilesQueryKey} from '#/state/queries/profile' +import {useAgent, useSession} from '#/state/session' import { useLoggedOutView, useLoggedOutViewControls, @@ -34,7 +38,7 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { const insets = useSafeAreaInsets() const setMinimalShellMode = useSetMinimalShellMode() const {requestedAccountSwitchTo} = useLoggedOutView() - const [screenState, setScreenState] = React.useState(() => { + const [screenState, setScreenState] = useState(() => { if (requestedAccountSwitchTo === 'new') { return ScreenState.S_CreateAccount } else if (requestedAccountSwitchTo === 'starterpack') { @@ -47,11 +51,26 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { }) const {clearRequestedAccount} = useLoggedOutViewControls() - React.useEffect(() => { + const queryClient = useQueryClient() + const {accounts} = useSession() + const agent = useAgent() + useEffect(() => { + const actors = accounts.map(acc => acc.did) + queryClient.prefetchQuery({ + queryKey: profilesQueryKey(actors), + staleTime: STALE.MINUTES.FIVE, + queryFn: async () => { + const res = await agent.getProfiles({actors}) + return res.data + }, + }) + }, [accounts, agent, queryClient]) + + useEffect(() => { setMinimalShellMode(true) }, [setMinimalShellMode]) - const onPressDismiss = React.useCallback(() => { + const onPressDismiss = useCallback(() => { if (onDismiss) { onDismiss() }