diff --git a/src/screens/Settings/SettingsInterests.tsx b/src/screens/Settings/SettingsInterests.tsx index 2665455605..308f753eaa 100644 --- a/src/screens/Settings/SettingsInterests.tsx +++ b/src/screens/Settings/SettingsInterests.tsx @@ -10,6 +10,8 @@ import { usePreferencesQuery, } from '#/state/queries/preferences' import {type UsePreferencesQueryResponse} from '#/state/queries/preferences/types' +import {createGetSuggestedFeedsQueryKey} from '#/state/queries/trending/useGetSuggestedFeedsQuery' +import {createSuggestedStarterPacksQueryKey} from '#/state/queries/useSuggestedStarterPacksQuery' import {useAgent} from '#/state/session' import * as Toast from '#/view/com/util/Toast' import {useInterestsDisplayNames} from '#/screens/Onboarding/state' @@ -98,7 +100,16 @@ function Inner({ try { await agent.setInterestsPref({tags: interests}) - await qc.invalidateQueries({queryKey: preferencesQueryKey}) + qc.setQueriesData( + {queryKey: preferencesQueryKey}, + (old?: UsePreferencesQueryResponse) => { + if (!old) return old + old.interests.tags = interests + return old + }, + ) + await qc.resetQueries({queryKey: createSuggestedStarterPacksQueryKey()}) + await qc.resetQueries({queryKey: createGetSuggestedFeedsQueryKey()}) Toast.show( _(msg({message: 'Content preferences updated!', context: 'toast'})), ) diff --git a/src/state/queries/trending/useGetSuggestedFeedsQuery.ts b/src/state/queries/trending/useGetSuggestedFeedsQuery.ts index 293457d035..55b633af07 100644 --- a/src/state/queries/trending/useGetSuggestedFeedsQuery.ts +++ b/src/state/queries/trending/useGetSuggestedFeedsQuery.ts @@ -11,7 +11,7 @@ import {useAgent} from '#/state/session' export const DEFAULT_LIMIT = 5 -export const createGetTrendsQueryKey = () => ['suggested-feeds'] +export const createGetSuggestedFeedsQueryKey = () => ['suggested-feeds'] export function useGetSuggestedFeedsQuery() { const agent = useAgent() @@ -22,7 +22,7 @@ export function useGetSuggestedFeedsQuery() { enabled: !!preferences, refetchOnWindowFocus: true, staleTime: STALE.MINUTES.ONE, - queryKey: createGetTrendsQueryKey(), + queryKey: createGetSuggestedFeedsQueryKey(), queryFn: async () => { const contentLangs = getContentLanguages().join(',') const {data} = await agent.app.bsky.unspecced.getSuggestedFeeds(