[Session] Drill into `getAgent` into `whenAppViewReady` (#3702)
* Drill into whenAppViewReady (cherry picked from commit e290e5be3df509bdd9d0e626a164996c9dee3636) * Drill getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>zio/stable
parent
ec37696034
commit
a69e567991
|
@ -4,6 +4,7 @@ import {
|
|||
AppBskyGraphGetList,
|
||||
AppBskyGraphList,
|
||||
AtUri,
|
||||
BskyAgent,
|
||||
Facet,
|
||||
} from '@atproto/api'
|
||||
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
|
||||
|
@ -85,9 +86,13 @@ export function useListCreateMutation() {
|
|||
)
|
||||
|
||||
// wait for the appview to update
|
||||
await whenAppViewReady(res.uri, (v: AppBskyGraphGetList.Response) => {
|
||||
return typeof v?.data?.list.uri === 'string'
|
||||
})
|
||||
await whenAppViewReady(
|
||||
getAgent,
|
||||
res.uri,
|
||||
(v: AppBskyGraphGetList.Response) => {
|
||||
return typeof v?.data?.list.uri === 'string'
|
||||
},
|
||||
)
|
||||
return res
|
||||
},
|
||||
onSuccess() {
|
||||
|
@ -150,12 +155,16 @@ export function useListMetadataMutation() {
|
|||
).data
|
||||
|
||||
// wait for the appview to update
|
||||
await whenAppViewReady(res.uri, (v: AppBskyGraphGetList.Response) => {
|
||||
const list = v.data.list
|
||||
return (
|
||||
list.name === record.name && list.description === record.description
|
||||
)
|
||||
})
|
||||
await whenAppViewReady(
|
||||
getAgent,
|
||||
res.uri,
|
||||
(v: AppBskyGraphGetList.Response) => {
|
||||
const list = v.data.list
|
||||
return (
|
||||
list.name === record.name && list.description === record.description
|
||||
)
|
||||
},
|
||||
)
|
||||
return res
|
||||
},
|
||||
onSuccess(data, variables) {
|
||||
|
@ -220,9 +229,13 @@ export function useListDeleteMutation() {
|
|||
}
|
||||
|
||||
// wait for the appview to update
|
||||
await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
|
||||
return !v?.success
|
||||
})
|
||||
await whenAppViewReady(
|
||||
getAgent,
|
||||
uri,
|
||||
(v: AppBskyGraphGetList.Response) => {
|
||||
return !v?.success
|
||||
},
|
||||
)
|
||||
},
|
||||
onSuccess() {
|
||||
invalidateMyLists(queryClient)
|
||||
|
@ -244,9 +257,13 @@ export function useListMuteMutation() {
|
|||
await getAgent().unmuteModList(uri)
|
||||
}
|
||||
|
||||
await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
|
||||
return Boolean(v?.data.list.viewer?.muted) === mute
|
||||
})
|
||||
await whenAppViewReady(
|
||||
getAgent,
|
||||
uri,
|
||||
(v: AppBskyGraphGetList.Response) => {
|
||||
return Boolean(v?.data.list.viewer?.muted) === mute
|
||||
},
|
||||
)
|
||||
},
|
||||
onSuccess(data, variables) {
|
||||
queryClient.invalidateQueries({
|
||||
|
@ -266,11 +283,15 @@ export function useListBlockMutation() {
|
|||
await getAgent().unblockModList(uri)
|
||||
}
|
||||
|
||||
await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
|
||||
return block
|
||||
? typeof v?.data.list.viewer?.blocked === 'string'
|
||||
: !v?.data.list.viewer?.blocked
|
||||
})
|
||||
await whenAppViewReady(
|
||||
getAgent,
|
||||
uri,
|
||||
(v: AppBskyGraphGetList.Response) => {
|
||||
return block
|
||||
? typeof v?.data.list.viewer?.blocked === 'string'
|
||||
: !v?.data.list.viewer?.blocked
|
||||
},
|
||||
)
|
||||
},
|
||||
onSuccess(data, variables) {
|
||||
queryClient.invalidateQueries({
|
||||
|
@ -281,6 +302,7 @@ export function useListBlockMutation() {
|
|||
}
|
||||
|
||||
async function whenAppViewReady(
|
||||
getAgent: () => BskyAgent,
|
||||
uri: string,
|
||||
fn: (res: AppBskyGraphGetList.Response) => boolean,
|
||||
) {
|
||||
|
|
|
@ -8,6 +8,7 @@ import {
|
|||
AppBskyEmbedRecordWithMedia,
|
||||
AppBskyFeedDefs,
|
||||
AtUri,
|
||||
BskyAgent,
|
||||
} from '@atproto/api'
|
||||
import {
|
||||
QueryClient,
|
||||
|
@ -154,6 +155,7 @@ export function useProfileUpdateMutation() {
|
|||
return existing
|
||||
})
|
||||
await whenAppViewReady(
|
||||
getAgent,
|
||||
profile.did,
|
||||
checkCommitted ||
|
||||
(res => {
|
||||
|
@ -516,6 +518,7 @@ export function precacheThreadPostProfiles(
|
|||
}
|
||||
|
||||
async function whenAppViewReady(
|
||||
getAgent: () => BskyAgent,
|
||||
actor: string,
|
||||
fn: (res: AppBskyActorGetProfile.Response) => boolean,
|
||||
) {
|
||||
|
|
Loading…
Reference in New Issue