diff --git a/packages/frontend/src/pages/Stats.tsx b/packages/frontend/src/pages/Stats.tsx index 836f444..d865d4c 100644 --- a/packages/frontend/src/pages/Stats.tsx +++ b/packages/frontend/src/pages/Stats.tsx @@ -1,20 +1,54 @@ import { useEffect, useState } from 'react'; import { statsApi } from '../api/stats.js'; +import { Heatmap } from '../components/Heatmap.js'; +import { LessonProgressList, type LessonProgressRow } from '../components/LessonProgressList.js'; +import { DueOverviewCard, type DueOverview } from '../components/DueOverviewCard.js'; export function StatsPage() { const [heatmap, setHeatmap] = useState<{ day: string; sessions: number; attempts: number }[]>([]); - useEffect(() => { statsApi.heatmap(12).then(setHeatmap); }, []); + const [progress, setProgress] = useState([]); + const [due, setDue] = useState(null); + + useEffect(() => { + statsApi.heatmap(52).then(setHeatmap).catch(() => {}); + statsApi.lessonsProgress().then((r) => setProgress(r.rows)).catch(() => {}); + statsApi.due().then(setDue).catch(() => {}); + }, []); - const max = Math.max(1, ...heatmap.map((d) => d.attempts)); return ( -
-

Statistieken

-
- {heatmap.map((d) => ( -
- ))} -
+
+
+

Statistieken

+

Houd zicht op je voortgang en wat er te oefenen valt.

+
+ + {due && ( +
+

⏰ Te reviewen

+ +
+ )} + +
+

📊 Voortgang per les

+ +
+ +
+

🔥 Activiteit

+
+ +
+ minder + + + + + + meer +
+
+
); }