From adcd097136600e6551e8199080de01222aec65ce Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 20 Mar 2024 17:11:41 +0000 Subject: [PATCH 1/3] use alf for splashscreen (native) --- src/view/com/auth/SplashScreen.tsx | 147 +++++++++++------------------ 1 file changed, 56 insertions(+), 91 deletions(-) diff --git a/src/view/com/auth/SplashScreen.tsx b/src/view/com/auth/SplashScreen.tsx index f3d78347..fe0d4ee4 100644 --- a/src/view/com/auth/SplashScreen.tsx +++ b/src/view/com/auth/SplashScreen.tsx @@ -1,23 +1,21 @@ import React from 'react' -import {StyleSheet, TouchableOpacity, View} from 'react-native' +import {View} from 'react-native' import {useSafeAreaInsets} from 'react-native-safe-area-context' -import {Text} from 'view/com/util/text/Text' + import {ErrorBoundary} from 'view/com/util/ErrorBoundary' -import {s, colors} from 'lib/styles' -import {usePalette} from 'lib/hooks/usePalette' import {CenteredView} from '../util/Views' import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {Logo} from '#/view/icons/Logo' import {Logotype} from '#/view/icons/Logotype' -import { - FontAwesomeIcon, - FontAwesomeIconStyle, -} from '@fortawesome/react-native-fontawesome' import RNPickerSelect, {PickerSelectProps} from 'react-native-picker-select' import {sanitizeAppLanguageSetting} from '#/locale/helpers' import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences' import {APP_LANGUAGES} from '#/locale/languages' +import {atoms as a, useTheme} from '#/alf' +import {Text} from '#/components/Typography' +import {Button, ButtonText} from '#/components/Button' +import {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron' export const SplashScreen = ({ onPressSignin, @@ -26,7 +24,7 @@ export const SplashScreen = ({ onPressSignin: () => void onPressCreateAccount: () => void }) => { - const pal = usePalette('default') + const t = useTheme() const {_} = useLingui() const langPrefs = useLanguagePrefs() @@ -46,49 +44,62 @@ export const SplashScreen = ({ ) return ( - + - + - - + + - + What's up? - - + + - - + + - + style={[ + a.absolute, + a.inset_0, + {left: 'auto'}, + {pointerEvents: 'none'}, + a.align_center, + a.justify_center, + ]}> + @@ -136,44 +142,3 @@ export const SplashScreen = ({ ) } - -const styles = StyleSheet.create({ - container: { - height: '100%', - }, - hero: { - flex: 2, - justifyContent: 'center', - alignItems: 'center', - }, - btns: { - paddingBottom: 0, - }, - title: { - textAlign: 'center', - fontSize: 68, - fontWeight: 'bold', - }, - subtitle: { - textAlign: 'center', - fontSize: 42, - fontWeight: 'bold', - }, - btn: { - borderRadius: 32, - paddingVertical: 16, - marginBottom: 20, - marginHorizontal: 20, - }, - btnLabel: { - textAlign: 'center', - fontSize: 21, - }, - footer: { - paddingHorizontal: 16, - paddingTop: 12, - paddingBottom: 24, - justifyContent: 'center', - alignItems: 'center', - }, -}) From eacd1cbe2af2446140a8a05140e89941f779c2ff Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 20 Mar 2024 17:11:59 +0000 Subject: [PATCH 2/3] use alf for splashscreen (web) --- src/view/com/auth/SplashScreen.web.tsx | 215 ++++++++++--------------- 1 file changed, 86 insertions(+), 129 deletions(-) diff --git a/src/view/com/auth/SplashScreen.web.tsx b/src/view/com/auth/SplashScreen.web.tsx index f1921c7f..7e5ddaff 100644 --- a/src/view/com/auth/SplashScreen.web.tsx +++ b/src/view/com/auth/SplashScreen.web.tsx @@ -1,13 +1,9 @@ import React from 'react' -import {StyleSheet, TouchableOpacity, View, Pressable} from 'react-native' +import {View, Pressable} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' -import {Text} from 'view/com/util/text/Text' import {TextLink} from '../util/Link' import {ErrorBoundary} from 'view/com/util/ErrorBoundary' -import {s, colors} from 'lib/styles' -import {usePalette} from 'lib/hooks/usePalette' import {CenteredView} from '../util/Views' -import {isWeb} from 'platform/detection' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {Trans, msg} from '@lingui/macro' import {Logo} from '#/view/icons/Logo' @@ -16,6 +12,10 @@ import {useLingui} from '@lingui/react' import {sanitizeAppLanguageSetting} from '#/locale/helpers' import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences' import {APP_LANGUAGES} from '#/locale/languages' +import {atoms as a, useTheme} from '#/alf' +import {Button, ButtonText} from '#/components/Button' +import {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron' +import {Text} from '#/components/Typography' export const SplashScreen = ({ onDismiss, @@ -26,10 +26,9 @@ export const SplashScreen = ({ onPressSignin: () => void onPressCreateAccount: () => void }) => { - const pal = usePalette('default') - const {isTabletOrMobile} = useWebMediaQueries() - const styles = useStyles() - const isMobileWeb = isWeb && isTabletOrMobile + const {_} = useLingui() + const t = useTheme() + const {isTabletOrMobile: isMobileWeb} = useWebMediaQueries() return ( <> @@ -48,61 +47,89 @@ export const SplashScreen = ({ icon="x" size={24} style={{ - color: String(pal.text.color), + color: String(t.atoms.text.color), }} /> )} - + - + + - - + + + + + + What's up? + - - + + -