mirror of
https://github.com/neynarxyz/create-farcaster-mini-app.git
synced 2025-11-16 08:08:56 -05:00
feat: providers working
Still need to flesh out real demo components and handle the case where there isn't a solana provider injected
This commit is contained in:
parent
9f748076db
commit
7f10d4e8c0
@ -1,9 +1,11 @@
|
||||
"use client";
|
||||
|
||||
import * as React from "react";
|
||||
import dynamic from "next/dynamic";
|
||||
import type { Session } from "next-auth"
|
||||
import { SessionProvider } from "next-auth/react"
|
||||
import { FrameProvider } from "~/components/providers/FrameProvider";
|
||||
import { SolanaWalletDemo } from "../components/SolanaWalletDemo";
|
||||
|
||||
const WagmiProvider = dynamic(
|
||||
() => import("~/components/providers/WagmiProvider"),
|
||||
@ -12,12 +14,21 @@ const WagmiProvider = dynamic(
|
||||
}
|
||||
);
|
||||
|
||||
const FarcasterSolanaProvider = dynamic(
|
||||
() => import('@farcaster/mini-app-solana').then(mod => mod.FarcasterSolanaProvider),
|
||||
{ ssr: false }
|
||||
);
|
||||
|
||||
export function Providers({ session, children }: { session: Session | null, children: React.ReactNode }) {
|
||||
const solanaEndpoint = process.env.NEXT_PUBLIC_SOLANA_ENDPOINT || "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY";
|
||||
return (
|
||||
<SessionProvider session={session}>
|
||||
<WagmiProvider>
|
||||
<FrameProvider>
|
||||
<FarcasterSolanaProvider endpoint={solanaEndpoint}>
|
||||
<SolanaWalletDemo />
|
||||
{children}
|
||||
</FarcasterSolanaProvider>
|
||||
</FrameProvider>
|
||||
</WagmiProvider>
|
||||
</SessionProvider>
|
||||
|
||||
16
src/components/SolanaWalletDemo.tsx
Normal file
16
src/components/SolanaWalletDemo.tsx
Normal file
@ -0,0 +1,16 @@
|
||||
import * as React from "react";
|
||||
import { useWallet } from "@solana/wallet-adapter-react";
|
||||
|
||||
export function SolanaWalletDemo() {
|
||||
const { publicKey } = useWallet();
|
||||
const solanaAddress = publicKey?.toBase58() ?? "";
|
||||
return (
|
||||
<div style={{ padding: 16, background: "#f6f6f6", borderRadius: 8, margin: 16 }}>
|
||||
<h3>Solana Wallet Demo</h3>
|
||||
<div>
|
||||
<strong>Solana Address:</strong>
|
||||
<span style={{ marginLeft: 8 }}>{solanaAddress || "Not connected"}</span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
1
tester1234
Submodule
1
tester1234
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit fcc893a97697c733e50207412f5c7346e737f812
|
||||
Loading…
x
Reference in New Issue
Block a user