From cd2b24ac0423730ca5789613f6a5086cde0b86e2 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 3 Mar 2026 04:57:30 +0000 Subject: [PATCH] Update src/app/page.tsx --- src/app/page.tsx | 117 ++++++++++++++++++++++++++++++----------------- 1 file changed, 74 insertions(+), 43 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 3784a9b..b646dc9 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,7 +1,7 @@ "use client"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; -import { useState } from "react"; +import { useState, useEffect } from "react"; import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; import HeroCentered from "@/components/sections/hero/HeroCentered"; import MetricSplitMediaAbout from "@/components/sections/about/MetricSplitMediaAbout"; @@ -15,23 +15,33 @@ import TimelineProcessFlow from "@/components/cardStack/layouts/timelines/Timeli import { Moon, Sun } from "lucide-react"; const lightTheme = { - "--background": "#ffffff", "--card": "#f9f9f9", "--foreground": "#000000", "--primary-cta": "#000000", "--secondary-cta": "#f9f9f9", "--accent": "#e2e2e2", "--background-accent": "#c4c4c4", "--primary-cta-text": "#ffffff", "--secondary-cta-text": "#000000"}; + "--background": "#ffffff", "--card": "#f9f9f9", "--foreground": "#000000", "--primary-cta": "#000000", "--secondary-cta": "#f9f9f9", "--accent": "#e2e2e2", "--background-accent": "#c4c4c4", "--primary-cta-text": "#ffffff", "--secondary-cta-text": "#000000" +}; const darkTheme = { - "--background": "#0a0a0a", "--card": "#1a1a1a", "--foreground": "#ffffff", "--primary-cta": "#ffffff", "--secondary-cta": "#1a1a1a", "--accent": "#737373", "--background-accent": "#737373", "--primary-cta-text": "#0a0a0a", "--secondary-cta-text": "#ffffff"}; + "--background": "#0a0a0a", "--card": "#1a1a1a", "--foreground": "#ffffff", "--primary-cta": "#ffffff", "--secondary-cta": "#1a1a1a", "--accent": "#737373", "--background-accent": "#737373", "--primary-cta-text": "#0a0a0a", "--secondary-cta-text": "#ffffff" +}; export default function LandingPage() { const [isDarkMode, setIsDarkMode] = useState(false); + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + }, []); const theme = isDarkMode ? darkTheme : lightTheme; const toggleTheme = () => { setIsDarkMode(!isDarkMode); - Object.entries(theme).forEach(([key, value]) => { + const newTheme = !isDarkMode ? darkTheme : lightTheme; + Object.entries(newTheme).forEach(([key, value]) => { document.documentElement.style.setProperty(key, value); }); }; + if (!mounted) return null; + return (