diff --git a/packages/pl-fe/src/queries/timelines/use-account-media-timeline.ts b/packages/pl-fe/src/queries/timelines/use-account-media-timeline.ts index 24c839f31..c960624c5 100644 --- a/packages/pl-fe/src/queries/timelines/use-account-media-timeline.ts +++ b/packages/pl-fe/src/queries/timelines/use-account-media-timeline.ts @@ -2,13 +2,17 @@ import { makePaginatedResponseQuery } from '../utils/make-paginated-response-que import { minifyStatusList } from '../utils/minify-list'; const useAccountMediaTimeline = makePaginatedResponseQuery( - (accountId: string) => ['timelineIds', `account:${accountId}:with_replies:media`], + (accountId?: string) => ['timelineIds', `account:${accountId}:with_replies:media`], (client, [accountId]) => client.accounts.getAccountStatuses(accountId!, { only_media: true }).then(minifyStatusList), + undefined, + (accountId) => !!accountId, ); const useGroupMediaTimeline = makePaginatedResponseQuery( (groupId: string) => ['timelineIds', `group:${groupId}:media`], (client, [groupId]) => client.timelines.groupTimeline(groupId!, { only_media: true }).then(minifyStatusList), + undefined, + (groupId) => !!groupId, ); export { useAccountMediaTimeline, useGroupMediaTimeline }; diff --git a/packages/pl-fe/src/queries/utils/make-paginated-response-query.ts b/packages/pl-fe/src/queries/utils/make-paginated-response-query.ts index 50e475bd2..a2ee31767 100644 --- a/packages/pl-fe/src/queries/utils/make-paginated-response-query.ts +++ b/packages/pl-fe/src/queries/utils/make-paginated-response-query.ts @@ -8,6 +8,7 @@ const makePaginatedResponseQuery = , T2, T3 = Array>( queryKey: (...params: T1) => Array, queryFn: (client: PlApiClient, params: T1) => Promise>, select?: (data: InfiniteData>) => T3, + enabled?: (...params: T1) => boolean, ) => (...params: T1) => { const client = useClient(); @@ -17,6 +18,7 @@ const makePaginatedResponseQuery = , T2, T3 = Array>( initialPageParam: { previous: null, next: null, items: [], partial: false } as Awaited>, getNextPageParam: (page) => page.next ? page : undefined, select: select ?? ((data) => data.pages.map(page => page.items).flat() as T3), + enabled: enabled?.(...params) ?? true, }); };