Only give the loading spinner on the home feed during PTR (#207)

(cherry picked from commit b7a5da12fdfacef74873b5cf6d75f20d259bde0e)
This commit is contained in:
Paul Frazee
2023-02-15 13:14:17 -06:00
committed by GitHub
parent b05a3146b7
commit 751c5e91a3
+18 -13
View File
@@ -1,4 +1,4 @@
import React, {MutableRefObject, useEffect} from 'react'
import React, {MutableRefObject} from 'react'
import {observer} from 'mobx-react-lite'
import {
ActivityIndicator,
@@ -38,8 +38,9 @@ export const Feed = observer(function Feed({
headerOffset?: number
}) {
const {screen, track} = useAnalytics()
const [isRefreshing, setIsRefreshing] = React.useState(false)
useEffect(() => {
React.useEffect(() => {
screen('Feed')
}, [screen])
@@ -63,19 +64,23 @@ export const Feed = observer(function Feed({
}
return <FeedItem item={item} />
}
const onRefresh = () => {
const onRefresh = async () => {
track('Feed:onRefresh')
feed
.refresh()
.catch(err =>
feed.rootStore.log.error('Failed to refresh posts feed', err),
)
setIsRefreshing(true)
try {
await feed.refresh()
} catch (err) {
feed.rootStore.log.error('Failed to refresh posts feed', err)
}
setIsRefreshing(false)
}
const onEndReached = () => {
const onEndReached = async () => {
track('Feed:onEndReached')
feed
.loadMore()
.catch(err => feed.rootStore.log.error('Failed to load more posts', err))
try {
await feed.loadMore()
} catch (err) {
feed.rootStore.log.error('Failed to load more posts', err)
}
}
let data: any[] = []
if (feed.hasError) {
@@ -110,7 +115,7 @@ export const Feed = observer(function Feed({
keyExtractor={item => item._reactKey}
renderItem={renderItem}
ListFooterComponent={FeedFooter}
refreshing={feed.isRefreshing}
refreshing={isRefreshing}
contentContainerStyle={s.contentContainer}
onScroll={onScroll}
onRefresh={onRefresh}