"use client"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { Flame, Trophy, Sparkles } from "lucide-react"; import { useActiveUser } from "@/hooks/useActiveUser"; export function StreakOnboardingModal() { const { user, loading } = useActiveUser(); const [isOpen, setIsOpen] = useState(false); useEffect(() => { if (loading || !user) return; // Check sessionStorage const hasSeen = sessionStorage.getItem(`hasSeenStreakPopup_${user.id}`); if (!hasSeen) { setIsOpen(true); } }, [user, loading]); if (!isOpen || !user) return null; const streak = user.streak_count; const targetExam = user.target_exam?.replace("_", " ") || "JEE/NEET"; // Streak-based wishes and titles let wishTitle = "Welcome to PragatiVeer! 🌟"; let wishMessage = `Prepare yourself to conquer ${targetExam}. Your daily practice starts here!`; let badgeBorderColor = "border-[#00F0FF]/30"; let badgeShadow = "shadow-[0_0_25px_rgba(0,240,255,0.25)]"; if (streak === 0) { wishTitle = "Start Your Streak Today! 🚀"; wishMessage = "Today is Day 1 of your journey. Establish your streak now and build the consistency needed for IIT/AIIMS!"; badgeBorderColor = "border-blue-500/30"; badgeShadow = "shadow-[0_0_20px_rgba(59,130,246,0.2)]"; } else if (streak < 4) { wishTitle = "Keep the Fire Burning! 🔥"; wishMessage = `Great job! You have maintained a ${streak}-day study streak. Keep practicing daily to build solid muscle memory!`; badgeBorderColor = "border-orange-500/30"; badgeShadow = "shadow-[0_0_20px_rgba(249,115,22,0.25)]"; } else { wishTitle = "Unstoppable Dedication! ⚡"; wishMessage = `Incredible! A ${streak}-day streak shows true championship discipline. You are outperforming the competition. Let's make today count!`; badgeBorderColor = "border-[#D1FF4D]/30"; badgeShadow = "shadow-[0_0_25px_rgba(209,255,77,0.25)]"; } const handleEnter = () => { sessionStorage.setItem(`hasSeenStreakPopup_${user.id}`, "true"); setIsOpen(false); }; return (
{/* Celebration Animation Canvas Overlay */}