diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 63e0431..8d53cf9 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -1,82 +1,194 @@ import Link from "next/link"; import { listDocuments } from "@mcpedia/core"; import { cookies } from "next/headers"; +import type { DocSection } from "@mcpedia/core"; export const dynamic = "force-dynamic"; -const SECTIONS = [ - { id: "docs", label: "Documentation" }, - { id: "writeups", label: "Writeups" }, - { id: "research", label: "Research" }, - { id: "notes", label: "Notes" }, -] as const; +const SECTIONS: { id: DocSection; label: string; icon: string; desc: string }[] = [ + { + id: "docs", + label: "Documentation", + icon: "📄", + desc: "Setup guides, API references, and protocol specs.", + }, + { id: "writeups", label: "Writeups", icon: "📝", desc: "Post-mortems, debugging stories, and case studies." }, + { id: "research", label: "Research", icon: "🔬", desc: "Deep-dive analysis, architecture notes, and experiments." }, + { id: "notes", label: "Notes", icon: "📌", desc: "Quick references, patterns, and gotchas." }, +]; export default async function HomePage() { const all = await listDocuments(); - const bySection = SECTIONS.map((section) => ({ - ...section, - docs: all.filter((d) => d.section === section.id), - })); - const cookieStore = await cookies(); const canEdit = cookieStore.get("mcpedia_admin")?.value != null; - return ( -
- A content-first knowledge base. Humans read the Web UI; AI agents - use the MCP server. Both share one Core. -
-+ A content-first knowledge base for humans and AI agents. Read the + web docs, call the MCP server, or browse the full document archive. +
+ ++ {s.desc} +
+ + {s.total} document{s.total !== 1 ? "s" : ""} + + + ))} +
+ MCP server at{" "}
+
+ mcp.asepharyana.my.id/mcp
+
+ . All tools available via Streamable HTTP transport.
+