SPB Git

spb/autoscholar

Public
1.6 KB · 49 lines tsx
1import Link from "next/link";2import type { ReactNode } from "react";34export function EmptyState({ title, children }: { title: string; children?: ReactNode }) {5  return (6    <div className="surface-muted px-6 py-12 text-center">7      <p className="title-3">{title}</p>8      {children && <div className="muted mt-2 text-sm">{children}</div>}9    </div>10  );11}1213/** EmptyResearchState — the library before the first paper passes every gate. Honest, no placeholders. */14export function EmptyResearchState({15  title = "No working papers have been released yet.",16  showPipeline = true,17}: {18  title?: string;19  showPipeline?: boolean;20}) {21  return (22    <div className="surface-muted paper-ruled relative overflow-hidden px-6 py-14 text-center sm:py-20">23      <div className="mx-auto max-w-md">24        <div25          aria-hidden="true"26          className="mx-auto mb-5 grid h-12 w-12 place-items-center rounded-full border text-lg"27          style={{28            borderColor: "var(--line-strong)",29            background: "var(--bg-elev)",30            fontFamily: "var(--font-serif)",31          }}32        >33          ∅34        </div>35        <p className="title-2">{title}</p>36        <p className="muted mt-3 text-sm leading-relaxed">37          A paper appears here only after a run has executed its research, passed an automated critical review38          and cleared every deterministic quality gate. Nothing is seeded, mocked or back-dated.39        </p>40        {showPipeline && (41          <Link href="/methodology" className="btn mt-6">42            How papers are produced43          </Link>44        )}45      </div>46    </div>47  );48}49
Files · main
Menu

Theme