import { useEffect, useState } from 'react'; import { Link } from 'react-router-dom'; import EntryCard from '../components/EntryCard'; import { fetchEntries } from '../api'; import type { EntrySummary } from '../types'; export default function OverviewPage() { const [entries, setEntries] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { fetchEntries() .then((data) => setEntries(data)) .catch(() => setError('Could not load entries')) .finally(() => setLoading(false)); }, []); if (loading) return
Loading entries…
; if (error) return
{error}
; return (

IG Japanese Quizzer

Choose a reel to study

Each card bundles grammar, vocab, phrases, and quizzes pulled from your local data folder.

Jump to Quiz Wizard
{entries.length === 0 ? (
No entries detected in data/. Add mp4 + json pairs and restart the server.
) : (
{entries.map((entry) => ( ))}
)}
); }