"use strict";

// Single Source of Truth für die about:config-Prefs, die bei jedem TB-Start
// erzwungen werden. Wird als klassisches Script in BEIDEN Kontexten geladen
// (Background + Options-Seite), definiert also nur globale Variablen — keine
// import/export-Mechanik.
//
// Jeder Eintrag:
//   id     - stabiler Opt-out-Key (NIE umbenennen/wiederverwenden; landet in storage)
//   label  - Text im Options-Dialog
//   type   - "bool" | "int" | "string"
//   value  - der bei jedem Start erzwungene Wert
// FORCED_PREFS zusätzlich:  name   - voller about:config-Pref-Name
// FORCED_IDENTITY_PREFS:    suffix - voller Name = mail.identity.<id>.<suffix>
//
// WICHTIG: Werte an einem korrekt eingerichteten Referenz-Thunderbird
// (Doku-Seite „Thunderbird einrichten", Page 99) per about:config gegenprüfen —
// dieser Code läuft privilegiert auf allen Clients, ein Tippfehler trifft alle.

var FORCED_PREFS = [
  { id: "start_page_off",  label: "Startseite beim Öffnen ausblenden",
    name: "mailnews.start_page.enabled", type: "bool", value: false },
  { id: "listview_cards",  label: "Kartenansicht (statt Tabelle)",
    name: "mail.threadpane.listview", type: "int", value: 0 },
  { id: "no_grouping",     label: "Nachrichten nicht gruppieren",
    name: "mailnews.default_view_flags", type: "int", value: 0 },
  { id: "sort_descending", label: "Neue Nachrichten oben (absteigend)",
    name: "mailnews.default_sort_order", type: "int", value: 2 },
  { id: "layout_3col",     label: "3-Spalten-Ansicht (vertikales Layout)",
    name: "mail.pane_config.dynamic", type: "int", value: 2 },
  { id: "no_auto_read",    label: "Nachrichten nicht automatisch als gelesen markieren",
    name: "mailnews.mark_message_read.auto", type: "bool", value: false },
];

// Pro Identität angewandt: voller Name = mail.identity.<id>.<suffix>
var FORCED_IDENTITY_PREFS = [
  { id: "reply_on_top", label: "Antwort über dem Zitat",
    suffix: "reply_on_top", type: "int", value: 1 },
  // sig_bottom=false -> Signatur direkt unter der Antwort, VOR dem Zitat.
  // (true wäre ganz unten nach dem Zitat.)
  { id: "sig_bottom",   label: "Signatur unter Antwort / vor dem Zitat",
    suffix: "sig_bottom", type: "bool", value: false },
  { id: "sig_on_reply", label: "Signatur bei Antworten beifügen",
    suffix: "sig_on_reply", type: "bool", value: true },
  { id: "sig_on_fwd",   label: "Signatur beim Weiterleiten beifügen",
    suffix: "sig_on_fwd", type: "bool", value: true },
];

if (typeof globalThis !== "undefined") {
  globalThis.FORCED_PREFS = FORCED_PREFS;
  globalThis.FORCED_IDENTITY_PREFS = FORCED_IDENTITY_PREFS;
}
