"use client"; import Link from "next/link"; import { useParams } from "next/navigation"; import { useEffect, useState } from "react"; import { ApiKeyGate } from "@/components/ApiKeyGate"; import { StudyFeed } from "@/components/StudyFeed"; import { Button } from "@/components/ui"; import { useI18n } from "@/lib/i18n"; import type { Deck } from "@/lib/schemas"; import { getDeck } from "@/lib/storage"; export default function DeckPage() { const params = useParams<{ id: string }>(); const id = typeof params.id === "string" ? params.id : ""; const [deck, setDeck] = useState(null); const [loaded, setLoaded] = useState(false); const { t } = useI18n(); useEffect(() => { if (!id) { setLoaded(true); return; } setDeck(getDeck(id) ?? null); setLoaded(true); }, [id]); if (!loaded) { return (
); } if (!deck) { return (

🧊

{t("deckPage.notFound")}

{t("deckPage.notFoundBody")}

{t("deckPage.back")}
); } return ( ); }