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 {