import { listRuns } from "@autoscholar/core"; import { listPapersAdmin } from "@autoscholar/publisher"; import Link from "next/link"; import { StatusBadge } from "@/components/StatusBadge"; import { fmtDateTime } from "@/lib/format"; import { db } from "@/lib/server/db"; import { PaperActions, PublishButton } from "./PublicationActions"; export const dynamic = "force-dynamic"; export default async function PublicationsPage() { const d = db(); const pending = await listRuns(d, { status: ["awaiting_approval", "ready_to_publish", "publishing"], limit: 100, }); const papers = await listPapersAdmin(d); return (

Release

Publications

Awaiting release

{pending.length === 0 && ( )} {pending.map((r) => ( ))}
Run Status Mode Action
Nothing awaiting approval.
{r.title} {r.researchMode} {r.status === "publishing" ? ( publishing (scheduler) ) : ( ({ id: p.p.id, publicId: p.p.publicId, title: p.p.title }))} /> )}

Published papers

{papers.length === 0 && ( )} {papers.map((p) => ( ))}
ID Title Status Version Published Actions
No paper published yet.
{p.p.publicId} {p.p.title} {p.p.synthetic && staging} v{p.v?.versionNo ?? "?"} {fmtDateTime(p.p.firstPublishedAt)}
); }