diff --git a/src/app/app.tsx b/src/app/app.tsx index 8ec47b4..535a82e 100644 --- a/src/app/app.tsx +++ b/src/app/app.tsx @@ -1,9 +1,10 @@ import { PageContextProvider } from "@/context/page-context"; import Router from "./router"; -import "./styles.css"; import { Toaster } from "sonner"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { useState } from "react"; +import ThemeProvider from "@/components/containers/theme-provider"; +import "./styles.css"; const App = () => { const [queryClient] = useState(() => new QueryClient()); @@ -14,6 +15,7 @@ const App = () => { + ); }; diff --git a/src/app/themes.ts b/src/app/themes.ts new file mode 100644 index 0000000..048ce65 --- /dev/null +++ b/src/app/themes.ts @@ -0,0 +1,16 @@ +// https://daisyui.com/docs/themes/ + +export const themes = [ + "pastel", + "dark", + "dracula", + "cupcake", + "dim", + "night", + "nord", + "corporate", + "valentine", + "winter", +] as const; + +export type Themes = (typeof themes)[number]; diff --git a/src/components/containers/sidebar.tsx b/src/components/containers/sidebar.tsx index 4e46c49..f5db872 100644 --- a/src/components/containers/sidebar.tsx +++ b/src/components/containers/sidebar.tsx @@ -1,12 +1,16 @@ -import { cn } from "@/lib/utils"; +import { cn, ucfirst } from "@/lib/utils"; import { ArchiveIcon, HardDrive, KeySquare, LayoutDashboard, + Palette, } from "lucide-react"; -import { Menu } from "react-daisyui"; +import { Dropdown, Menu } from "react-daisyui"; import { Link, useLocation } from "react-router-dom"; +import Button from "../ui/button"; +import { themes } from "@/app/themes"; +import appStore from "@/stores/app-store"; const pages = [ { icon: LayoutDashboard, title: "Dashboard", path: "/", exact: true }, @@ -19,7 +23,7 @@ const Sidebar = () => { const { pathname } = useLocation(); return ( -