import { usePhonicsProgress } from "@/hooks/phonics/usePhonicsProgress"; import { usePhonicsExercises } from "@/hooks/phonics/usePhonicsExercises"; import { useAuth } from "@/hooks/useAuth"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Progress } from "@/components/ui/progress"; import { Star, Trophy } from "lucide-react"; export function PhonicsProgressPage() { const { user } = useAuth(); const { data: progress } = usePhonicsProgress(user?.id || ""); const { data: exercises } = usePhonicsExercises(); if (!user || !progress || !exercises) return null; const totalExercises = exercises.length; const completedExercises = progress.filter(p => p.completed).length; const totalStars = progress.reduce((acc, p) => acc + p.stars, 0); const totalXP = progress.reduce((acc, p) => acc + p.xpEarned, 0); const completionRate = (completedExercises / totalExercises) * 100; return (

Seu Progresso

Acompanhe seu desenvolvimento nos exercícios fônicos

Exercícios Completados
{completedExercises} / {totalExercises}
Estrelas Conquistadas
{totalStars}
XP Total
{totalXP}
Histórico de Exercícios
{exercises.map((exercise) => { const exerciseProgress = progress.find(p => p.exerciseId === exercise.id); const progressValue = exerciseProgress ? exerciseProgress.bestScore * 100 : 0; return (
{exercise.title}
{exerciseProgress?.completed ? "Completo" : "Pendente"}
{Array.from({ length: 3 }).map((_, i) => ( ))}
); })}
); }