diff --git a/src/components/common/FollowingButton.tsx b/src/components/common/FollowingButton.tsx index e2a44add..71d278a4 100644 --- a/src/components/common/FollowingButton.tsx +++ b/src/components/common/FollowingButton.tsx @@ -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) } } } diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 1a959a4e..5d12a8c4 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -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 () => { diff --git a/src/queries/site.ts b/src/queries/site.ts index 8aaedcc6..8644f064 100644 --- a/src/queries/site.ts +++ b/src/queries/site.ts @@ -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, ]), ])