// Home: how your weekly recalls have gone — the last eight weeks at a glance, then every recall you've written. import { useMemo, useState } from 'react'; import { useApp } from '../context/AppContext.js'; import { loadProjectById } from '../utils/projectStorage.js'; import { recallHistory, recallSummary } from '../utils/recall.js'; const LABEL = { solid: 'Had it', partly: 'Partly', forgot: 'Slipped' }; const DOT = { solid: 'bg-[var(--r-accent)] border-[var(--r-accent)]', partly: 'bg-[var(--r-hl)] border-[var(--r-accent)]', forgot: 'border-[var(--r-sub)]' }; export default function RecallHistory() { const { projectIndex, openStudyChunk } = useApp(); const [open, setOpen] = useState(false); const history = useMemo(() => recallHistory(projectIndex.map((e) => loadProjectById(e.id)).filter(Boolean)), [projectIndex]); if (history.length === 0) return null; const { counts, total, recent } = recallSummary(history); return (
{open && ( )}
); }