Web fixes (#517)

* Fix scroll behaviors on web

* Remove headers on web to avoid scroll overflow

* Fix follow button press in cards
This commit is contained in:
Paul Frazee
2023-04-22 19:08:41 -05:00
committed by GitHub
parent 5085861b9a
commit c7600fe0c2
9 changed files with 29 additions and 8 deletions
+2
View File
@@ -78,6 +78,8 @@ export const PostLikedBy = observer(function ({uri}: {uri: string}) {
</View> </View>
)} )}
extraData={view.isLoading} extraData={view.isLoading}
// @ts-ignore our .web version only -prf
desktopFixedHeight
/> />
) )
}) })
@@ -89,6 +89,8 @@ export const PostRepostedBy = observer(function PostRepostedBy({
</View> </View>
)} )}
extraData={view.isLoading} extraData={view.isLoading}
// @ts-ignore our .web version only -prf
desktopFixedHeight
/> />
) )
}) })
@@ -92,6 +92,8 @@ export const ProfileFollowers = observer(function ProfileFollowers({
</View> </View>
)} )}
extraData={view.isLoading} extraData={view.isLoading}
// @ts-ignore our .web version only -prf
desktopFixedHeight
/> />
) )
}) })
+2
View File
@@ -89,6 +89,8 @@ export const ProfileFollows = observer(function ProfileFollows({
</View> </View>
)} )}
extraData={view.isLoading} extraData={view.isLoading}
// @ts-ignore our .web version only -prf
desktopFixedHeight
/> />
) )
}) })
+17 -4
View File
@@ -1,15 +1,20 @@
import React from 'react' import React from 'react'
import { import {
GestureResponderEvent,
StyleProp, StyleProp,
StyleSheet, StyleSheet,
TextStyle, TextStyle,
TouchableOpacity, Pressable,
ViewStyle, ViewStyle,
} from 'react-native' } from 'react-native'
import {Text} from '../text/Text' import {Text} from '../text/Text'
import {useTheme} from 'lib/ThemeContext' import {useTheme} from 'lib/ThemeContext'
import {choose} from 'lib/functions' import {choose} from 'lib/functions'
type Event =
| React.MouseEvent<HTMLAnchorElement, MouseEvent>
| GestureResponderEvent
export type ButtonType = export type ButtonType =
| 'primary' | 'primary'
| 'secondary' | 'secondary'
@@ -114,10 +119,18 @@ export function Button({
}, },
}, },
) )
const onPressWrapped = React.useCallback(
(event: Event) => {
event.stopPropagation()
event.preventDefault()
onPress?.()
},
[onPress],
)
return ( return (
<TouchableOpacity <Pressable
style={[typeOuterStyle, styles.outer, style]} style={[typeOuterStyle, styles.outer, style]}
onPress={onPress} onPress={onPressWrapped}
testID={testID}> testID={testID}>
{label ? ( {label ? (
<Text type="button" style={[typeLabelStyle, labelStyle]}> <Text type="button" style={[typeLabelStyle, labelStyle]}>
@@ -126,7 +139,7 @@ export function Button({
) : ( ) : (
children children
)} )}
</TouchableOpacity> </Pressable>
) )
} }
+1 -1
View File
@@ -22,7 +22,7 @@ export const PostLikedByScreen = withAuthRequired(({route}: Props) => {
return ( return (
<View> <View>
<ViewHeader title="Liked by" showOnDesktop /> <ViewHeader title="Liked by" />
<PostLikedByComponent uri={uri} /> <PostLikedByComponent uri={uri} />
</View> </View>
) )
+1 -1
View File
@@ -22,7 +22,7 @@ export const PostRepostedByScreen = withAuthRequired(({route}: Props) => {
return ( return (
<View> <View>
<ViewHeader title="Reposted by" showOnDesktop /> <ViewHeader title="Reposted by" />
<PostRepostedByComponent uri={uri} /> <PostRepostedByComponent uri={uri} />
</View> </View>
) )
+1 -1
View File
@@ -20,7 +20,7 @@ export const ProfileFollowersScreen = withAuthRequired(({route}: Props) => {
return ( return (
<View> <View>
<ViewHeader title="Followers" showOnDesktop /> <ViewHeader title="Followers" />
<ProfileFollowersComponent name={name} /> <ProfileFollowersComponent name={name} />
</View> </View>
) )
+1 -1
View File
@@ -20,7 +20,7 @@ export const ProfileFollowsScreen = withAuthRequired(({route}: Props) => {
return ( return (
<View> <View>
<ViewHeader title="Following" showOnDesktop /> <ViewHeader title="Following" />
<ProfileFollowsComponent name={name} /> <ProfileFollowsComponent name={name} />
</View> </View>
) )