diff options
Diffstat (limited to 'src/view/com')
-rw-r--r-- | src/view/com/auth/onboarding/RecommendedFeeds.tsx | 20 | ||||
-rw-r--r-- | src/view/com/auth/onboarding/RecommendedFollows.tsx | 26 | ||||
-rw-r--r-- | src/view/com/util/List.tsx | 13 | ||||
-rw-r--r-- | src/view/com/util/Views.jsx | 16 |
4 files changed, 49 insertions, 26 deletions
diff --git a/src/view/com/auth/onboarding/RecommendedFeeds.tsx b/src/view/com/auth/onboarding/RecommendedFeeds.tsx index d3318bffd..95f8502f8 100644 --- a/src/view/com/auth/onboarding/RecommendedFeeds.tsx +++ b/src/view/com/auth/onboarding/RecommendedFeeds.tsx @@ -1,18 +1,19 @@ import React from 'react' import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' -import {TabletOrDesktop, Mobile} from 'view/com/util/layouts/Breakpoints' +import {msg, Trans} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {useSuggestedFeedsQuery} from '#/state/queries/suggested-feeds' +import {usePalette} from 'lib/hooks/usePalette' +import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' +import {ErrorMessage} from 'view/com/util/error/ErrorMessage' +import {Button} from 'view/com/util/forms/Button' +import {Mobile, TabletOrDesktop} from 'view/com/util/layouts/Breakpoints' +import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout' import {Text} from 'view/com/util/text/Text' import {ViewHeader} from 'view/com/util/ViewHeader' -import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout' -import {Button} from 'view/com/util/forms/Button' import {RecommendedFeedsItem} from './RecommendedFeedsItem' -import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' -import {usePalette} from 'lib/hooks/usePalette' -import {ErrorMessage} from 'view/com/util/error/ErrorMessage' -import {Trans, msg} from '@lingui/macro' -import {useLingui} from '@lingui/react' -import {useSuggestedFeedsQuery} from '#/state/queries/suggested-feeds' type Props = { next: () => void @@ -130,6 +131,7 @@ export function RecommendedFeeds({next}: Props) { renderItem={({item}) => <RecommendedFeedsItem item={item} />} keyExtractor={item => item.uri} style={{flex: 1}} + showsVerticalScrollIndicator={false} /> ) : isLoading ? ( <View style={{flex: 1}}> diff --git a/src/view/com/auth/onboarding/RecommendedFollows.tsx b/src/view/com/auth/onboarding/RecommendedFollows.tsx index d275f6c90..a840f949e 100644 --- a/src/view/com/auth/onboarding/RecommendedFollows.tsx +++ b/src/view/com/auth/onboarding/RecommendedFollows.tsx @@ -1,21 +1,22 @@ import React from 'react' import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' -import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {AppBskyActorDefs, moderateProfile} from '@atproto/api' -import {TabletOrDesktop, Mobile} from 'view/com/util/layouts/Breakpoints' +import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {msg, Trans} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {logger} from '#/logger' +import {useModerationOpts} from '#/state/queries/preferences' +import {useSuggestedFollowsQuery} from '#/state/queries/suggested-follows' +import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows' +import {usePalette} from 'lib/hooks/usePalette' +import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' +import {Button} from 'view/com/util/forms/Button' +import {Mobile, TabletOrDesktop} from 'view/com/util/layouts/Breakpoints' +import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout' import {Text} from 'view/com/util/text/Text' import {ViewHeader} from 'view/com/util/ViewHeader' -import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout' -import {Button} from 'view/com/util/forms/Button' -import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' -import {usePalette} from 'lib/hooks/usePalette' import {RecommendedFollowsItem} from './RecommendedFollowsItem' -import {useSuggestedFollowsQuery} from '#/state/queries/suggested-follows' -import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows' -import {useModerationOpts} from '#/state/queries/preferences' -import {logger} from '#/logger' -import {Trans, msg} from '@lingui/macro' -import {useLingui} from '@lingui/react' type Props = { next: () => void @@ -202,6 +203,7 @@ export function RecommendedFollows({next}: Props) { )} keyExtractor={item => item.did} style={{flex: 1}} + showsVerticalScrollIndicator={false} /> )} <Button diff --git a/src/view/com/util/List.tsx b/src/view/com/util/List.tsx index d30a9d805..b3bde2a11 100644 --- a/src/view/com/util/List.tsx +++ b/src/view/com/util/List.tsx @@ -1,11 +1,14 @@ import React, {memo} from 'react' import {FlatListProps, RefreshControl} from 'react-native' -import {FlatList_INTERNAL} from './Views' -import {addStyle} from 'lib/styles' -import {useScrollHandlers} from '#/lib/ScrollContext' import {runOnJS, useSharedValue} from 'react-native-reanimated' + import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED' import {usePalette} from '#/lib/hooks/usePalette' +import {useScrollHandlers} from '#/lib/ScrollContext' +import {useGate} from 'lib/statsig/statsig' +import {addStyle} from 'lib/styles' +import {isWeb} from 'platform/detection' +import {FlatList_INTERNAL} from './Views' export type ListMethods = FlatList_INTERNAL export type ListProps<ItemT> = Omit< @@ -37,7 +40,8 @@ function ListImpl<ItemT>( const isScrolledDown = useSharedValue(false) const contextScrollHandlers = useScrollHandlers() const pal = usePalette('default') - + const showsVerticalScrollIndicator = + !useGate('hide_vertical_scroll_indicators') || isWeb function handleScrolledDownChange(didScrollDown: boolean) { onScrolledDownChange?.(didScrollDown) } @@ -93,6 +97,7 @@ function ListImpl<ItemT>( scrollEventThrottle={1} style={style} ref={ref} + showsVerticalScrollIndicator={showsVerticalScrollIndicator} /> ) } diff --git a/src/view/com/util/Views.jsx b/src/view/com/util/Views.jsx index 7d6120583..6850f42a4 100644 --- a/src/view/com/util/Views.jsx +++ b/src/view/com/util/Views.jsx @@ -2,8 +2,22 @@ import React from 'react' import {View} from 'react-native' import Animated from 'react-native-reanimated' +import {useGate} from 'lib/statsig/statsig' + export const FlatList_INTERNAL = Animated.FlatList -export const ScrollView = Animated.ScrollView export function CenteredView(props) { return <View {...props} /> } + +export function ScrollView(props) { + const showsVerticalScrollIndicator = !useGate( + 'hide_vertical_scroll_indicators', + ) + + return ( + <Animated.ScrollView + {...props} + showsVerticalScrollIndicator={showsVerticalScrollIndicator} + /> + ) +} |