import React, { useState, useEffect, useMemo } from 'react'; import { Trash2, Calendar, BookOpen, Tag, TrendingUp } from 'lucide-react'; export default function ExamHistory({ exams, onDelete, onRefresh }) { const [filterTopic, setFilterTopic] = useState(''); const [expandedId, setExpandedId] = useState(null); useEffect(() => { onRefresh(); }, [onRefresh]); const allTopics = useMemo(() => { const set = new Set(); for (const e of exams) { if (Array.isArray(e.topics)) { e.topics.forEach((t) => set.add(t)); } } return Array.from(set).sort(); }, [exams]); const filtered = useMemo(() => { if (!filterTopic) return exams; return exams.filter((e) => e.topics && e.topics.includes(filterTopic)); }, [exams, filterTopic]); const formatDate = (iso) => { if (!iso) return ''; const d = new Date(iso); return d.toLocaleDateString(); }; return (
{exams.length === 0 ? 'Aún no has realizado exámenes.' : 'Ningún examen coincide con el filtro.'}