migrate the activity subscription queries to the appview client
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,10 +2,10 @@ import {useMemo, useState} from 'react'
|
||||
import {View} from 'react-native'
|
||||
import {
|
||||
type AppBskyNotificationDefs,
|
||||
type AppBskyNotificationListActivitySubscriptions,
|
||||
type ModerationOpts,
|
||||
type Un$Typed,
|
||||
} from '@atproto/api'
|
||||
import {type DidString} from '@atproto/syntax'
|
||||
import {msg} from '@lingui/core/macro'
|
||||
import {useLingui} from '@lingui/react'
|
||||
import {Trans} from '@lingui/react/macro'
|
||||
@@ -20,7 +20,7 @@ import {cleanError} from '#/lib/strings/errors'
|
||||
import {sanitizeHandle} from '#/lib/strings/handles'
|
||||
import {updateProfileShadow} from '#/state/cache/profile-shadow'
|
||||
import {RQKEY_getActivitySubscriptions} from '#/state/queries/activity-subscriptions'
|
||||
import {useAgent} from '#/state/session'
|
||||
import {useAppviewClient} from '#/state/session'
|
||||
import {atoms as a, platform, useTheme, web} from '#/alf'
|
||||
import {Admonition} from '#/components/Admonition'
|
||||
import {
|
||||
@@ -37,6 +37,7 @@ import * as Toast from '#/components/Toast'
|
||||
import {Text} from '#/components/Typography'
|
||||
import {useAnalytics} from '#/analytics'
|
||||
import {IS_WEB} from '#/env'
|
||||
import {app} from '#/lexicons'
|
||||
import type * as bsky from '#/types/bsky'
|
||||
|
||||
export function SubscribeProfileDialog({
|
||||
@@ -74,7 +75,7 @@ function DialogInner({
|
||||
const ax = useAnalytics()
|
||||
const {_} = useLingui()
|
||||
const t = useTheme()
|
||||
const agent = useAgent()
|
||||
const client = useAppviewClient()
|
||||
const control = Dialog.useDialogContext()
|
||||
const queryClient = useQueryClient()
|
||||
const initialState = parseActivitySubscription(
|
||||
@@ -122,8 +123,9 @@ function DialogInner({
|
||||
mutationFn: async (
|
||||
activitySubscription: Un$Typed<AppBskyNotificationDefs.ActivitySubscription>,
|
||||
) => {
|
||||
await agent.app.bsky.notification.putActivitySubscription({
|
||||
subject: profile.did,
|
||||
await client.call(app.bsky.notification.putActivitySubscription, {
|
||||
// the profile view carries an already-resolved did
|
||||
subject: profile.did as DidString,
|
||||
activitySubscription,
|
||||
})
|
||||
},
|
||||
@@ -148,7 +150,7 @@ function DialogInner({
|
||||
queryClient.setQueryData(
|
||||
RQKEY_getActivitySubscriptions,
|
||||
(
|
||||
old?: InfiniteData<AppBskyNotificationListActivitySubscriptions.OutputSchema>,
|
||||
old?: InfiniteData<app.bsky.notification.listActivitySubscriptions.$OutputBody>,
|
||||
) => {
|
||||
if (!old) return old
|
||||
return {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
type AppBskyActorDefs,
|
||||
type AppBskyNotificationDeclaration,
|
||||
type AppBskyNotificationListActivitySubscriptions,
|
||||
} from '@atproto/api'
|
||||
import {t} from '@lingui/core/macro'
|
||||
import {
|
||||
@@ -13,23 +12,23 @@ import {
|
||||
useQueryClient,
|
||||
} from '@tanstack/react-query'
|
||||
|
||||
import {useAgent, useSession} from '#/state/session'
|
||||
import {useAgent, useAppviewClient, useSession} from '#/state/session'
|
||||
import * as Toast from '#/components/Toast'
|
||||
import {app} from '#/lexicons'
|
||||
|
||||
export const RQKEY_getActivitySubscriptions = ['activity-subscriptions']
|
||||
export const RQKEY_getNotificationDeclaration = ['notification-declaration']
|
||||
|
||||
export function useActivitySubscriptionsQuery() {
|
||||
const agent = useAgent()
|
||||
const client = useAppviewClient()
|
||||
|
||||
return useInfiniteQuery({
|
||||
queryKey: RQKEY_getActivitySubscriptions,
|
||||
queryFn: async ({pageParam}) => {
|
||||
const response =
|
||||
await agent.app.bsky.notification.listActivitySubscriptions({
|
||||
cursor: pageParam,
|
||||
})
|
||||
return response.data
|
||||
return await client.call(
|
||||
app.bsky.notification.listActivitySubscriptions,
|
||||
{cursor: pageParam},
|
||||
)
|
||||
},
|
||||
initialPageParam: undefined as string | undefined,
|
||||
getNextPageParam: prev => prev.cursor,
|
||||
@@ -111,7 +110,7 @@ export function* findAllProfilesInQueryData(
|
||||
did: string,
|
||||
): Generator<AppBskyActorDefs.ProfileView, void> {
|
||||
const queryDatas = queryClient.getQueriesData<
|
||||
InfiniteData<AppBskyNotificationListActivitySubscriptions.OutputSchema>
|
||||
InfiniteData<app.bsky.notification.listActivitySubscriptions.$OutputBody>
|
||||
>({
|
||||
queryKey: RQKEY_getActivitySubscriptions,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user