diff options
author | dan <dan.abramov@gmail.com> | 2023-12-21 22:56:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-21 14:56:45 -0800 |
commit | bc31da47fdcb4c1704c96b0083f8e5429475da4e (patch) | |
tree | def266d74be5554614b53bf097e8d2ce24687615 /src/view/com/lists | |
parent | 987c543727dd4d816987148ec3ccdb4337d601ac (diff) | |
download | voidsky-bc31da47fdcb4c1704c96b0083f8e5429475da4e.tar.zst |
Consolidate List props a bit (#2216)
Diffstat (limited to 'src/view/com/lists')
-rw-r--r-- | src/view/com/lists/ListMembers.tsx | 17 | ||||
-rw-r--r-- | src/view/com/lists/MyLists.tsx | 70 | ||||
-rw-r--r-- | src/view/com/lists/ProfileLists.tsx | 23 |
3 files changed, 52 insertions, 58 deletions
diff --git a/src/view/com/lists/ListMembers.tsx b/src/view/com/lists/ListMembers.tsx index a31ca4793..2aef7d766 100644 --- a/src/view/com/lists/ListMembers.tsx +++ b/src/view/com/lists/ListMembers.tsx @@ -2,7 +2,6 @@ import React from 'react' import { ActivityIndicator, Dimensions, - RefreshControl, StyleProp, View, ViewStyle, @@ -15,7 +14,6 @@ import {LoadMoreRetryBtn} from '../util/LoadMoreRetryBtn' import {ProfileCard} from '../profile/ProfileCard' import {Button} from '../util/forms/Button' import {useAnalytics} from 'lib/analytics/analytics' -import {usePalette} from 'lib/hooks/usePalette' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {useListMembersQuery} from '#/state/queries/list-members' import {logger} from '#/logger' @@ -51,7 +49,6 @@ export function ListMembers({ headerOffset?: number desktopFixedHeightOffset?: number }) { - const pal = usePalette('default') const {track} = useAnalytics() const [isRefreshing, setIsRefreshing] = React.useState(false) const {isMobile} = useWebMediaQueries() @@ -215,24 +212,16 @@ export function ListMembers({ renderItem={renderItem} ListHeaderComponent={renderHeader} ListFooterComponent={Footer} - refreshControl={ - <RefreshControl - refreshing={isRefreshing} - onRefresh={onRefresh} - tintColor={pal.colors.text} - titleColor={pal.colors.text} - progressViewOffset={headerOffset} - /> - } + refreshing={isRefreshing} + onRefresh={onRefresh} + headerOffset={headerOffset} contentContainerStyle={{ minHeight: Dimensions.get('window').height * 1.5, }} - style={{paddingTop: headerOffset}} onScrolledDownChange={onScrolledDownChange} onEndReached={onEndReached} onEndReachedThreshold={0.6} removeClippedSubviews={true} - contentOffset={{x: 0, y: headerOffset * -1}} // @ts-ignore our .web version only -prf desktopFixedHeight={desktopFixedHeightOffset || true} /> diff --git a/src/view/com/lists/MyLists.tsx b/src/view/com/lists/MyLists.tsx index 586ad234e..a2a6b0651 100644 --- a/src/view/com/lists/MyLists.tsx +++ b/src/view/com/lists/MyLists.tsx @@ -119,31 +119,51 @@ export function MyLists({ [error, onRefresh, renderItem, pal], ) - const FlatListCom = inline ? RNFlatList : List - return ( - <View testID={testID} style={style}> - {items.length > 0 && ( - <FlatListCom - testID={testID ? `${testID}-flatlist` : undefined} - data={items} - keyExtractor={item => (item.uri ? item.uri : item._reactKey)} - renderItem={renderItemInner} - refreshControl={ - <RefreshControl - refreshing={isPTRing} - onRefresh={onRefresh} - tintColor={pal.colors.text} - titleColor={pal.colors.text} - /> - } - contentContainerStyle={[s.contentContainer]} - removeClippedSubviews={true} - // @ts-ignore our .web version only -prf - desktopFixedHeight - /> - )} - </View> - ) + if (inline) { + return ( + <View testID={testID} style={style}> + {items.length > 0 && ( + <RNFlatList + testID={testID ? `${testID}-flatlist` : undefined} + data={items} + keyExtractor={item => (item.uri ? item.uri : item._reactKey)} + renderItem={renderItemInner} + refreshControl={ + <RefreshControl + refreshing={isPTRing} + onRefresh={onRefresh} + tintColor={pal.colors.text} + titleColor={pal.colors.text} + /> + } + contentContainerStyle={[s.contentContainer]} + removeClippedSubviews={true} + // @ts-ignore our .web version only -prf + desktopFixedHeight + /> + )} + </View> + ) + } else { + return ( + <View testID={testID} style={style}> + {items.length > 0 && ( + <List + testID={testID ? `${testID}-flatlist` : undefined} + data={items} + keyExtractor={item => (item.uri ? item.uri : item._reactKey)} + renderItem={renderItemInner} + refreshing={isPTRing} + onRefresh={onRefresh} + contentContainerStyle={[s.contentContainer]} + removeClippedSubviews={true} + // @ts-ignore our .web version only -prf + desktopFixedHeight + /> + )} + </View> + ) + } } const styles = StyleSheet.create({ diff --git a/src/view/com/lists/ProfileLists.tsx b/src/view/com/lists/ProfileLists.tsx index e3d9bd0b4..db981717f 100644 --- a/src/view/com/lists/ProfileLists.tsx +++ b/src/view/com/lists/ProfileLists.tsx @@ -1,12 +1,5 @@ import React from 'react' -import { - Dimensions, - RefreshControl, - StyleProp, - StyleSheet, - View, - ViewStyle, -} from 'react-native' +import {Dimensions, StyleProp, StyleSheet, View, ViewStyle} from 'react-native' import {useQueryClient} from '@tanstack/react-query' import {List, ListRef} from '../util/List' import {ListCard} from './ListCard' @@ -182,22 +175,14 @@ export const ProfileLists = React.forwardRef<SectionRef, ProfileListsProps>( data={items} keyExtractor={(item: any) => item._reactKey} renderItem={renderItemInner} - refreshControl={ - <RefreshControl - refreshing={isPTRing} - onRefresh={onRefresh} - tintColor={pal.colors.text} - titleColor={pal.colors.text} - progressViewOffset={headerOffset} - /> - } + refreshing={isPTRing} + onRefresh={onRefresh} + headerOffset={headerOffset} contentContainerStyle={{ minHeight: Dimensions.get('window').height * 1.5, }} - style={{paddingTop: headerOffset}} indicatorStyle={theme.colorScheme === 'dark' ? 'white' : 'black'} removeClippedSubviews={true} - contentOffset={{x: 0, y: headerOffset * -1}} // @ts-ignore our .web version only -prf desktopFixedHeight onEndReached={onEndReached} |