UNPKG

@worldcoin/minikit-js

Version:

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

45 lines (43 loc) 1.01 kB
"use client"; import { MiniKit } from "./chunk-62NZ34E4.js"; // 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 ); 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]); 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 };