diff --git a/src/components/masa-interface/masa-interface.tsx b/src/components/masa-interface/masa-interface.tsx index e4a589ad..e14a695e 100644 --- a/src/components/masa-interface/masa-interface.tsx +++ b/src/components/masa-interface/masa-interface.tsx @@ -77,6 +77,7 @@ export const MasaInterface = ({ verbose, openConnectModal, setRainbowkKitModalCallback, + modalCallback, // setForcedPage, // switchNetworkNew, useRainbowKit, @@ -204,7 +205,12 @@ export const MasaInterface = ({ scope?.includes('soulname') ) { setModalOpen?.(false); - openCreateSoulnameModal?.({}); + openCreateSoulnameModal?.({ + onSuccess: () => { + if(modalCallback) modalCallback(); + }, + closeOnSuccess: true + }); return 'createSoulname'; } @@ -256,6 +262,7 @@ export const MasaInterface = ({ signer, isModalOpen, setModalOpen, + modalCallback, setRainbowkKitModalCallback, signer, ]); diff --git a/src/provider/masa-context-provider.tsx b/src/provider/masa-context-provider.tsx index f5abfee6..e7b0e6a1 100644 --- a/src/provider/masa-context-provider.tsx +++ b/src/provider/masa-context-provider.tsx @@ -226,6 +226,7 @@ export const MasaContextProvider = ({ isModalOpen, setModalOpen, setModalCallback, + modalCallback, closeModal, forcedPage, setForcedPage, @@ -361,6 +362,7 @@ export const MasaContextProvider = ({ useModalSize, openGallery, modalSize, + modalCallback, // wallet walletAddress: accountAddress, @@ -484,6 +486,7 @@ export const MasaContextProvider = ({ useModalSize, openGallery, modalSize, + modalCallback, // wallet diff --git a/src/provider/masa-shape.ts b/src/provider/masa-shape.ts index ff250513..409fdfac 100644 --- a/src/provider/masa-shape.ts +++ b/src/provider/masa-shape.ts @@ -48,6 +48,7 @@ export interface MasaShape { modalSize?: { width: number; height: number } | null; useModalSize?: (size: { width: number; height: number }) => void; openGallery?: (callback?: () => void) => void; + modalCallback?: (() => void) | null; // wallet walletAddress?: string; diff --git a/src/provider/modules/modal/modal.ts b/src/provider/modules/modal/modal.ts index 319e672c..e0339977 100644 --- a/src/provider/modules/modal/modal.ts +++ b/src/provider/modules/modal/modal.ts @@ -8,6 +8,7 @@ export const useModal = ( isModalOpen: boolean; closeModal: (forceCallback?: boolean) => void; setModalOpen: (modalOpen: boolean) => void; + modalCallback: (() => void) | null; setModalCallback: (callback: () => void) => void; forcedPage: string | null; setForcedPage?: (page: null | string) => void; @@ -110,6 +111,7 @@ export const useModal = ( closeModal, setModalOpen, setModalCallback, + modalCallback, forcedPage, setForcedPage, openMintSoulnameModal,