Interests and caching

This commit is contained in:
Eric Bailey
2025-04-02 15:40:56 -05:00
parent 5fb56eb90d
commit ca0d226410
@@ -1,5 +1,12 @@
import {useQuery} from '@tanstack/react-query'
import {
aggregateUserInterests,
createBskyTopicsHeader,
} from '#/lib/api/feed/utils'
import {getContentLanguages} from '#/state/preferences/languages'
import {STALE} from '#/state/queries'
import {usePreferencesQuery} from '#/state/queries/preferences'
import {useAgent} from '#/state/session'
export const createSuggestedStarterPacksQueryKey = () => [
@@ -8,12 +15,23 @@ export const createSuggestedStarterPacksQueryKey = () => [
export function useSuggestedStarterPacksQuery() {
const agent = useAgent()
const {data: preferences} = usePreferencesQuery()
const contentLangs = getContentLanguages().join(',')
return useQuery({
refetchOnWindowFocus: true,
staleTime: STALE.MINUTES.THREE,
queryKey: createSuggestedStarterPacksQueryKey(),
async queryFn() {
// TODO interests
const {data} = await agent.app.bsky.unspecced.getSuggestedStarterPacks()
const {data} = await agent.app.bsky.unspecced.getSuggestedStarterPacks(
undefined,
{
headers: {
...createBskyTopicsHeader(aggregateUserInterests(preferences)),
'Accept-Language': contentLangs,
},
},
)
return data
},
})