Disable other queries if full experience is disabled
This commit is contained in:
@@ -252,7 +252,7 @@ export function Explore({
|
||||
isFetchingNextPage: isFetchingNextFeedsPage,
|
||||
error: feedsError,
|
||||
fetchNextPage: fetchNextFeedsPage,
|
||||
} = useGetPopularFeedsQuery({limit: 10})
|
||||
} = useGetPopularFeedsQuery({limit: 10, enabled: useFullExperience})
|
||||
const interestsNux = useNux(Nux.ExploreInterestsCard)
|
||||
const showInterestsNux =
|
||||
interestsNux.status === 'ready' && !interestsNux.nux?.completed
|
||||
@@ -262,7 +262,7 @@ export function Explore({
|
||||
isLoading: isLoadingSuggestedSPs,
|
||||
error: suggestedSPsError,
|
||||
isRefetching: isRefetchingSuggestedSPs,
|
||||
} = useSuggestedStarterPacksQuery()
|
||||
} = useSuggestedStarterPacksQuery({enabled: useFullExperience})
|
||||
|
||||
const isLoadingMoreFeeds = isFetchingNextFeedsPage && !isLoadingFeeds
|
||||
const [hasPressedLoadMoreFeeds, setHasPressedLoadMoreFeeds] = useState(false)
|
||||
@@ -285,7 +285,9 @@ export function Explore({
|
||||
hasPressedLoadMoreFeeds,
|
||||
])
|
||||
|
||||
const {data: suggestedFeeds} = useGetSuggestedFeedsQuery()
|
||||
const {data: suggestedFeeds} = useGetSuggestedFeedsQuery({
|
||||
enabled: useFullExperience,
|
||||
})
|
||||
const {
|
||||
data: feedPreviewSlices,
|
||||
query: {
|
||||
@@ -295,7 +297,7 @@ export function Explore({
|
||||
hasNextPage: hasNextPageFeedPreviews,
|
||||
error: feedPreviewSlicesError,
|
||||
},
|
||||
} = useFeedPreviews(suggestedFeeds?.feeds ?? [])
|
||||
} = useFeedPreviews(suggestedFeeds?.feeds ?? [], useFullExperience)
|
||||
|
||||
const qc = useQueryClient()
|
||||
const [isPTR, setIsPTR] = useState(false)
|
||||
|
||||
@@ -120,6 +120,7 @@ export type FeedPreviewItem =
|
||||
|
||||
export function useFeedPreviews(
|
||||
feedsMaybeWithDuplicates: AppBskyFeedDefs.GeneratorView[],
|
||||
isEnabled: boolean = true,
|
||||
) {
|
||||
const feeds = useMemo(
|
||||
() =>
|
||||
@@ -135,7 +136,7 @@ export function useFeedPreviews(
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const userInterests = aggregateUserInterests(preferences)
|
||||
const moderationOpts = useModerationOpts()
|
||||
const enabled = feeds.length > 0
|
||||
const enabled = feeds.length > 0 && isEnabled
|
||||
|
||||
const query = useInfiniteQuery({
|
||||
enabled,
|
||||
|
||||
+11
-11
@@ -1,18 +1,18 @@
|
||||
import {useCallback, useEffect, useMemo, useRef} from 'react'
|
||||
import {
|
||||
AppBskyActorDefs,
|
||||
AppBskyFeedDefs,
|
||||
AppBskyGraphDefs,
|
||||
AppBskyUnspeccedGetPopularFeedGenerators,
|
||||
type AppBskyActorDefs,
|
||||
type AppBskyFeedDefs,
|
||||
type AppBskyGraphDefs,
|
||||
type AppBskyUnspeccedGetPopularFeedGenerators,
|
||||
AtUri,
|
||||
moderateFeedGenerator,
|
||||
RichText,
|
||||
} from '@atproto/api'
|
||||
import {
|
||||
InfiniteData,
|
||||
type InfiniteData,
|
||||
keepPreviousData,
|
||||
QueryClient,
|
||||
QueryKey,
|
||||
type QueryClient,
|
||||
type QueryKey,
|
||||
useInfiniteQuery,
|
||||
useMutation,
|
||||
useQuery,
|
||||
@@ -28,7 +28,7 @@ import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {useAgent, useSession} from '#/state/session'
|
||||
import {router} from '#/routes'
|
||||
import {useModerationOpts} from '../preferences/moderation-opts'
|
||||
import {FeedDescriptor} from './post-feed'
|
||||
import {type FeedDescriptor} from './post-feed'
|
||||
import {precacheResolvedUri} from './resolve-uri'
|
||||
|
||||
export type FeedSourceFeedInfo = {
|
||||
@@ -203,12 +203,12 @@ export const KNOWN_AUTHED_ONLY_FEEDS = [
|
||||
'at://did:plc:vpkhqolt662uhesyj6nxm7ys/app.bsky.feed.generator/followpics', // the gram, by why
|
||||
]
|
||||
|
||||
type GetPopularFeedsOptions = {limit?: number}
|
||||
type GetPopularFeedsOptions = {limit?: number; enabled?: boolean}
|
||||
|
||||
export function createGetPopularFeedsQueryKey(
|
||||
options?: GetPopularFeedsOptions,
|
||||
) {
|
||||
return ['getPopularFeeds', options]
|
||||
return ['getPopularFeeds', options?.limit]
|
||||
}
|
||||
|
||||
export function useGetPopularFeedsQuery(options?: GetPopularFeedsOptions) {
|
||||
@@ -237,7 +237,7 @@ export function useGetPopularFeedsQuery(options?: GetPopularFeedsOptions) {
|
||||
QueryKey,
|
||||
string | undefined
|
||||
>({
|
||||
enabled: Boolean(moderationOpts),
|
||||
enabled: Boolean(moderationOpts) && options?.enabled !== false,
|
||||
queryKey: createGetPopularFeedsQueryKey(options),
|
||||
queryFn: async ({pageParam}) => {
|
||||
const res = await agent.app.bsky.unspecced.getPopularFeedGenerators({
|
||||
|
||||
@@ -13,13 +13,13 @@ export const DEFAULT_LIMIT = 5
|
||||
|
||||
export const createGetSuggestedFeedsQueryKey = () => ['suggested-feeds']
|
||||
|
||||
export function useGetSuggestedFeedsQuery() {
|
||||
export function useGetSuggestedFeedsQuery({enabled}: {enabled?: boolean}) {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const savedFeeds = preferences?.savedFeeds
|
||||
|
||||
return useQuery({
|
||||
enabled: !!preferences,
|
||||
enabled: !!preferences && enabled !== false,
|
||||
staleTime: STALE.MINUTES.THREE,
|
||||
queryKey: createGetSuggestedFeedsQueryKey(),
|
||||
queryFn: async () => {
|
||||
|
||||
@@ -13,13 +13,13 @@ export const createSuggestedStarterPacksQueryKey = () => [
|
||||
'suggested-starter-packs',
|
||||
]
|
||||
|
||||
export function useSuggestedStarterPacksQuery() {
|
||||
export function useSuggestedStarterPacksQuery({enabled}: {enabled?: boolean}) {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const contentLangs = getContentLanguages().join(',')
|
||||
|
||||
return useQuery({
|
||||
enabled: !!preferences,
|
||||
enabled: !!preferences && enabled !== false,
|
||||
staleTime: STALE.MINUTES.THREE,
|
||||
queryKey: createSuggestedStarterPacksQueryKey(),
|
||||
async queryFn() {
|
||||
|
||||
Reference in New Issue
Block a user