/** Format numeric or string amounts as USD (e.g. "200.00" → "$200.00"). */
export function formatCurrency(
  amount: string | number | undefined | null
): string {
  if (amount === undefined || amount === null || amount === "") {
    return "$0.00";
  }
  const cleaned = String(amount).replace(/[^0-9.-]/g, "");
  const num = parseFloat(cleaned);
  if (Number.isNaN(num)) {
    return String(amount);
  }
  return `$${num.toFixed(2)}`;
}

/** Accepted bid amount from bid details, if any. */
export function getAcceptedBidAmount(
  bidDetails?: { status?: unknown; amount?: unknown }[]
): string | undefined {
  const accepted = bidDetails?.find(
    (b) => String(b?.status ?? "").toLowerCase() === "accepted"
  );
  if (accepted?.amount === undefined || accepted?.amount === null) {
    return undefined;
  }
  return String(accepted.amount);
}
