2025-05-16 15:54:17 +02:00
|
|
|
"use client";
|
2024-11-03 15:29:30 +01:00
|
|
|
|
2026-02-26 15:29:00 +01:00
|
|
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
|
|
|
import { type PropsWithChildren, Suspense } from "react";
|
2024-11-03 15:29:30 +01:00
|
|
|
|
2026-02-26 15:29:00 +01:00
|
|
|
import { Toaster } from "@/components/ui/sonner";
|
2026-05-24 17:09:12 +02:00
|
|
|
import { ErrorLayout } from "@/components/common/error-layout";
|
2026-06-27 17:08:38 +02:00
|
|
|
import { ThemeMetaUpdater } from "@/features/theme/components/theme-meta-updater";
|
|
|
|
|
import { ThemeProvider } from "@/features/theme/components/theme-provider";
|
2025-12-23 09:06:06 +01:00
|
|
|
|
|
|
|
|
export type ProviderProps = PropsWithChildren<{}>;
|
2025-05-16 15:54:17 +02:00
|
|
|
const queryClient = new QueryClient();
|
2024-11-03 15:29:30 +01:00
|
|
|
|
|
|
|
|
export const Providers = (props: ProviderProps) => {
|
2026-02-26 15:29:00 +01:00
|
|
|
return (
|
|
|
|
|
<Suspense fallback={null}>
|
2026-07-04 14:43:58 +02:00
|
|
|
<ThemeProvider
|
|
|
|
|
attribute="class"
|
|
|
|
|
defaultTheme="light"
|
|
|
|
|
enableSystem
|
|
|
|
|
storageKey="portabase_theme"
|
|
|
|
|
>
|
2026-06-27 17:08:38 +02:00
|
|
|
<ThemeMetaUpdater />
|
2026-02-26 15:29:00 +01:00
|
|
|
<QueryClientProvider client={queryClient}>
|
|
|
|
|
<ErrorLayout>
|
|
|
|
|
<Toaster />
|
|
|
|
|
{props.children}
|
|
|
|
|
</ErrorLayout>
|
|
|
|
|
</QueryClientProvider>
|
|
|
|
|
</ThemeProvider>
|
|
|
|
|
</Suspense>
|
|
|
|
|
);
|
2025-05-16 15:54:17 +02:00
|
|
|
};
|