import { useEffect, useState } from "react"; import { Link, useNavigate, useParams, } from "react-router-dom"; function KartenDetailPage({ lernkarten, learnedCardIds, onMarkAsLearned, onRemoveLearnedStatus, }) { const { id } = useParams(); const navigate = useNavigate(); const [showAnswer, setShowAnswer] = useState(false); const cardId = Number(id); const karte = lernkarten.find( (item) => item.id === cardId ); useEffect(() => { setShowAnswer(false); }, [id]); if (!karte) { return (

Nicht gefunden

Lernkarte nicht gefunden

Für die angegebene Adresse existiert keine Lernkarte.

Zur Lernkartenübersicht
); } const isLearned = learnedCardIds.includes(karte.id); const currentIndex = lernkarten.findIndex( (item) => item.id === karte.id ); const previousCard = currentIndex > 0 ? lernkarten[currentIndex - 1] : null; const nextCard = currentIndex < lernkarten.length - 1 ? lernkarten[currentIndex + 1] : null; function goToPreviousCard() { if (previousCard) { navigate(`/karten/${previousCard.id}`); } } function goToNextCard() { if (nextCard) { navigate(`/karten/${nextCard.id}`); } } return (
Zurück zur Übersicht Karte {currentIndex + 1} von {lernkarten.length}
{karte.kategorie} {karte.schwierigkeit}

{karte.frage}

{isLearned ? "Diese Lernkarte ist als gelernt markiert." : "Diese Lernkarte ist noch offen."}

{!showAnswer && (

Überlegen Sie zunächst selbst und blenden Sie anschließend die Antwort ein.

)} {showAnswer && (

Antwort

{karte.antwort}

)}
{!isLearned ? ( ) : ( )}
); } export default KartenDetailPage;