34 lines
814 B
TypeScript
34 lines
814 B
TypeScript
"use client";
|
|
|
|
import { ConvexProvider, ConvexReactClient } from "convex/react";
|
|
import { ConvexBetterAuthProvider } from "@convex-dev/better-auth/react";
|
|
import type { ReactNode } from "react";
|
|
|
|
import { authClient } from "@/lib/auth-client";
|
|
|
|
const convexUrl = process.env.NEXT_PUBLIC_CONVEX_URL;
|
|
|
|
if (!convexUrl) {
|
|
throw new Error("Missing NEXT_PUBLIC_CONVEX_URL in the environment.");
|
|
}
|
|
|
|
const convex = new ConvexReactClient(convexUrl);
|
|
|
|
export function ConvexClientProvider({
|
|
children,
|
|
initialToken,
|
|
}: {
|
|
children: ReactNode;
|
|
initialToken?: string | null;
|
|
}) {
|
|
return (
|
|
<ConvexBetterAuthProvider
|
|
client={convex}
|
|
authClient={authClient}
|
|
initialToken={initialToken}
|
|
>
|
|
<ConvexProvider client={convex}>{children}</ConvexProvider>
|
|
</ConvexBetterAuthProvider>
|
|
);
|
|
}
|