about summary refs log tree commit diff
path: root/src/state/queries
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/queries')
-rw-r--r--src/state/queries/preferences/const.ts1
-rw-r--r--src/state/queries/preferences/types.ts19
-rw-r--r--src/state/queries/profile.ts12
3 files changed, 24 insertions, 8 deletions
diff --git a/src/state/queries/preferences/const.ts b/src/state/queries/preferences/const.ts
index b7f9206e8..2d9d02994 100644
--- a/src/state/queries/preferences/const.ts
+++ b/src/state/queries/preferences/const.ts
@@ -48,4 +48,5 @@ export const DEFAULT_LOGGED_OUT_PREFERENCES: UsePreferencesQueryResponse = {
   feedViewPrefs: DEFAULT_HOME_FEED_PREFS,
   threadViewPrefs: DEFAULT_THREAD_VIEW_PREFS,
   userAge: 13, // TODO(pwi)
+  interests: {tags: []},
 }
diff --git a/src/state/queries/preferences/types.ts b/src/state/queries/preferences/types.ts
index 5fca8d558..cd9a2e8f9 100644
--- a/src/state/queries/preferences/types.ts
+++ b/src/state/queries/preferences/types.ts
@@ -5,14 +5,17 @@ import {
   BskyFeedViewPreference,
 } from '@atproto/api'
 
-export type ConfigurableLabelGroup =
-  | 'nsfw'
-  | 'nudity'
-  | 'suggestive'
-  | 'gore'
-  | 'hate'
-  | 'spam'
-  | 'impersonation'
+export const configurableLabelGroups = [
+  'nsfw',
+  'nudity',
+  'suggestive',
+  'gore',
+  'hate',
+  'spam',
+  'impersonation',
+] as const
+export type ConfigurableLabelGroup = (typeof configurableLabelGroups)[number]
+
 export type LabelGroup =
   | ConfigurableLabelGroup
   | 'illegal'
diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts
index 434269183..e6203550f 100644
--- a/src/state/queries/profile.ts
+++ b/src/state/queries/profile.ts
@@ -24,6 +24,7 @@ import {STALE} from '#/state/queries'
 import {track} from '#/lib/analytics/analytics'
 
 export const RQKEY = (did: string) => ['profile', did]
+export const profilesQueryKey = (handles: string[]) => ['profiles', handles]
 
 export function useProfileQuery({did}: {did: string | undefined}) {
   const {currentAccount} = useSession()
@@ -45,6 +46,17 @@ export function useProfileQuery({did}: {did: string | undefined}) {
   })
 }
 
+export function useProfilesQuery({handles}: {handles: string[]}) {
+  return useQuery({
+    staleTime: STALE.MINUTES.FIVE,
+    queryKey: profilesQueryKey(handles),
+    queryFn: async () => {
+      const res = await getAgent().getProfiles({actors: handles})
+      return res.data
+    },
+  })
+}
+
 interface ProfileUpdateParams {
   profile: AppBskyActorDefs.ProfileView
   updates: