import type { ModelRow } from "@/lib/types";

export interface StatusNoticeProps {
  model: ModelRow;
  /** dataset the run is scoped to, e.g. "ViMedCSS" */
  datasetName?: string;
}

/**
 * Live-status block for `running` rows (pulsing dot, executing now) and a
 * roadmap note for `planned` rows. Renders nothing for measured rows.
 */
export default function StatusNotice({
  model,
  datasetName,
}: StatusNoticeProps) {
  if (model.provenance === "running") {
    return (
      <div className="glow-accent-subtle rounded-sm border border-accent/20 bg-surface p-4">
        <div className="flex items-center gap-2.5">
          <span
            aria-hidden
            className="pulse-dot inline-block size-2 shrink-0 rounded-full bg-accent"
          />
          <p className="num text-[12px] uppercase tracking-[0.18em] text-accent">
            Live — executing {datasetName ? `${datasetName} ` : ""}Test + Hard
            on this platform now
          </p>
        </div>
        <p className="mt-2 max-w-2xl text-[13px] leading-relaxed text-muted">
          Pilot harness run in progress. Headline metrics, bootstrap 95% CIs
          and the run manifest will populate the moment results commit —
          provenance then flips to platform-verified.
        </p>
      </div>
    );
  }

  if (model.provenance === "planned") {
    const isApi = model.category === "api-intl" || model.category === "api-vn";
    return (
      <div className="rounded-sm border border-line/50 p-4">
        <p className="num text-[12px] uppercase tracking-[0.18em] text-muted">
          Roadmap — evaluation planned
        </p>
        <p className="mt-2 max-w-2xl text-[13px] leading-relaxed text-muted">
          This model is queued on the evaluation roadmap and has not been run
          yet.
          {isApi &&
            " Commercial APIs are benchmarked as date-stamped snapshots, with quarterly drift re-runs planned."}
        </p>
      </div>
    );
  }

  return null;
}
