"use client"; import Link from "next/link"; import { useEffect, useState } from "react"; import { PixelAvatar } from "@/components/avatar/pixel-avatar"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Card, CardContent, } from "@/components/ui/card"; import { defaultAvatarCondition, WELLNESS_SCALE_MAX, type AvatarCondition, } from "@/lib/avatar-state"; import { getAvatarConditionForToday, hasCompletedDailyQuizToday, } from "@/lib/daily-quiz-storage"; import { routes } from "@/lib/routes"; export function AvatarStatusCard() { const [condition, setCondition] = useState( defaultAvatarCondition, ); const [hasCheckedInToday, setHasCheckedInToday] = useState(false); const [isReady, setIsReady] = useState(false); useEffect(() => { const checkedIn = hasCompletedDailyQuizToday(); setHasCheckedInToday(checkedIn); setCondition(getAvatarConditionForToday() ?? defaultAvatarCondition); setIsReady(true); }, []); if (!isReady) { return (

Loading your pet...

); } return (
Energy {condition.energy}/{WELLNESS_SCALE_MAX} Health {condition.health}/{WELLNESS_SCALE_MAX} {hasCheckedInToday ? "Checked in today" : "Quiz pending"}

{hasCheckedInToday ? "Your pet is reacting to today's wellness check-in and journal." : "Complete today's quiz to update your pet's mood, energy, and health."}

{!hasCheckedInToday ? ( ) : null}
); }