diff --git a/packages/frontend/src/components/DueOverviewCard.tsx b/packages/frontend/src/components/DueOverviewCard.tsx new file mode 100644 index 0000000..7830f0f --- /dev/null +++ b/packages/frontend/src/components/DueOverviewCard.tsx @@ -0,0 +1,55 @@ +import { useNavigate } from 'react-router-dom'; +import { sessionsApi } from '../api/sessions.js'; +import { useSession } from '../stores/sessionStore.js'; + +export interface DueOverview { overdue: number; today: number; tomorrow: number; thisWeek: number; } + +export function DueOverviewCard({ data }: { data: DueOverview }) { + const navigate = useNavigate(); + const total = data.overdue + data.today; + async function startReview() { + const r = await sessionsApi.startDue(); + useSession.setState({ + session: r.session, + current: r.queue[0] ?? null, + done: r.queue.length === 0, + showAnswer: false, + shownAt: Date.now(), + }); + navigate(`/practice/${r.session.lessonId}`); + } + + return ( +