From ec819f06cecca6a20b4c8c9cac3f4727d4464a04 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Wed, 22 Nov 2023 16:53:25 -0600 Subject: [PATCH] [PWI] Clean up logged out screen (#1978) * Clean up logged out screen * Better responsive styles --- src/view/com/auth/LoggedOut.tsx | 66 ++++++++++++++---- src/view/com/auth/SplashScreen.tsx | 98 +++++++++------------------ src/view/screens/Search/index.tsx | 7 +- src/view/screens/Search/index.web.tsx | 7 +- 4 files changed, 98 insertions(+), 80 deletions(-) diff --git a/src/view/com/auth/LoggedOut.tsx b/src/view/com/auth/LoggedOut.tsx index daafa60a..030ae68b 100644 --- a/src/view/com/auth/LoggedOut.tsx +++ b/src/view/com/auth/LoggedOut.tsx @@ -1,5 +1,10 @@ import React from 'react' -import {SafeAreaView} from 'react-native' +import {View, Pressable} from 'react-native' +import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {useLingui} from '@lingui/react' +import {msg} from '@lingui/macro' + +import {isIOS} 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' @@ -8,6 +13,7 @@ import {usePalette} from 'lib/hooks/usePalette' import {useAnalytics} from 'lib/analytics/analytics' import {SplashScreen} from './SplashScreen' import {useSetMinimalShellMode} from '#/state/shell/minimal-mode' +import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' enum ScreenState { S_LoginOrCreateAccount, @@ -16,31 +22,65 @@ enum ScreenState { } export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { + const {_} = useLingui() const pal = usePalette('default') const setMinimalShellMode = useSetMinimalShellMode() const {screen} = useAnalytics() const [screenState, setScreenState] = React.useState( ScreenState.S_LoginOrCreateAccount, ) + const {isMobile} = useWebMediaQueries() React.useEffect(() => { screen('Login') setMinimalShellMode(true) }, [screen, setMinimalShellMode]) - if (screenState === ScreenState.S_LoginOrCreateAccount) { - return ( - setScreenState(ScreenState.S_Login)} - onPressCreateAccount={() => setScreenState(ScreenState.S_CreateAccount)} - /> - ) - } - return ( - + + {onDismiss && ( + + + + )} + + {screenState === ScreenState.S_LoginOrCreateAccount ? ( + setScreenState(ScreenState.S_Login)} + onPressCreateAccount={() => + setScreenState(ScreenState.S_CreateAccount) + } + /> + ) : undefined} {screenState === ScreenState.S_Login ? ( @@ -56,6 +96,6 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { /> ) : undefined} - + ) } diff --git a/src/view/com/auth/SplashScreen.tsx b/src/view/com/auth/SplashScreen.tsx index 2c968aef..d88627f6 100644 --- a/src/view/com/auth/SplashScreen.tsx +++ b/src/view/com/auth/SplashScreen.tsx @@ -1,12 +1,5 @@ import React from 'react' -import { - SafeAreaView, - StyleSheet, - TouchableOpacity, - Pressable, - View, -} from 'react-native' -import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import {Text} from 'view/com/util/text/Text' import {ErrorBoundary} from 'view/com/util/ErrorBoundary' import {s, colors} from 'lib/styles' @@ -16,11 +9,9 @@ import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' export const SplashScreen = ({ - onDismiss, onPressSignin, onPressCreateAccount, }: { - onDismiss?: () => void onPressSignin: () => void onPressCreateAccount: () => void }) => { @@ -29,63 +20,40 @@ export const SplashScreen = ({ return ( - {onDismiss && ( - - - - )} - - - - - - Bluesky + + + + Bluesky + + + See what's next + + + + + + Create a new account - - See what's next + + + + Sign In - - - - - Create a new account - - - - - Sign In - - - - - + + + ) } diff --git a/src/view/screens/Search/index.tsx b/src/view/screens/Search/index.tsx index d1b9684e..69130ecf 100644 --- a/src/view/screens/Search/index.tsx +++ b/src/view/screens/Search/index.tsx @@ -1 +1,6 @@ -export {SearchScreenMobile as SearchScreen} from '#/view/screens/Search/Search' +import {withAuthRequired} from '#/view/com/auth/withAuthRequired' +import {SearchScreenMobile} from '#/view/screens/Search/Search' + +export const SearchScreen = withAuthRequired(SearchScreenMobile, { + isPublic: true, +}) diff --git a/src/view/screens/Search/index.web.tsx b/src/view/screens/Search/index.web.tsx index 8d09f342..03fb7589 100644 --- a/src/view/screens/Search/index.web.tsx +++ b/src/view/screens/Search/index.web.tsx @@ -1 +1,6 @@ -export {SearchScreenDesktop as SearchScreen} from '#/view/screens/Search/Search' +import {withAuthRequired} from '#/view/com/auth/withAuthRequired' +import {SearchScreenDesktop} from '#/view/screens/Search/Search' + +export const SearchScreen = withAuthRequired(SearchScreenDesktop, { + isPublic: true, +})