Neah/components/providers.tsx
2025-05-03 13:32:50 +02:00

28 lines
845 B
TypeScript

"use client";
import { SessionProvider } from "next-auth/react";
import { ThemeProvider } from "next-themes";
interface ProvidersProps {
children: React.ReactNode;
session?: any;
}
export default function Providers({ children, session }: ProvidersProps) {
try {
// Ensure session is properly handled - if it's undefined, provide null
const safeSession = session === undefined ? null : session;
return (
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
<SessionProvider session={safeSession} refetchInterval={5 * 60}>
{children}
</SessionProvider>
</ThemeProvider>
);
} catch (error) {
// If anything goes catastrophically wrong, at least render the children
console.error("Error in Providers component:", error);
return <>{children}</>;
}
}