about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/screens/Settings/SettingsInterests.tsx22
-rw-r--r--src/state/queries/trending/useGetSuggestedFeedsQuery.ts4
2 files changed, 23 insertions, 3 deletions
diff --git a/src/screens/Settings/SettingsInterests.tsx b/src/screens/Settings/SettingsInterests.tsx
index 9a6132946..7114faae7 100644
--- a/src/screens/Settings/SettingsInterests.tsx
+++ b/src/screens/Settings/SettingsInterests.tsx
@@ -10,6 +10,9 @@ import {
   usePreferencesQuery,
 } from '#/state/queries/preferences'
 import {type UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
+import {createGetSuggestedFeedsQueryKey} from '#/state/queries/trending/useGetSuggestedFeedsQuery'
+import {createGetSuggestedUsersQueryKey} from '#/state/queries/trending/useGetSuggestedUsersQuery'
+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 +101,24 @@ 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 Promise.all([
+          await qc.resetQueries({
+            queryKey: createSuggestedStarterPacksQueryKey(),
+          }),
+          await qc.resetQueries({queryKey: createGetSuggestedFeedsQueryKey()}),
+          await qc.resetQueries({
+            queryKey: createGetSuggestedUsersQueryKey({}),
+          }),
+        ])
+
         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 293457d03..55b633af0 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(