about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/screens/Signup/StepInfo/index.tsx8
-rw-r--r--src/screens/Signup/index.tsx44
-rw-r--r--src/screens/Signup/state.ts2
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