diff --git a/scratch/port_streak_clean.py b/scratch/port_streak_clean.py index e1c2ce8..230553c 100644 --- a/scratch/port_streak_clean.py +++ b/scratch/port_streak_clean.py @@ -81,6 +81,28 @@ def port_html(): # 5. Adjust badge size from 230px to 240px html = html.replace("--badge:230px;", "--badge:240px;") + light_theme_script = """ + + + """ + html = html.replace("", light_theme_script) + with open(dest_path, 'w', encoding='utf-8') as f: f.write(html) print("Ported successfully to public/streak-animation.html") diff --git a/src/components/Dashboard/StreakOnboardingModal.tsx b/src/components/Dashboard/StreakOnboardingModal.tsx index 599e2e2..74ed501 100644 --- a/src/components/Dashboard/StreakOnboardingModal.tsx +++ b/src/components/Dashboard/StreakOnboardingModal.tsx @@ -4,9 +4,11 @@ import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { Flame, Sparkles } from "lucide-react"; import { useActiveUser } from "@/hooks/useActiveUser"; +import { useTheme } from "next-themes"; export function StreakOnboardingModal() { const { user, loading } = useActiveUser(); + const { theme } = useTheme(); const [isOpen, setIsOpen] = useState(false); useEffect(() => { @@ -54,27 +56,27 @@ export function StreakOnboardingModal() { } return ( -
+
{/* Centered Modal Card Container covering 80% screen size (w-[80vw] h-[80vh]) */} -
+
{/* Subtle background glow */}
- {/* Top Celebration Animation Panel (Iframe with height 60%, pure black bg) */} -
+ {/* Top Celebration Animation Panel (Iframe with height 60%, matching bg) */} +