diff options
Diffstat (limited to 'src/state/queries')
-rw-r--r-- | src/state/queries/preferences/const.ts | 1 | ||||
-rw-r--r-- | src/state/queries/preferences/types.ts | 19 | ||||
-rw-r--r-- | src/state/queries/profile.ts | 12 |
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: |