This commit is contained in:
Eric Bailey
2025-04-07 15:31:59 -05:00
parent 3ed2aef7a6
commit c8904777ea
+37 -3
View File
@@ -7,6 +7,7 @@ import {
} from '@atproto/api' } from '@atproto/api'
import {msg, Trans} from '@lingui/macro' import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react' import {useLingui} from '@lingui/react'
import {useQueryClient} from '@tanstack/react-query'
import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender' import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
import {useGate} from '#/lib/statsig/statsig' import {useGate} from '#/lib/statsig/statsig'
@@ -22,9 +23,19 @@ import {
import {useGetPopularFeedsQuery} from '#/state/queries/feed' import {useGetPopularFeedsQuery} from '#/state/queries/feed'
import {Nux, useNux} from '#/state/queries/nuxs' import {Nux, useNux} from '#/state/queries/nuxs'
import {usePreferencesQuery} from '#/state/queries/preferences' import {usePreferencesQuery} from '#/state/queries/preferences'
import {useGetSuggestedFeedsQuery} from '#/state/queries/trending/useGetSuggestedFeedsQuery' import {
import {useGetSuggestedUsersQuery} from '#/state/queries/trending/useGetSuggestedUsersQuery' createGetSuggestedFeedsQueryKey,
import {useSuggestedStarterPacksQuery} from '#/state/queries/useSuggestedStarterPacksQuery' useGetSuggestedFeedsQuery,
} from '#/state/queries/trending/useGetSuggestedFeedsQuery'
import {
getSuggestedUsersQueryKeyRoot,
useGetSuggestedUsersQuery,
} from '#/state/queries/trending/useGetSuggestedUsersQuery'
import {createGetTrendsQueryKey} from '#/state/queries/trending/useGetTrendsQuery'
import {
createSuggestedStarterPacksQueryKey,
useSuggestedStarterPacksQuery,
} from '#/state/queries/useSuggestedStarterPacksQuery'
import {useProgressGuide} from '#/state/shell/progress-guide' import {useProgressGuide} from '#/state/shell/progress-guide'
import {isThreadChildAt, isThreadParentAt} from '#/view/com/posts/PostFeed' import {isThreadChildAt, isThreadParentAt} from '#/view/com/posts/PostFeed'
import {PostFeedItem} from '#/view/com/posts/PostFeedItem' import {PostFeedItem} from '#/view/com/posts/PostFeedItem'
@@ -265,6 +276,27 @@ export function Explore({
}, },
} = useFeedPreviews(suggestedFeeds?.feeds ?? []) } = useFeedPreviews(suggestedFeeds?.feeds ?? [])
const qc = useQueryClient()
const [isPTR, setIsPTR] = useState(false)
const onPTR = useCallback(async () => {
setIsPTR(true)
await Promise.all([
await qc.resetQueries({
queryKey: createGetTrendsQueryKey(),
}),
await qc.resetQueries({
queryKey: createSuggestedStarterPacksQueryKey(),
}),
await qc.resetQueries({
queryKey: [getSuggestedUsersQueryKeyRoot],
}),
await qc.resetQueries({
queryKey: createGetSuggestedFeedsQueryKey(),
}),
])
setIsPTR(false)
}, [qc, setIsPTR])
const onLoadMoreFeedPreviews = useCallback(async () => { const onLoadMoreFeedPreviews = useCallback(async () => {
if ( if (
isPendingFeedPreviews || isPendingFeedPreviews ||
@@ -909,6 +941,8 @@ export function Explore({
windowSize={9} windowSize={9}
maxToRenderPerBatch={platform({ios: 5, default: 1})} maxToRenderPerBatch={platform({ios: 5, default: 1})}
updateCellsBatchingPeriod={40} updateCellsBatchingPeriod={40}
refreshing={isPTR}
onRefresh={onPTR}
/> />
) )
} }