Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Account creation improvements & some other fixes (#2636)

* Quick fix to mobile

* Enlarge tap targets in account creation

* Improve keyboard behaviors during account creation

* Improve autocompletion behaviors during account creation

* Use the logo in the Deactivated screen

authored by

Paul Frazee and committed by
GitHub
6149437c c8175b9c

+28 -18
+5 -5
src/screens/Deactivated.tsx
··· 14 14 import {isWeb} from '#/platform/detection' 15 15 import {H2, P} from '#/components/Typography' 16 16 import {ScrollView} from '#/view/com/util/Views' 17 - import {Group3_Stroke2_Corner0_Rounded as Group3} from '#/components/icons/Group3' 18 17 import {Loader} from '#/components/Loader' 18 + import {Logo} from '#/view/icons/Logo' 19 19 20 20 const COL_WIDTH = 400 21 21 ··· 96 96 style={[a.flex_row, a.justify_center, gtMobile ? a.pt_4xl : a.px_xl]}> 97 97 <View style={[a.flex_1, {maxWidth: COL_WIDTH}]}> 98 98 <View 99 - style={[a.w_full, a.justify_center, a.align_center, a.mt_4xl]}> 100 - <Group3 fill="none" stroke={t.palette.contrast_900} width={120} /> 99 + style={[a.w_full, a.justify_center, a.align_center, a.my_4xl]}> 100 + <Logo width={120} /> 101 101 </View> 102 102 103 103 <H2 style={[a.pb_sm]}> ··· 105 105 </H2> 106 106 <P style={[t.atoms.text_contrast_700]}> 107 107 <Trans> 108 - There's been a rush of new users! We'll activate your account as 109 - soon as we can. 108 + There's been a rush of new users to Bluesky! We'll activate your 109 + account as soon as we can. 110 110 </Trans> 111 111 </P> 112 112
+12 -5
src/view/com/auth/create/CreateAccount.tsx
··· 22 22 useSetSaveFeedsMutation, 23 23 DEFAULT_PROD_FEEDS, 24 24 } from '#/state/queries/preferences' 25 - import {FEEDBACK_FORM_URL, IS_PROD} from '#/lib/constants' 25 + import {FEEDBACK_FORM_URL, HITSLOP_10, IS_PROD} from '#/lib/constants' 26 26 27 27 import {Step1} from './Step1' 28 28 import {Step2} from './Step2' ··· 121 121 leadin="" 122 122 title={_(msg`Create Account`)} 123 123 description={_(msg`We're so excited to have you join us!`)}> 124 - <ScrollView testID="createAccount" style={pal.view}> 124 + <ScrollView 125 + testID="createAccount" 126 + style={pal.view} 127 + keyboardShouldPersistTaps="handled" 128 + keyboardDismissMode="on-drag"> 125 129 <View style={styles.stepContainer}> 126 130 {uiState.step === 1 && ( 127 131 <Step1 uiState={uiState} uiDispatch={uiDispatch} /> ··· 137 141 <TouchableOpacity 138 142 onPress={onPressBackInner} 139 143 testID="backBtn" 140 - accessibilityRole="button"> 144 + accessibilityRole="button" 145 + hitSlop={HITSLOP_10}> 141 146 <Text type="xl" style={pal.link}> 142 147 <Trans>Back</Trans> 143 148 </Text> ··· 147 152 <TouchableOpacity 148 153 testID="nextBtn" 149 154 onPress={onPressNext} 150 - accessibilityRole="button"> 155 + accessibilityRole="button" 156 + hitSlop={HITSLOP_10}> 151 157 {uiState.isProcessing ? ( 152 158 <ActivityIndicator /> 153 159 ) : ( ··· 163 169 accessibilityRole="button" 164 170 accessibilityLabel={_(msg`Retry`)} 165 171 accessibilityHint="" 166 - accessibilityLiveRegion="polite"> 172 + accessibilityLiveRegion="polite" 173 + hitSlop={HITSLOP_10}> 167 174 <Text type="xl-bold" style={[pal.link, s.pr5]}> 168 175 <Trans>Retry</Trans> 169 176 </Text>
+2 -2
src/view/com/auth/create/Step1.tsx
··· 144 144 accessibilityHint={_(msg`Input email for Bluesky account`)} 145 145 accessibilityLabelledBy="email" 146 146 autoCapitalize="none" 147 - autoComplete="off" 147 + autoComplete="email" 148 148 autoCorrect={false} 149 149 autoFocus={!uiState.isInviteCodeRequired} 150 150 /> ··· 169 169 accessibilityHint={_(msg`Set password`)} 170 170 accessibilityLabelledBy="password" 171 171 autoCapitalize="none" 172 - autoComplete="off" 172 + autoComplete="new-password" 173 173 autoCorrect={false} 174 174 /> 175 175 </View>
+3 -1
src/view/com/auth/create/Step2.tsx
··· 28 28 FontAwesomeIcon, 29 29 FontAwesomeIconStyle, 30 30 } from '@fortawesome/react-native-fontawesome' 31 + import {HITSLOP_10} from '#/lib/constants' 31 32 32 33 export function Step2({ 33 34 uiState, ··· 243 244 <TouchableWithoutFeedback 244 245 onPress={onPressRetry} 245 246 accessibilityLabel={_(msg`Retry.`)} 246 - accessibilityHint=""> 247 + accessibilityHint="" 248 + hitSlop={HITSLOP_10}> 247 249 <View style={styles.touchable}> 248 250 <Text 249 251 type="md-medium"
+3
src/view/com/auth/create/Step3.tsx
··· 33 33 placeholder="e.g. alice" 34 34 value={uiState.handle} 35 35 editable 36 + autoFocus 37 + autoComplete="off" 38 + autoCorrect={false} 36 39 onChange={value => uiDispatch({type: 'set-handle', value})} 37 40 // TODO: Add explicit text label 38 41 accessibilityLabel={_(msg`User handle`)}
+3 -5
src/view/com/util/PostMeta.tsx
··· 68 68 </> 69 69 } 70 70 href={makeProfileLink(opts.author)} 71 - onPointerEnter={() => { 72 - if (isWeb) { 73 - prefetchProfileQuery(opts.author.did) 74 - } 75 - }} 71 + onPointerEnter={ 72 + isWeb ? () => prefetchProfileQuery(opts.author.did) : undefined 73 + } 76 74 /> 77 75 </View> 78 76 {!isAndroid && (