/**
 * Merkmal-Katalog als Seed-Daten (Workstream 9).
 *
 * Abgeleitet aus docs/reference/fahrzeug-katalog-noelfv.md, Abschnitt 2.
 * Genau 34 Merkmale — "Funkrufname" ist eine Spalte auf `vehicles`,
 * KEIN Merkmal (siehe Plan, Phase 1).
 *
 * `slug` ist der Idempotenz-Key (UNIQUE in `merkmale`). Enum-Merkmale tragen
 * ihre `optionen` (Werte sind die slugartigen DB-Werte, `label` die Anzeige).
 */

export type MerkmalTyp = "number" | "enum" | "boolean" | "text";
export type Geltungsbereich = "vehicle" | "equipment" | "both";

export interface MerkmalOptionSeed {
  wert: string;
  label: string;
  reihenfolge: number;
}

export interface MerkmalSeed {
  slug: string;
  name: string;
  typ: MerkmalTyp;
  einheit?: string;
  geltungsbereich: Geltungsbereich;
  optionen?: MerkmalOptionSeed[];
}

export const MERKMALE: MerkmalSeed[] = [
  {
    slug: "loeschwassertank",
    name: "Löschwassertank",
    typ: "number",
    einheit: "l",
    geltungsbereich: "vehicle",
  },
  {
    slug: "schaummitteltank",
    name: "Schaummitteltank",
    typ: "number",
    einheit: "l",
    geltungsbereich: "vehicle",
  },
  {
    slug: "schaumzumischung",
    name: "Schaumzumischung",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "pulverloeschanlage",
    name: "Pulverlöschanlage",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "pulvermenge",
    name: "Pulvermenge",
    typ: "number",
    einheit: "kg",
    geltungsbereich: "vehicle",
  },
  {
    slug: "feuerloeschpumpe_typ",
    name: "Feuerlöschpumpe (Typ)",
    typ: "enum",
    geltungsbereich: "vehicle",
    optionen: [
      { wert: "keine", label: "keine", reihenfolge: 0 },
      { wert: "fpn_10_750", label: "FPN 10-750", reihenfolge: 1 },
      { wert: "fpn_10_1000", label: "FPN 10-1000", reihenfolge: 2 },
      { wert: "fpn_10_2000", label: "FPN 10-2000", reihenfolge: 3 },
      { wert: "fpn_10_3000", label: "FPN 10-3000", reihenfolge: 4 },
      { wert: "fpn_10_6000", label: "FPN 10-6000", reihenfolge: 5 },
      { wert: "fph_40_250", label: "FPH 40-250", reihenfolge: 6 },
      { wert: "tragkraftspritze", label: "Tragkraftspritze", reihenfolge: 7 },
    ],
  },
  {
    slug: "pumpen_foerderleistung",
    name: "Pumpen-Förderleistung",
    typ: "number",
    einheit: "l/min",
    geltungsbereich: "vehicle",
  },
  {
    slug: "schnellangriffseinrichtung",
    name: "Schnellangriffseinrichtung",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "wasserwerfer",
    name: "Wasserwerfer",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "wasserwerfer_foerderstrom",
    name: "Wasserwerfer-Förderstrom",
    typ: "number",
    einheit: "l/min",
    geltungsbereich: "vehicle",
  },
  {
    slug: "besatzung_sitzplaetze",
    name: "Besatzung / Sitzplätze",
    typ: "number",
    einheit: "Plätze",
    geltungsbereich: "vehicle",
  },
  {
    slug: "zulaessiges_gesamtgewicht",
    name: "Zulässiges Gesamtgewicht",
    typ: "number",
    einheit: "t",
    geltungsbereich: "vehicle",
  },
  {
    slug: "anzahl_achsen",
    name: "Anzahl Achsen",
    typ: "enum",
    geltungsbereich: "vehicle",
    optionen: [
      { wert: "2", label: "2", reihenfolge: 0 },
      { wert: "3", label: "3", reihenfolge: 1 },
      { wert: "4", label: "4", reihenfolge: 2 },
    ],
  },
  {
    slug: "allradantrieb",
    name: "Allradantrieb",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "motorleistung",
    name: "Motorleistung",
    typ: "number",
    einheit: "kW",
    geltungsbereich: "vehicle",
  },
  {
    slug: "laenge",
    name: "Länge",
    typ: "number",
    einheit: "mm",
    geltungsbereich: "vehicle",
  },
  {
    slug: "breite",
    name: "Breite",
    typ: "number",
    einheit: "mm",
    geltungsbereich: "vehicle",
  },
  {
    slug: "hoehe",
    name: "Höhe",
    typ: "number",
    einheit: "mm",
    geltungsbereich: "vehicle",
  },
  {
    slug: "stromerzeuger_bauart",
    name: "Stromerzeuger-Bauart",
    typ: "enum",
    geltungsbereich: "vehicle",
    optionen: [
      { wert: "keiner", label: "keiner", reihenfolge: 0 },
      { wert: "tragbar", label: "tragbar", reihenfolge: 1 },
      { wert: "einbaugenerator", label: "Einbaugenerator", reihenfolge: 2 },
    ],
  },
  {
    slug: "stromerzeuger_nennleistung",
    name: "Stromerzeuger-Nennleistung",
    typ: "number",
    einheit: "kVA",
    geltungsbereich: "vehicle",
  },
  {
    slug: "seilwinde",
    name: "Seilwinde",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "seilwinden_zugkraft",
    name: "Seilwinden-Zugkraft",
    typ: "number",
    einheit: "kN",
    geltungsbereich: "vehicle",
  },
  {
    slug: "lichtmast",
    name: "Lichtmast",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "hydraulischer_rettungssatz",
    name: "Hydraulischer Rettungssatz",
    typ: "boolean",
    geltungsbereich: "both",
  },
  {
    slug: "ladekran",
    name: "Ladekran",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "kran_hubmoment",
    name: "Kran-Hubmoment",
    typ: "number",
    einheit: "kNm",
    geltungsbereich: "vehicle",
  },
  {
    slug: "ladebordwand",
    name: "Ladebordwand",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "ladebordwand_traglast",
    name: "Ladebordwand-Traglast",
    typ: "number",
    einheit: "kg",
    geltungsbereich: "vehicle",
  },
  {
    slug: "wechselladeeinrichtung",
    name: "Wechselladeeinrichtung",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "atemluftkompressor_lieferleistung",
    name: "Atemluftkompressor-Lieferleistung",
    typ: "number",
    einheit: "l/min",
    geltungsbereich: "vehicle",
  },
  {
    slug: "atemluft_speichervolumen",
    name: "Atemluft-Speichervolumen",
    typ: "number",
    einheit: "l",
    geltungsbereich: "vehicle",
  },
  {
    slug: "anhaengekupplung",
    name: "Anhängekupplung",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "funkanlage",
    name: "Funkanlage",
    typ: "boolean",
    geltungsbereich: "vehicle",
  },
  {
    slug: "baujahr",
    name: "Baujahr",
    typ: "number",
    einheit: "Jahr",
    geltungsbereich: "vehicle",
  },
];
