import ComponentAccount from '@components/Account' import Icon from '@components/Icon' import { Loading } from '@components/Loading' import ComponentSeparator from '@components/Separator' import CustomText from '@components/Text' import { TabSharedStackScreenProps } from '@utils/navigation/navigators' import { QueryKeyUsers, useUsersQuery } from '@utils/queryHooks/users' import { flattenPages } from '@utils/queryHooks/utils' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React from 'react' import { useTranslation } from 'react-i18next' import { View } from 'react-native' import { FlatList } from 'react-native-gesture-handler' const TabSharedUsers: React.FC> = ({ navigation, route: { params } }) => { const { colors } = useTheme() const { t } = useTranslation('screenTabs') const queryKey: QueryKeyUsers = ['Users', params] const { data, isFetching, hasNextPage, fetchNextPage, isFetchingNextPage } = useUsersQuery({ ...queryKey[1] }) return ( ( navigation.push('Tab-Shared-Account', { account: item }) }} /> )} onEndReached={() => hasNextPage && !isFetchingNextPage && fetchNextPage()} onEndReachedThreshold={0.75} ItemSeparatorComponent={ComponentSeparator} ListEmptyComponent={ isFetching ? ( ) : null } maintainVisibleContentPosition={{ minIndexForVisible: 0, autoscrollToTopThreshold: 2 }} ListHeaderComponent={ data?.pages[0]?.warnIncomplete === true ? ( {t('shared.users.resultIncomplete')} ) : null } /> ) } export default TabSharedUsers