Skip to content

Commit

Permalink
UI/UX improvements in Edit profile screen (#1767)
Browse files Browse the repository at this point in the history
* Remove cropped area in Edit profile screen iOS

* Hide cancel button when saving changes in EditProfile

* Disable fadeOut animation cancel button for web in EditProfile screen

Since react-native-reanimated is not configured for web support (https://docs.swmansion.com/react-native-reanimated/docs/2.x/fundamentals/web-support/), we are enabling fade out animation for iOS and android solely
  • Loading branch information
tarikfp authored Oct 31, 2023
1 parent b2d4771 commit b5f36dc
Showing 1 changed file with 21 additions and 13 deletions.
34 changes: 21 additions & 13 deletions src/view/com/modals/EditProfile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ import {usePalette} from 'lib/hooks/usePalette'
import {useTheme} from 'lib/ThemeContext'
import {useAnalytics} from 'lib/analytics/analytics'
import {cleanError, isNetworkError} from 'lib/strings/errors'
import Animated, {FadeOut} from 'react-native-reanimated'
import {isWeb} from 'platform/detection'

const AnimatedTouchableOpacity =
Animated.createAnimatedComponent(TouchableOpacity)

export const snapPoints = ['fullscreen']

Expand Down Expand Up @@ -144,7 +149,7 @@ export function Component({
])

return (
<KeyboardAvoidingView behavior="height">
<KeyboardAvoidingView style={s.flex1} behavior="height">
<ScrollView style={[pal.view]} testID="editProfileModal">
<Text style={[styles.title, pal.text]}>Edit my profile</Text>
<View style={styles.photos}>
Expand Down Expand Up @@ -219,18 +224,21 @@ export function Component({
</LinearGradient>
</TouchableOpacity>
)}
<TouchableOpacity
testID="editProfileCancelBtn"
style={s.mt5}
onPress={onPressCancel}
accessibilityRole="button"
accessibilityLabel="Cancel profile editing"
accessibilityHint=""
onAccessibilityEscape={onPressCancel}>
<View style={[styles.btn]}>
<Text style={[s.black, s.bold, pal.text]}>Cancel</Text>
</View>
</TouchableOpacity>
{!isProcessing && (
<AnimatedTouchableOpacity
exiting={!isWeb ? FadeOut : undefined}
testID="editProfileCancelBtn"
style={s.mt5}
onPress={onPressCancel}
accessibilityRole="button"
accessibilityLabel="Cancel profile editing"
accessibilityHint=""
onAccessibilityEscape={onPressCancel}>
<View style={[styles.btn]}>
<Text style={[s.black, s.bold, pal.text]}>Cancel</Text>
</View>
</AnimatedTouchableOpacity>
)}
</View>
</ScrollView>
</KeyboardAvoidingView>
Expand Down

0 comments on commit b5f36dc

Please sign in to comment.