diff options
Diffstat (limited to 'src/view/com/notifications/Feed.tsx')
-rw-r--r-- | src/view/com/notifications/Feed.tsx | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/view/com/notifications/Feed.tsx b/src/view/com/notifications/Feed.tsx index e82c654be..3daa53ec7 100644 --- a/src/view/com/notifications/Feed.tsx +++ b/src/view/com/notifications/Feed.tsx @@ -39,6 +39,7 @@ export function Feed({ const { data, dataUpdatedAt, + isLoading, isFetching, isFetched, isError, @@ -139,6 +140,21 @@ export function Feed({ [onPressRetryLoadMore, dataUpdatedAt, moderationOpts], ) + const showHeaderSpinner = !isPTRing && isFetching && !isLoading + const FeedHeader = React.useCallback( + () => ( + <View> + {ListHeaderComponent ? <ListHeaderComponent /> : null} + {showHeaderSpinner ? ( + <View style={{padding: 10}}> + <ActivityIndicator /> + </View> + ) : null} + </View> + ), + [ListHeaderComponent, showHeaderSpinner], + ) + const FeedFooter = React.useCallback( () => isFetchingNextPage ? ( @@ -168,7 +184,7 @@ export function Feed({ data={items} keyExtractor={item => item._reactKey} renderItem={renderItem} - ListHeaderComponent={ListHeaderComponent} + ListHeaderComponent={FeedHeader} ListFooterComponent={FeedFooter} refreshControl={ <RefreshControl |