From 6b45e17714b31413f642352bf202c3ea81f04410 Mon Sep 17 00:00:00 2001 From: Shi Tianxin Date: Mon, 28 Apr 2025 11:37:46 +0800 Subject: [PATCH] feat: Add ThemeProviderWrapper for theme management --- .../_components/theme-provider-wrapper.tsx | 29 +++++++++++++ web/src/app/layout.tsx | 10 ++--- web/src/app/page.tsx | 42 +++++++++---------- 3 files changed, 51 insertions(+), 30 deletions(-) create mode 100644 web/src/app/_components/theme-provider-wrapper.tsx diff --git a/web/src/app/_components/theme-provider-wrapper.tsx b/web/src/app/_components/theme-provider-wrapper.tsx new file mode 100644 index 0000000..6da0db8 --- /dev/null +++ b/web/src/app/_components/theme-provider-wrapper.tsx @@ -0,0 +1,29 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: MIT + +"use client"; + +import { usePathname } from "next/navigation"; + +import { ThemeProvider } from "~/components/theme-provider"; + +export function ThemeProviderWrapper({ + children, +}: { + children: React.ReactNode; +}) { + const pathname = usePathname(); + const isChatPage = pathname?.startsWith("/chat"); + + return ( + + {children} + + ); +} diff --git a/web/src/app/layout.tsx b/web/src/app/layout.tsx index 6ff3163..a3bd854 100644 --- a/web/src/app/layout.tsx +++ b/web/src/app/layout.tsx @@ -6,7 +6,7 @@ import "~/styles/globals.css"; import { type Metadata } from "next"; import { Geist } from "next/font/google"; -import { ThemeProvider } from "~/components/theme-provider"; +import { ThemeProviderWrapper } from "~/app/_components/theme-provider-wrapper"; import { TooltipProvider } from "~/components/ui/tooltip"; export const metadata: Metadata = { @@ -27,13 +27,9 @@ export default function RootLayout({ return ( - + {children} - + ); diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index 0dd33e6..76756b6 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -27,13 +27,11 @@ import { BentoGrid } from "~/components/magicui/bento-grid"; import { FlickeringGrid } from "~/components/magicui/flickering-grid"; import { Button } from "~/components/ui/button"; -import { ThemeToggle } from "./_components/theme-toggle"; - export default function HomePage() { return ( -
+
-
+
@@ -46,7 +44,7 @@ export default function HomePage() { function Header() { return ( -
+
🦌 @@ -59,7 +57,6 @@ function Header() { Star on GitHub -

@@ -69,7 +66,7 @@ function Header() { function Footer() { return ( -