import { useParams, Link, useNavigate } from 'react-router-dom'; import { WidePageLayout } from '../components/WidePageLayout'; import RichTextContent from '../components/RichTextContent'; import useWikis from '../hooks/useWikis'; import type { Wiki } from '../types/epic'; import PlusIcon from '../components/icons/PlusIcon'; import Edit2Icon from '../components/icons/Edit2Icon'; import Trash2Icon from '../components/icons/Trash2Icon'; export function BoardWikis() { const { id } = useParams<{ id: string }>(); const navigate = useNavigate(); const { wikis, deleteWiki } = useWikis(id || '0'); const handleDeleteWiki = async (wikiId: number, wikiName: string) => { if (confirm(`Are you sure you want to delete wiki "${wikiName}"?`)) { try { await deleteWiki(wikiId); } catch { // Error is handled by the hook } } }; return (
← Back to Board

Wikis

Manage and view wikis for this board ({wikis.length} wikis)

Create Wiki
{wikis.length === 0 ? (
📚

No Wikis Yet

Create your first wiki to start documenting your knowledge.

Create First Wiki
) : (
{wikis.map((wiki) => ( navigate(`/boards/${id}/wikis/${wiki.id}`)} onDelete={() => handleDeleteWiki(wiki.id, wiki.name)} onEdit={() => navigate(`/boards/${id}/wikis/${wiki.id}/edit`)} /> ))}
)}
); } interface WikiCardProps { wiki: Wiki; onClick: () => void; onDelete: () => void; onEdit: () => void; } function WikiCard({ wiki, onClick, onDelete, onEdit }: WikiCardProps) { return (
{/* Header with actions */}

{wiki.name}

{/* Summary */} {wiki.summary &&

{wiki.summary}

} {/* Rich text content preview */} {wiki.content && Array.isArray(wiki.content) && wiki.content.length > 0 && (
{/* Fade overlay at bottom */}
)} {/* Footer with metadata */}
{wiki.category && ( {wiki.category} )} {wiki.tags && wiki.tags.length > 0 && {wiki.tags.length} tag(s)}
{wiki.updated_at && {new Date(wiki.updated_at).toLocaleDateString()}}
); } export default BoardWikis;