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

export function toSimpleSlug(value: string, fallback = "scenario") {
  const slug = value
    .normalize("NFD")
    .replace(/[\u0300-\u036f]/g, "")
    .toLowerCase()
    .replace(/[^a-z0-9]+/g, "-")
    .replace(/^-+|-+$/g, "")
    .slice(0, 120);

  return slug || fallback;
}

export function formatScenarioDurationLabel(maxTurns: number) {
  return `${maxTurns} ${maxTurns > 1 ? "tours" : "tour"} max`;
}

export function getScenarioTensionColor(difficulty: Difficulty | string) {
  switch (difficulty) {
    case "Fondamentaux":
      return "#1775BA";
    case "Exigeant":
      return "#C1161B";
    default:
      return "#D88E04";
  }
}
