diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index cedf0e4..c9db1bf 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -4,8 +4,19 @@ import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot"; import { Outlet } from 'react-router-dom'; import { StyleProvider } from "@/components/ui/StyleProvider"; +import { useState, useEffect } from 'react'; +import { Moon, Sun } from 'lucide-react'; export default function Layout() { + const [isLight, setIsLight] = useState(false); + + useEffect(() => { + if (isLight) { + document.documentElement.classList.add('light'); + } else { + document.documentElement.classList.remove('light'); + } + }, [isLight]); const navItems = [ { "name": "About", "href": "#about" @@ -41,6 +52,13 @@ export default function Layout() { text: "Contact Me", href: "#contact"}} navItems={navItems} /> +
diff --git a/src/index.css b/src/index.css index 0d0bb0b..c6e8cde 100644 --- a/src/index.css +++ b/src/index.css @@ -49,6 +49,18 @@ --text-9xl: clamp(5.25rem, 7vw, 7rem); } +:root.light { + --background: #ffffff; + --card: #f5f5f5; + --foreground: #0a0a0a; + --primary-cta: #0a0a0a; + --primary-cta-text: #ffffff; + --secondary-cta: #e6e6e6; + --secondary-cta-text: #0a0a0a; + --accent: #737373; + --background-accent: #e5e5e5; +} + /* @typography/text-sizing/medium (mobile) */ @media (max-width: 768px) { :root {