[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,
|
AppBskyGraphGetList,
|
||||||
AppBskyGraphList,
|
AppBskyGraphList,
|
||||||
AtUri,
|
AtUri,
|
||||||
|
BskyAgent,
|
||||||
Facet,
|
Facet,
|
||||||
} from '@atproto/api'
|
} from '@atproto/api'
|
||||||
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
|
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
|
||||||
|
@ -85,9 +86,13 @@ export function useListCreateMutation() {
|
||||||
)
|
)
|
||||||
|
|
||||||
// wait for the appview to update
|
// wait for the appview to update
|
||||||
await whenAppViewReady(res.uri, (v: AppBskyGraphGetList.Response) => {
|
await whenAppViewReady(
|
||||||
return typeof v?.data?.list.uri === 'string'
|
getAgent,
|
||||||
})
|
res.uri,
|
||||||
|
(v: AppBskyGraphGetList.Response) => {
|
||||||
|
return typeof v?.data?.list.uri === 'string'
|
||||||
|
},
|
||||||
|
)
|
||||||
return res
|
return res
|
||||||
},
|
},
|
||||||
onSuccess() {
|
onSuccess() {
|
||||||
|
@ -150,12 +155,16 @@ export function useListMetadataMutation() {
|
||||||
).data
|
).data
|
||||||
|
|
||||||
// wait for the appview to update
|
// wait for the appview to update
|
||||||
await whenAppViewReady(res.uri, (v: AppBskyGraphGetList.Response) => {
|
await whenAppViewReady(
|
||||||
const list = v.data.list
|
getAgent,
|
||||||
return (
|
res.uri,
|
||||||
list.name === record.name && list.description === record.description
|
(v: AppBskyGraphGetList.Response) => {
|
||||||
)
|
const list = v.data.list
|
||||||
})
|
return (
|
||||||
|
list.name === record.name && list.description === record.description
|
||||||
|
)
|
||||||
|
},
|
||||||
|
)
|
||||||
return res
|
return res
|
||||||
},
|
},
|
||||||
onSuccess(data, variables) {
|
onSuccess(data, variables) {
|
||||||
|
@ -220,9 +229,13 @@ export function useListDeleteMutation() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// wait for the appview to update
|
// wait for the appview to update
|
||||||
await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
|
await whenAppViewReady(
|
||||||
return !v?.success
|
getAgent,
|
||||||
})
|
uri,
|
||||||
|
(v: AppBskyGraphGetList.Response) => {
|
||||||
|
return !v?.success
|
||||||
|
},
|
||||||
|
)
|
||||||
},
|
},
|
||||||
onSuccess() {
|
onSuccess() {
|
||||||
invalidateMyLists(queryClient)
|
invalidateMyLists(queryClient)
|
||||||
|
@ -244,9 +257,13 @@ export function useListMuteMutation() {
|
||||||
await getAgent().unmuteModList(uri)
|
await getAgent().unmuteModList(uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
|
await whenAppViewReady(
|
||||||
return Boolean(v?.data.list.viewer?.muted) === mute
|
getAgent,
|
||||||
})
|
uri,
|
||||||
|
(v: AppBskyGraphGetList.Response) => {
|
||||||
|
return Boolean(v?.data.list.viewer?.muted) === mute
|
||||||
|
},
|
||||||
|
)
|
||||||
},
|
},
|
||||||
onSuccess(data, variables) {
|
onSuccess(data, variables) {
|
||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
|
@ -266,11 +283,15 @@ export function useListBlockMutation() {
|
||||||
await getAgent().unblockModList(uri)
|
await getAgent().unblockModList(uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
|
await whenAppViewReady(
|
||||||
return block
|
getAgent,
|
||||||
? typeof v?.data.list.viewer?.blocked === 'string'
|
uri,
|
||||||
: !v?.data.list.viewer?.blocked
|
(v: AppBskyGraphGetList.Response) => {
|
||||||
})
|
return block
|
||||||
|
? typeof v?.data.list.viewer?.blocked === 'string'
|
||||||
|
: !v?.data.list.viewer?.blocked
|
||||||
|
},
|
||||||
|
)
|
||||||
},
|
},
|
||||||
onSuccess(data, variables) {
|
onSuccess(data, variables) {
|
||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
|
@ -281,6 +302,7 @@ export function useListBlockMutation() {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function whenAppViewReady(
|
async function whenAppViewReady(
|
||||||
|
getAgent: () => BskyAgent,
|
||||||
uri: string,
|
uri: string,
|
||||||
fn: (res: AppBskyGraphGetList.Response) => boolean,
|
fn: (res: AppBskyGraphGetList.Response) => boolean,
|
||||||
) {
|
) {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import {
|
||||||
AppBskyEmbedRecordWithMedia,
|
AppBskyEmbedRecordWithMedia,
|
||||||
AppBskyFeedDefs,
|
AppBskyFeedDefs,
|
||||||
AtUri,
|
AtUri,
|
||||||
|
BskyAgent,
|
||||||
} from '@atproto/api'
|
} from '@atproto/api'
|
||||||
import {
|
import {
|
||||||
QueryClient,
|
QueryClient,
|
||||||
|
@ -154,6 +155,7 @@ export function useProfileUpdateMutation() {
|
||||||
return existing
|
return existing
|
||||||
})
|
})
|
||||||
await whenAppViewReady(
|
await whenAppViewReady(
|
||||||
|
getAgent,
|
||||||
profile.did,
|
profile.did,
|
||||||
checkCommitted ||
|
checkCommitted ||
|
||||||
(res => {
|
(res => {
|
||||||
|
@ -516,6 +518,7 @@ export function precacheThreadPostProfiles(
|
||||||
}
|
}
|
||||||
|
|
||||||
async function whenAppViewReady(
|
async function whenAppViewReady(
|
||||||
|
getAgent: () => BskyAgent,
|
||||||
actor: string,
|
actor: string,
|
||||||
fn: (res: AppBskyActorGetProfile.Response) => boolean,
|
fn: (res: AppBskyActorGetProfile.Response) => boolean,
|
||||||
) {
|
) {
|
||||||
|
|
Loading…
Reference in New Issue