diff options
author | dan <dan.abramov@gmail.com> | 2023-12-04 20:03:32 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-04 12:03:32 -0800 |
commit | a687d3f028313c50ec153b2a4a3822ba8c923d1a (patch) | |
tree | 3cd2d6b03793b62cb2e8da109d8dcba0890806a1 /src | |
parent | 9562a80908ca646b8bc93a47a4c2a2f67ae92507 (diff) | |
download | voidsky-a687d3f028313c50ec153b2a4a3822ba8c923d1a.tar.zst |
Allow scroll by dragging profile header (#2068)
Diffstat (limited to 'src')
-rw-r--r-- | src/view/com/pager/PagerWithHeader.tsx | 5 | ||||
-rw-r--r-- | src/view/com/profile/ProfileHeader.tsx | 30 | ||||
-rw-r--r-- | src/view/com/profile/ProfileHeaderSuggestedFollows.tsx | 8 |
3 files changed, 27 insertions, 16 deletions
diff --git a/src/view/com/pager/PagerWithHeader.tsx b/src/view/com/pager/PagerWithHeader.tsx index 2d3b0cece..dcfc1eebb 100644 --- a/src/view/com/pager/PagerWithHeader.tsx +++ b/src/view/com/pager/PagerWithHeader.tsx @@ -254,11 +254,14 @@ let PagerTabBar = ({ })) return ( <Animated.View + pointerEvents="box-none" style={[ isMobile ? styles.tabBarMobile : styles.tabBarDesktop, headerTransform, ]}> - <View onLayout={onHeaderOnlyLayout}>{renderHeader?.()}</View> + <View onLayout={onHeaderOnlyLayout} pointerEvents="box-none"> + {renderHeader?.()} + </View> <View onLayout={onTabBarLayout} style={{ diff --git a/src/view/com/profile/ProfileHeader.tsx b/src/view/com/profile/ProfileHeader.tsx index 8058551c2..16e98ddf2 100644 --- a/src/view/com/profile/ProfileHeader.tsx +++ b/src/view/com/profile/ProfileHeader.tsx @@ -412,10 +412,12 @@ let ProfileHeaderLoaded = ({ const pluralizedFollowers = pluralize(profile.followersCount || 0, 'follower') return ( - <View style={pal.view}> - <UserBanner banner={profile.banner} moderation={moderation.avatar} /> - <View style={styles.content}> - <View style={[styles.buttonsLine]}> + <View style={pal.view} pointerEvents="box-none"> + <View pointerEvents="none"> + <UserBanner banner={profile.banner} moderation={moderation.avatar} /> + </View> + <View style={styles.content} pointerEvents="box-none"> + <View style={[styles.buttonsLine]} pointerEvents="box-none"> {isMe ? ( <TouchableOpacity testID="profileHeaderEditProfileButton" @@ -525,7 +527,7 @@ let ProfileHeaderLoaded = ({ </NativeDropdown> ) : undefined} </View> - <View> + <View pointerEvents="none"> <Text testID="profileHeaderDisplayName" type="title-2xl" @@ -536,7 +538,7 @@ let ProfileHeaderLoaded = ({ )} </Text> </View> - <View style={styles.handleLine}> + <View style={styles.handleLine} pointerEvents="none"> {profile.viewer?.followedBy && !blockHide ? ( <View style={[styles.pill, pal.btn, s.mr5]}> <Text type="xs" style={[pal.text]}> @@ -557,7 +559,7 @@ let ProfileHeaderLoaded = ({ </View> {!blockHide && ( <> - <View style={styles.metricsLine}> + <View style={styles.metricsLine} pointerEvents="box-none"> <Link testID="profileHeaderFollowersButton" style={[s.flexRow, s.mr10]} @@ -604,12 +606,14 @@ let ProfileHeaderLoaded = ({ </Text> </View> {descriptionRT && !moderation.profile.blur ? ( - <RichText - testID="profileHeaderDescription" - style={[styles.description, pal.text]} - numberOfLines={15} - richText={descriptionRT} - /> + <View pointerEvents="none"> + <RichText + testID="profileHeaderDescription" + style={[styles.description, pal.text]} + numberOfLines={15} + richText={descriptionRT} + /> + </View> ) : undefined} </> )} diff --git a/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx b/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx index f648c9801..1d550aa5c 100644 --- a/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx +++ b/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx @@ -70,15 +70,19 @@ export function ProfileHeaderSuggestedFollows({ }) return ( - <Animated.View style={[{overflow: 'hidden', opacity: 0}, animatedStyles]}> - <View style={{paddingVertical: OUTER_PADDING}}> + <Animated.View + pointerEvents="box-none" + style={[{overflow: 'hidden', opacity: 0}, animatedStyles]}> + <View style={{paddingVertical: OUTER_PADDING}} pointerEvents="box-none"> <View + pointerEvents="box-none" style={{ backgroundColor: pal.viewLight.backgroundColor, height: '100%', paddingTop: INNER_PADDING / 2, }}> <View + pointerEvents="box-none" style={{ flexDirection: 'row', justifyContent: 'space-between', |