Interests and caching
This commit is contained in:
@@ -1,5 +1,12 @@
|
|||||||
import {useQuery} from '@tanstack/react-query'
|
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'
|
import {useAgent} from '#/state/session'
|
||||||
|
|
||||||
export const createSuggestedStarterPacksQueryKey = () => [
|
export const createSuggestedStarterPacksQueryKey = () => [
|
||||||
@@ -8,12 +15,23 @@ export const createSuggestedStarterPacksQueryKey = () => [
|
|||||||
|
|
||||||
export function useSuggestedStarterPacksQuery() {
|
export function useSuggestedStarterPacksQuery() {
|
||||||
const agent = useAgent()
|
const agent = useAgent()
|
||||||
|
const {data: preferences} = usePreferencesQuery()
|
||||||
|
const contentLangs = getContentLanguages().join(',')
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
|
refetchOnWindowFocus: true,
|
||||||
|
staleTime: STALE.MINUTES.THREE,
|
||||||
queryKey: createSuggestedStarterPacksQueryKey(),
|
queryKey: createSuggestedStarterPacksQueryKey(),
|
||||||
async queryFn() {
|
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
|
return data
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user