From 726bbd2b6d713432b8e45b21f57fb8f384f5a339 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Mon, 18 Dec 2023 16:31:47 -0600 Subject: Add search button to logged out view (#2237) --- src/view/com/auth/LoggedOut.tsx | 47 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/view/com/auth/LoggedOut.tsx b/src/view/com/auth/LoggedOut.tsx index b0b2bf7ed..c0427ff54 100644 --- a/src/view/com/auth/LoggedOut.tsx +++ b/src/view/com/auth/LoggedOut.tsx @@ -3,8 +3,9 @@ import {View, Pressable} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {useLingui} from '@lingui/react' import {msg} from '@lingui/macro' +import {useNavigation} from '@react-navigation/native' -import {isIOS} from 'platform/detection' +import {isIOS, isNative} from 'platform/detection' import {Login} from 'view/com/auth/login/Login' import {CreateAccount} from 'view/com/auth/create/CreateAccount' import {ErrorBoundary} from 'view/com/util/ErrorBoundary' @@ -18,6 +19,9 @@ import { useLoggedOutView, useLoggedOutViewControls, } from '#/state/shell/logged-out' +import {useSession} from '#/state/session' +import {Text} from '#/view/com/util/text/Text' +import {NavigationProp} from 'lib/routes/types' enum ScreenState { S_LoginOrCreateAccount, @@ -26,6 +30,7 @@ enum ScreenState { } export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { + const {hasSession} = useSession() const {_} = useLingui() const pal = usePalette('default') const setMinimalShellMode = useSetMinimalShellMode() @@ -40,6 +45,8 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { ) const {isMobile} = useWebMediaQueries() const {clearRequestedAccount} = useLoggedOutViewControls() + const navigation = useNavigation() + const isFirstScreen = screenState === ScreenState.S_LoginOrCreateAccount React.useEffect(() => { screen('Login') @@ -53,6 +60,10 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { clearRequestedAccount() }, [clearRequestedAccount, onDismiss]) + const onPressSearch = React.useCallback(() => { + navigation.navigate(`SearchTab`) + }, [navigation]) + return ( void}) { }, ]}> - {onDismiss && ( + {onDismiss ? ( void}) { }} /> - )} + ) : isNative && !hasSession && isFirstScreen ? ( + + + Search{' '} + + + + ) : null} {screenState === ScreenState.S_LoginOrCreateAccount ? (