summaryrefslogtreecommitdiff
path: root/src/app/(main)/provider.tsx
diff options
context:
space:
mode:
authorBertrand Yuan <bert.yuan@outlook.com>2025-12-16 00:12:49 +0800
committerBertrand Yuan <bert.yuan@outlook.com>2025-12-16 00:12:49 +0800
commit02ae938c238c9d18448d17a8ec92c0edd8c17463 (patch)
treedcd6a30505adb52522b20af2c0ac27f713403f10 /src/app/(main)/provider.tsx
parent48b07bc308a35734a6a7a305c8fdccbfa47de7d8 (diff)
feat(back-end): introduce payload
Payload is the next.js Headless CMS and App Framework, I would like to pick it up and modify it as it is MIT licensed. Many features in Payload is not applicable for our project. So, I modify it so that it is light and clear.
Diffstat (limited to 'src/app/(main)/provider.tsx')
-rw-r--r--src/app/(main)/provider.tsx38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/app/(main)/provider.tsx b/src/app/(main)/provider.tsx
new file mode 100644
index 0000000..085bf50
--- /dev/null
+++ b/src/app/(main)/provider.tsx
@@ -0,0 +1,38 @@
+'use client';
+
+import Analytics from '@/components/analytics';
+import { TailwindIndicator } from '@/components/tailwind-indicator';
+import { ThemeProvider } from '@/components/theme-provider';
+import { Toaster } from '@/components/ui/sonner';
+import { TooltipProvider } from '@radix-ui/react-tooltip';
+import { RootProvider } from 'fumadocs-ui/provider';
+import type { ReactNode } from 'react';
+import { unstable_ViewTransition as ViewTransition } from 'react';
+
+export function Provider({
+ children,
+}: {
+ children: ReactNode;
+}): React.ReactElement {
+ return (
+ <ThemeProvider
+ attribute='class'
+ defaultTheme='system'
+ enableSystem
+ disableTransitionOnChange
+ >
+ <RootProvider
+ theme={{
+ enabled: false,
+ }}
+ >
+ <TooltipProvider>
+ <ViewTransition>{children}</ViewTransition>
+ </TooltipProvider>
+ <Analytics />
+ <Toaster />
+ <TailwindIndicator />
+ </RootProvider>
+ </ThemeProvider>
+ );
+}