Skip to content

Commit e7952c0

Browse files
committed
feat: add basic worldcoin setup.
1 parent 978b162 commit e7952c0

File tree

4 files changed

+126
-11
lines changed

4 files changed

+126
-11
lines changed

apps/dashboard/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"@thirdweb-dev/vault-sdk": "workspace:*",
5858
"@vercel/functions": "2.0.0",
5959
"@vercel/og": "^0.6.8",
60+
"@worldcoin/minikit-js": "^1.9.5",
6061
"abitype": "1.0.8",
6162
"chakra-react-select": "^4.7.6",
6263
"class-variance-authority": "^0.7.1",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
"use client";
2+
3+
import { useQuery } from "@tanstack/react-query";
4+
import { MiniKit } from "@worldcoin/minikit-js";
5+
6+
export default function MinikitProvider({
7+
children,
8+
}: { children: React.ReactNode }) {
9+
useQuery({
10+
queryKey: ["minikit-install"],
11+
queryFn: async () => {
12+
try {
13+
MiniKit.install();
14+
return true;
15+
} catch (error) {
16+
console.error(error);
17+
return false;
18+
}
19+
},
20+
});
21+
22+
return <>{children}</>;
23+
}

apps/dashboard/src/app/nebula-app/providers.tsx

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { useMemo } from "react";
77
import { Toaster } from "sonner";
88
import { ThirdwebProvider, useActiveAccount } from "thirdweb/react";
99
import { MiniAppProvider } from "./(app)/_farcaster/miniapp-provider";
10+
import MinikitProvider from "./(app)/_worldcoin/minikit-provider";
1011
import { NebulaConnectWallet } from "./(app)/components/NebulaConnectButton";
1112

1213
const queryClient = new QueryClient();
@@ -16,17 +17,19 @@ export function NebulaProviders(props: { children: React.ReactNode }) {
1617
<QueryClientProvider client={queryClient}>
1718
<ThirdwebProvider>
1819
<MiniAppProvider>
19-
<ThemeProvider
20-
attribute="class"
21-
disableTransitionOnChange
22-
enableSystem={false}
23-
defaultTheme="light"
24-
>
25-
<ToasterSetup />
26-
<SanctionedAddressesChecker>
27-
{props.children}
28-
</SanctionedAddressesChecker>
29-
</ThemeProvider>
20+
<MinikitProvider>
21+
<ThemeProvider
22+
attribute="class"
23+
disableTransitionOnChange
24+
enableSystem={false}
25+
defaultTheme="light"
26+
>
27+
<ToasterSetup />
28+
<SanctionedAddressesChecker>
29+
{props.children}
30+
</SanctionedAddressesChecker>
31+
</ThemeProvider>
32+
</MinikitProvider>
3033
</MiniAppProvider>
3134
</ThirdwebProvider>
3235
</QueryClientProvider>

pnpm-lock.yaml

Lines changed: 88 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)