diff options
Diffstat (limited to 'src/screens/Signup')
-rw-r--r-- | src/screens/Signup/StepInfo/index.tsx | 8 | ||||
-rw-r--r-- | src/screens/Signup/index.tsx | 44 | ||||
-rw-r--r-- | src/screens/Signup/state.ts | 2 |
3 files changed, 28 insertions, 26 deletions
diff --git a/src/screens/Signup/StepInfo/index.tsx b/src/screens/Signup/StepInfo/index.tsx index ea10d4365..691e23a53 100644 --- a/src/screens/Signup/StepInfo/index.tsx +++ b/src/screens/Signup/StepInfo/index.tsx @@ -1,5 +1,5 @@ -import React, {useEffect} from 'react' -import {LayoutAnimation, View} from 'react-native' +import React from 'react' +import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' @@ -35,10 +35,6 @@ export function StepInfo({ const {_} = useLingui() const {state, dispatch} = useSignupContext() - useEffect(() => { - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) - }, [state.isLoading, isLoadingStarterPack]) - return ( <ScreenTransition> <View style={[a.gap_md]}> diff --git a/src/screens/Signup/index.tsx b/src/screens/Signup/index.tsx index 2ccb38846..8d1546fbc 100644 --- a/src/screens/Signup/index.tsx +++ b/src/screens/Signup/index.tsx @@ -1,6 +1,6 @@ import React from 'react' import {View} from 'react-native' -import {LayoutAnimationConfig} from 'react-native-reanimated' +import Animated, {FadeIn, LayoutAnimationConfig} from 'react-native-reanimated' import {AppBskyGraphStarterpack} from '@atproto/api' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' @@ -50,6 +50,8 @@ export function Signup({onPressBack}: {onPressBack: () => void}) { } = useStarterPackQuery({ uri: activeStarterPack?.uri, }) + + const [isFetchedAtMount] = React.useState(starterPack != null) const showStarterPackCard = activeStarterPack?.uri && !isFetchingStarterPack && starterPack @@ -159,25 +161,27 @@ export function Signup({onPressBack}: {onPressBack: () => void}) { <View testID="createAccount" style={a.flex_1}> {showStarterPackCard && AppBskyGraphStarterpack.isRecord(starterPack.record) ? ( - <LinearGradientBackground - style={[a.mx_lg, a.p_lg, a.gap_sm, a.rounded_sm]}> - <Text style={[a.font_bold, a.text_xl, {color: 'white'}]}> - {starterPack.record.name} - </Text> - <Text style={[{color: 'white'}]}> - {starterPack.feeds?.length ? ( - <Trans> - You'll follow the suggested users and feeds once you finish - creating your account! - </Trans> - ) : ( - <Trans> - You'll follow the suggested users once you finish creating - your account! - </Trans> - )} - </Text> - </LinearGradientBackground> + <Animated.View entering={!isFetchedAtMount ? FadeIn : undefined}> + <LinearGradientBackground + style={[a.mx_lg, a.p_lg, a.gap_sm, a.rounded_sm]}> + <Text style={[a.font_bold, a.text_xl, {color: 'white'}]}> + {starterPack.record.name} + </Text> + <Text style={[{color: 'white'}]}> + {starterPack.feeds?.length ? ( + <Trans> + You'll follow the suggested users and feeds once you + finish creating your account! + </Trans> + ) : ( + <Trans> + You'll follow the suggested users once you finish creating + your account! + </Trans> + )} + </Text> + </LinearGradientBackground> + </Animated.View> ) : null} <View style={[ diff --git a/src/screens/Signup/state.ts b/src/screens/Signup/state.ts index 70b74a930..87700cb88 100644 --- a/src/screens/Signup/state.ts +++ b/src/screens/Signup/state.ts @@ -116,6 +116,8 @@ export function reducer(s: SignupState, a: SignupAction): SignupState { break } case 'setServiceDescription': { + LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + next.serviceDescription = a.value next.userDomain = a.value?.availableUserDomains[0] ?? '' next.isLoading = false |