diff options
Diffstat (limited to 'src/state/queries')
-rw-r--r-- | src/state/queries/actor-search.ts | 2 | ||||
-rw-r--r-- | src/state/queries/explore-feed-previews.tsx | 3 | ||||
-rw-r--r-- | src/state/queries/feed.ts | 22 | ||||
-rw-r--r-- | src/state/queries/trending/useGetSuggestedFeedsQuery.ts | 4 | ||||
-rw-r--r-- | src/state/queries/trending/useGetSuggestedUsersQuery.ts | 8 | ||||
-rw-r--r-- | src/state/queries/useSuggestedStarterPacksQuery.ts | 4 |
6 files changed, 22 insertions, 21 deletions
diff --git a/src/state/queries/actor-search.ts b/src/state/queries/actor-search.ts index 0b5de2303..5347ca0a1 100644 --- a/src/state/queries/actor-search.ts +++ b/src/state/queries/actor-search.ts @@ -17,7 +17,7 @@ import {useAgent} from '#/state/session' const RQKEY_ROOT = 'actor-search' export const RQKEY = (query: string) => [RQKEY_ROOT, query] -const RQKEY_ROOT_PAGINATED = `${RQKEY_ROOT}_paginated` +export const RQKEY_ROOT_PAGINATED = `${RQKEY_ROOT}_paginated` export const RQKEY_PAGINATED = (query: string, limit?: number) => [ RQKEY_ROOT_PAGINATED, query, diff --git a/src/state/queries/explore-feed-previews.tsx b/src/state/queries/explore-feed-previews.tsx index 2aee8b6b3..4cd7336c0 100644 --- a/src/state/queries/explore-feed-previews.tsx +++ b/src/state/queries/explore-feed-previews.tsx @@ -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, diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts index 5571c0949..89023e513 100644 --- a/src/state/queries/feed.ts +++ b/src/state/queries/feed.ts @@ -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({ diff --git a/src/state/queries/trending/useGetSuggestedFeedsQuery.ts b/src/state/queries/trending/useGetSuggestedFeedsQuery.ts index eef71f1ca..6eef80942 100644 --- a/src/state/queries/trending/useGetSuggestedFeedsQuery.ts +++ b/src/state/queries/trending/useGetSuggestedFeedsQuery.ts @@ -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 () => { diff --git a/src/state/queries/trending/useGetSuggestedUsersQuery.ts b/src/state/queries/trending/useGetSuggestedUsersQuery.ts index c8c3f0089..695e53f52 100644 --- a/src/state/queries/trending/useGetSuggestedUsersQuery.ts +++ b/src/state/queries/trending/useGetSuggestedUsersQuery.ts @@ -13,12 +13,12 @@ import {STALE} from '#/state/queries' import {usePreferencesQuery} from '#/state/queries/preferences' import {useAgent} from '#/state/session' -export type QueryProps = {category?: string | null} +export type QueryProps = {category?: string | null; enabled?: boolean} export const getSuggestedUsersQueryKeyRoot = 'unspecced-suggested-users' export const createGetSuggestedUsersQueryKey = (props: QueryProps) => [ getSuggestedUsersQueryKeyRoot, - ...Object.values(props), + props.category, ] export function useGetSuggestedUsersQuery(props: QueryProps) { @@ -26,7 +26,7 @@ export function useGetSuggestedUsersQuery(props: QueryProps) { const {data: preferences} = usePreferencesQuery() return useQuery({ - enabled: !!preferences, + enabled: !!preferences && props.enabled, staleTime: STALE.MINUTES.THREE, queryKey: createGetSuggestedUsersQueryKey(props), queryFn: async () => { @@ -52,7 +52,7 @@ export function useGetSuggestedUsersQuery(props: QueryProps) { export function* findAllProfilesInQueryData( queryClient: QueryClient, did: string, -): Generator<AppBskyActorDefs.ProfileViewBasic, void> { +): Generator<AppBskyActorDefs.ProfileView, void> { const responses = queryClient.getQueriesData<AppBskyUnspeccedGetSuggestedUsers.OutputSchema>({ queryKey: [getSuggestedUsersQueryKeyRoot], diff --git a/src/state/queries/useSuggestedStarterPacksQuery.ts b/src/state/queries/useSuggestedStarterPacksQuery.ts index 3ec030ac0..cbf61b93a 100644 --- a/src/state/queries/useSuggestedStarterPacksQuery.ts +++ b/src/state/queries/useSuggestedStarterPacksQuery.ts @@ -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() { |