summaryrefslogtreecommitdiff
path: root/src/app/provider.tsx
diff options
context:
space:
mode:
authorBertrand Yuan <bert.yuan@outlook.com>2025-12-15 23:48:10 +0800
committerBertrand Yuan <bert.yuan@outlook.com>2025-12-15 23:48:10 +0800
commit5b7ccf0b671e2999b62befc729a3e517a0433728 (patch)
tree8bf476dc7c75914c221042546840dc76267366df /src/app/provider.tsx
initial commit -- the front-end prototype
The initial code is base on Anirudh's work. More to see at: https://github.com/techwithanirudh/shadcn-blog Therefore, the code in this commit is under MIT license.
Diffstat (limited to 'src/app/provider.tsx')
-rw-r--r--src/app/provider.tsx38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/app/provider.tsx b/src/app/provider.tsx
new file mode 100644
index 0000000..085bf50
--- /dev/null
+++ b/src/app/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>
+ );
+}