UNPKG

@worldcoin/minikit-js

Version:

minikit-js is our SDK for building mini-apps.

63 lines (61 loc) 1.62 kB
"use client"; import { MiniKit } from "./chunk-7RB4UJBW.js"; import "./chunk-AH3WTRZY.js"; import "./chunk-YPZEODWL.js"; import { WAGMI_INSTALL_HOOK_KEY } from "./chunk-6E2XIIO6.js"; import "./chunk-DZ2YRSIU.js"; // src/minikit-provider.tsx import { createContext, useContext, useEffect, useState } from "react"; import { jsx } from "react/jsx-runtime"; var MiniKitContext = createContext( void 0 ); var MiniKitProvider = ({ children, props }) => { const [isInstalled, setIsInstalled] = useState( void 0 ); const wagmiConfig = props?.wagmiConfig; useEffect(() => { const { success } = MiniKit.install(props?.appId); if (!success) return setIsInstalled(false); console.warn( "MiniKit permissions not fetched in provider. MiniKit.user.permissions will be inaccurate." ); setIsInstalled(success); }, [props?.appId]); useEffect(() => { if (!wagmiConfig) return; const install = globalThis[WAGMI_INSTALL_HOOK_KEY]; if (typeof install === "function") { install(wagmiConfig); } else { console.warn( 'MiniKitProvider received wagmiConfig but the wagmi fallback module is not imported. Add this once in your app: import "@worldcoin/minikit-js/wagmi-fallback"' ); } }, [wagmiConfig]); return /* @__PURE__ */ jsx(MiniKitContext.Provider, { value: { isInstalled }, children }); }; var useMiniKit = () => { const context = useContext(MiniKitContext); if (context === void 0) { throw new Error("useMiniKit must be used within a MiniKitProvider"); } return context; }; export { MiniKitProvider, useMiniKit };