'use client'; import { getDocument, Document } from '@/lib/api'; import { useEffect, useState } from 'react'; import { useParams } from 'next/navigation'; import { FileText, Tag, ArrowLeft, Loader2, Calendar } from 'lucide-react'; import Link from 'next/link'; export default function DocumentPage() { const { id } = useParams<{ id: string }>(); const [doc, setDoc] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); useEffect(() => { getDocument(id) .then(setDoc) .catch(() => setError('Document not found')) .finally(() => setLoading(false)); }, [id]); if (loading) return (
); if (error || !doc) return (
{error || 'Document not found'}
); return (
Back to Search

{doc.title}

{doc.path}

{doc.word_count && ( {doc.word_count.toLocaleString()} words )} {doc.indexed_at && ( Indexed {new Date(doc.indexed_at).toLocaleDateString()} )}
{doc.tags.length > 0 && (
{doc.tags.map((tag) => ( {tag} ))}
)} {doc.frontmatter?.summary && (

Summary

{doc.frontmatter.summary as string}

)}
{doc.content}
); }