fix: data updating after subscribing
This commit is contained in:
parent
dcb6f043e9
commit
5d5bb98fa3
|
|
@ -38,9 +38,15 @@ export const FollowingButton: React.FC<{
|
|||
router.push(`${SITE_URL}/dashboard/new-site`)
|
||||
} else if (characterId) {
|
||||
if (subscription.data) {
|
||||
unsubscribeFromSite.mutate({ characterId })
|
||||
unsubscribeFromSite.mutate({
|
||||
characterId,
|
||||
siteId: site?.username,
|
||||
} as any)
|
||||
} else {
|
||||
subscribeToSite.mutate({ characterId })
|
||||
subscribeToSite.mutate({
|
||||
characterId,
|
||||
siteId: site?.username,
|
||||
} as any)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,8 @@ export default function Home({ region }: { region: string | null }) {
|
|||
?.map((s: { characterId?: string }) => s.characterId)
|
||||
.filter(Boolean)
|
||||
.map(Number),
|
||||
})
|
||||
siteIds: showcaseSites.data?.map((s: { handle: string }) => s.handle),
|
||||
} as any)
|
||||
})
|
||||
|
||||
const followAll = async () => {
|
||||
|
|
|
|||
|
|
@ -123,14 +123,18 @@ export function useSubscribeToSite() {
|
|||
const account = useAccountState((s) => s.computed.account)
|
||||
|
||||
return useFollowCharacter({
|
||||
onSuccess: (data, { characterId }) => {
|
||||
const siteId = `${characterId}`
|
||||
onSuccess: (data, variables: any) => {
|
||||
return Promise.all([
|
||||
queryClient.invalidateQueries(["useGetSiteSubscriptions", siteId]),
|
||||
queryClient.invalidateQueries([
|
||||
"getSiteSubscriptions",
|
||||
{
|
||||
siteId: variables.siteId,
|
||||
},
|
||||
]),
|
||||
|
||||
queryClient.invalidateQueries([
|
||||
"getSubscription",
|
||||
siteId,
|
||||
variables.siteId,
|
||||
account?.characterId,
|
||||
]),
|
||||
])
|
||||
|
|
@ -145,13 +149,16 @@ export function useSubscribeToSites() {
|
|||
)
|
||||
|
||||
return useFollowCharacters({
|
||||
onSuccess: (_, { characterIds = [] }) =>
|
||||
onSuccess: (_, variables: any) =>
|
||||
Promise.all(
|
||||
characterIds.flatMap((characterId) => {
|
||||
const siteId = `${characterId}`
|
||||
|
||||
variables.siteIds.flatMap((siteId: string) => {
|
||||
return [
|
||||
queryClient.invalidateQueries(["useGetSiteSubscriptions", siteId]),
|
||||
queryClient.invalidateQueries([
|
||||
"getSiteSubscriptions",
|
||||
{
|
||||
siteId,
|
||||
},
|
||||
]),
|
||||
|
||||
queryClient.invalidateQueries([
|
||||
"getSubscription",
|
||||
|
|
@ -169,14 +176,17 @@ export function useUnsubscribeFromSite() {
|
|||
const account = useAccountState((s) => s.computed.account)
|
||||
|
||||
return useUnfollowCharacter({
|
||||
onSuccess: (data, { characterId }) => {
|
||||
const siteId = `${characterId}`
|
||||
|
||||
onSuccess: (data, variables: any) => {
|
||||
return Promise.all([
|
||||
queryClient.invalidateQueries(["useGetSiteSubscriptions", siteId]),
|
||||
queryClient.invalidateQueries([
|
||||
"getSiteSubscriptions",
|
||||
{
|
||||
siteId: variables.siteId,
|
||||
},
|
||||
]),
|
||||
queryClient.invalidateQueries([
|
||||
"getSubscription",
|
||||
siteId,
|
||||
variables.siteId,
|
||||
account?.characterId,
|
||||
]),
|
||||
])
|
||||
|
|
|
|||
Loading…
Reference in New Issue