diff --git a/packages/frontend/src/pages/Dashboard.tsx b/packages/frontend/src/pages/Dashboard.tsx index 9fbacd2..bcffca7 100644 --- a/packages/frontend/src/pages/Dashboard.tsx +++ b/packages/frontend/src/pages/Dashboard.tsx @@ -3,7 +3,8 @@ import { Link, useNavigate } from 'react-router-dom'; import { motion } from 'framer-motion'; import { statsApi, type Overview } from '../api/stats.js'; import { sessionsApi } from '../api/sessions.js'; -import type { SessionRow } from '@flashcard/shared'; +import { lessonsApi } from '../api/lessons.js'; +import type { SessionRow, SubscriptionEntry } from '@flashcard/shared'; import { useLessons } from '../stores/lessonsStore.js'; import { formatDuration, formatDate } from '../lib/format.js'; @@ -11,6 +12,7 @@ export function DashboardPage() { const { tree, refresh } = useLessons(); const [ov, setOv] = useState(null); const [active, setActive] = useState(null); + const [subs, setSubs] = useState([]); const navigate = useNavigate(); useEffect(() => { @@ -22,6 +24,8 @@ export function DashboardPage() { sessionsApi.active().then(setActive).catch(() => {}); }, []); + useEffect(() => { lessonsApi.mySubscriptions().then(setSubs).catch(() => {}); }, []); + return (
@@ -118,6 +122,23 @@ export function DashboardPage() { )} + {subs.length > 0 && ( +
+

Geabonneerde lessen

+
    + {subs.map((s) => ( +
  • +
    +
    {s.name}
    +
    door {s.ownerDisplayName}
    +
    + Oefenen → +
  • + ))} +
+
+ )} + {ov?.recentSessions && ov.recentSessions.length > 0 && (

Recente sessies