@worldcoin/minikit-js
Version:
minikit-js is our SDK for building mini-apps.
45 lines (43 loc) • 1.01 kB
JavaScript
"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
};