diff --git a/src/components/common/Reactions.tsx b/src/components/common/Reactions.tsx index d64d721e..f7dbb8bc 100644 --- a/src/components/common/Reactions.tsx +++ b/src/components/common/Reactions.tsx @@ -79,10 +79,7 @@ export const Reactions: React.FC<{ if (isMint.data?.count) { setIsMintOpen(true) } else { - mintPage.mutate({ - address, - pageId: pageId, - }) + mintPage.mutate(parsePageId(pageId)) } } } @@ -99,10 +96,7 @@ export const Reactions: React.FC<{ router.push(`${SITE_URL}/dashboard/new-site`) } if (!isMint.data.count) { - mintPage.mutate({ - address, - pageId: pageId, - }) + mintPage.mutate(parsePageId(pageId)) } setMintProgress(false) } diff --git a/src/queries/page.ts b/src/queries/page.ts index b31a6eef..ceef0ccd 100644 --- a/src/queries/page.ts +++ b/src/queries/page.ts @@ -9,11 +9,12 @@ import { usePostNoteForNote, useLikeNote, useUnlikeNote, + useMintNote, } from "@crossbell/connect-kit" -import { useContract } from "@crossbell/contract" import { useRefCallback } from "@crossbell/util-hooks" import * as pageModel from "~/models/page.model" + import { useUnidata } from "./unidata" export const useGetPagesBySiteLite = ( @@ -203,23 +204,19 @@ export function useUnlikePage() { } export function useMintPage() { - const contract = useContract() const queryClient = useQueryClient() - return useMutation( - async (input: Parameters[0]) => { - return pageModel.mintPage(input, contract) + const address = useAccountState((s) => s.wallet?.address) + + return useMintNote({ + onSuccess: (_, variables) => { + const pageId = pageModel.toPageId(variables) + + return Promise.all([ + queryClient.invalidateQueries(["checkMint", pageId, address]), + queryClient.invalidateQueries(["getMints", pageId]), + ]) }, - { - onSuccess: (data, variables) => { - queryClient.invalidateQueries([ - "checkMint", - variables.pageId, - variables.address, - ]) - queryClient.invalidateQueries(["getMints", variables.pageId]) - }, - }, - ) + }) } export function useCommentPage() {