Add theme toggle functionality with ThemeProvider and ModeToggle component

This commit is contained in:
ecwu
2024-12-20 18:28:33 +08:00
parent 368d9810c2
commit 5ecfe13234
4 changed files with 121 additions and 5 deletions

View File

@@ -5,6 +5,7 @@ import { App } from "@/pages/App";
import { Tr, langCodeContext, LANG_OPTIONS } from "@/translate";
import { SidebarProvider } from "@/components/ui/sidebar";
import { Toaster } from "@/components/ui/toaster";
import { ThemeProvider } from "@/components/theme-provider";
function Base() {
const [langCode, _setLangCode] = useState("en-US");
@@ -47,11 +48,14 @@ function Base() {
return (
/* @ts-ignore */
<langCodeContext.Provider value={{ langCode, setLangCode }}>
<SidebarProvider>
<App />
<Toaster />
</SidebarProvider>
<ThemeProvider defaultTheme="system" storageKey="vite-ui-theme">
<SidebarProvider>
<App />
<Toaster />
</SidebarProvider>
</ThemeProvider>
</langCodeContext.Provider>
);
}