- Integrated retry logic for AI image generation to handle transient errors and improve user experience. - Updated error categorization to provide more informative feedback based on different failure scenarios. - Enhanced node components to display retry attempts and error messages, improving visibility during image generation failures. - Refactored canvas and node components to include retry count in status updates, ensuring accurate tracking of generation attempts.
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
"use client";
|
|
|
|
import { ReactNode } from "react";
|
|
import { ConvexReactClient } from "convex/react";
|
|
import { ConvexBetterAuthProvider } from "@convex-dev/better-auth/react";
|
|
import { AuthUIProvider } from "@daveyplate/better-auth-ui";
|
|
import { ThemeProvider } from "next-themes";
|
|
import Link from "next/link";
|
|
import { useRouter } from "next/navigation";
|
|
|
|
import { authClient } from "@/lib/auth-client";
|
|
import { Toaster } from "@/components/ui/sonner";
|
|
|
|
const convex = new ConvexReactClient(process.env.NEXT_PUBLIC_CONVEX_URL!);
|
|
|
|
export function Providers({
|
|
children,
|
|
initialToken,
|
|
}: {
|
|
children: ReactNode;
|
|
initialToken?: string | null;
|
|
}) {
|
|
const router = useRouter();
|
|
|
|
return (
|
|
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
|
<ConvexBetterAuthProvider
|
|
client={convex}
|
|
authClient={authClient}
|
|
initialToken={initialToken}
|
|
>
|
|
<AuthUIProvider
|
|
authClient={authClient}
|
|
navigate={router.push}
|
|
replace={router.replace}
|
|
onSessionChange={() => router.refresh()}
|
|
Link={Link}
|
|
>
|
|
{children}
|
|
<Toaster position="bottom-right" />
|
|
</AuthUIProvider>
|
|
</ConvexBetterAuthProvider>
|
|
</ThemeProvider>
|
|
);
|
|
}
|