import type { Metadata } from "next"; import { CategoryNav } from "./_components/CategoryNav"; import { getPublications, getPatents } from "../../lib/api"; export const metadata: Metadata = { title: "Publications", description: "AI Agent Networking Lab (ANL) research publications and patents overview", }; export const dynamic = "force-dynamic"; export default async function PublicationsIndexPage() { const publications = (await getPublications()) ?? []; const patents = (await getPatents()) ?? []; const counts = { "intl-journal-conf": publications.filter((p) => p.category === "intl-journal-conf").length, "domestic-journal-conf": publications.filter((p) => p.category === "domestic-journal-conf").length, patent: patents.length, }; // Selected representative publications (curated via database isHighlight flag) const highlights = publications.filter((p) => p.isHighlight); return (
{/* Page Header */}

PUBLICATIONS

{/* Category Summary Cards */}
{/* Highlights Section */}

Highlights

{highlights.map((pub, idx) => (
{pub.publishedAt?.substring(0, 7) || "Recent"} · {pub.category.replace(/-/g, " ")} {pub.doi && ( <> · DOI: {pub.doi} )}

{pub.title}

{pub.authors && (

{pub.authors}

)} {pub.venue && (

{pub.venue}{pub.volume ? `, ${pub.volume}` : ""}

)}
))}
); }