"use client"; import { useState } from "react"; import ReactMarkdown from "react-markdown"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import type { WikiPageSummary } from "@/lib/types"; export function WikiView({ pages, initialPageContent, }: { pages: WikiPageSummary[]; initialPageContent: { title: string; content: string } | null; }) { const [activeTitle, setActiveTitle] = useState(initialPageContent?.title || "Select a page"); const [activeContent, setActiveContent] = useState(initialPageContent?.content || ""); const [filter, setFilter] = useState(""); const filteredPages = pages.filter((page) => filter.length === 0 ? true : page.title.toLowerCase().includes(filter.toLowerCase()), ); async function openPage(filename: string) { const response = await fetch(`/api/wiki/${filename}`); const page = await response.json(); setActiveTitle(page.metadata.title); setActiveContent(page.content); } return (
Wiki Pages setFilter(event.target.value)} />
{filteredPages.map((page) => ( ))}
{activeTitle} {activeContent ? {activeContent} :

Select a wiki page to view it.

}
); }