From 0d6e0b83ac5eb842ca84065d7d8e2e677a3ecc51 Mon Sep 17 00:00:00 2001 From: ectasy663 Date: Fri, 10 Jul 2026 16:41:22 +0530 Subject: [PATCH] Support robust theme sync with resolvedTheme and parent check loop --- public/streak-animation.html | 35 +++++++++++++------ scratch/port_streak_clean.py | 35 +++++++++++++------ .../Dashboard/StreakOnboardingModal.tsx | 4 +-- 3 files changed, 52 insertions(+), 22 deletions(-) diff --git a/public/streak-animation.html b/public/streak-animation.html index 8487cd3..624c7d0 100644 --- a/public/streak-animation.html +++ b/public/streak-animation.html @@ -397,19 +397,34 @@ \ No newline at end of file diff --git a/scratch/port_streak_clean.py b/scratch/port_streak_clean.py index b15fbe3..ba926e4 100644 --- a/scratch/port_streak_clean.py +++ b/scratch/port_streak_clean.py @@ -84,19 +84,34 @@ def port_html(): light_theme_script = """ """ diff --git a/src/components/Dashboard/StreakOnboardingModal.tsx b/src/components/Dashboard/StreakOnboardingModal.tsx index 74ed501..06a5fab 100644 --- a/src/components/Dashboard/StreakOnboardingModal.tsx +++ b/src/components/Dashboard/StreakOnboardingModal.tsx @@ -8,7 +8,7 @@ import { useTheme } from "next-themes"; export function StreakOnboardingModal() { const { user, loading } = useActiveUser(); - const { theme } = useTheme(); + const { resolvedTheme } = useTheme(); const [isOpen, setIsOpen] = useState(false); useEffect(() => { @@ -68,7 +68,7 @@ export function StreakOnboardingModal() { {/* Top Celebration Animation Panel (Iframe with height 60%, matching bg) */}