@buddy-link/react
Version:
Buddy SDK - React components and hooks for wallet integration
44 lines (38 loc) • 1.15 kB
JSX
"use client";
import BuddyConnect from '../connect/BuddyConnect';
import BuddyState from '../state/BuddyState';
/**
* Main Buddy Component
* SSR-Safe wrapper that lazy loads client functionality
*
* @param {Object} props - Component props
* @param {string} props.apiKey - App API key
* @param {string} props.appId - Application ID
* @param {boolean} [props.connect=true] - Whether to show connect wallet functionality
* @param {string} [props.baseUrl] - Base URL for API calls
* @param {React.ReactNode} [props.children] - Child components
* @returns {React.ReactElement} Buddy component
*/
import { initBuddyState } from '../../../hooks/useBuddyState';
import { initialBuddyState } from '../state/BuddyState';
export default function BuddyClient({
apiKey,
appId,
connect = true,
children,
initialState
}) {
if (!apiKey || !appId) {
console.error('[Buddy]: apiKey and appId are required');
}
initBuddyState({...initialBuddyState, ...initialState});
return (
<>
{connect && (
<BuddyConnect />
)}
<BuddyState />
{children}
</>
);
}