"use client";

import { Badge } from "./ui";

export const STEP_LABELS: Record<string, string> = {
  pending: "Pending pickup",
  queued: "Queued",
  researching: "Researching",
  manipulating: "Manipulating",
  generating_images: "Generating images",
  scoring: "Scoring",
  pushing: "Pushing to Ergonode",
  attribute: "Attribute",
  image: "Image",
  done: "Done",
  review: "Review",
  failed: "Failed",
  rejected: "Rejected",
  requeued: "Re-queued",
};

export function stepLabel(s: string): string {
  return STEP_LABELS[s] || s;
}

export function StatusBadge({ status }: { status: string }) {
  if (status === "pending" || status === "queued") return <Badge kind="neutral">{stepLabel(status)}</Badge>;
  if (["researching", "manipulating", "generating_images", "scoring", "pushing"].includes(status)) return <Badge kind="warn">{stepLabel(status)}</Badge>;
  if (["attribute", "image"].includes(status)) return <Badge kind="neutral">{stepLabel(status)}</Badge>;
  if (status === "done") return <Badge kind="ok">Done</Badge>;
  if (["review", "requeued"].includes(status)) return <Badge kind="warn">{stepLabel(status)}</Badge>;
  if (["failed", "rejected"].includes(status)) return <Badge kind="danger">{stepLabel(status)}</Badge>;
  return <Badge kind="neutral">{stepLabel(status)}</Badge>;
}
