// SloppyUniverse — bilingual copy bank
// No brand names. No "fünf/five" lock-in. SloppyPay = Baukosten.

// Status-Status: nur Module, deren Login in id.modules.login_enabled=True
// freigeschaltet ist, sind „beta". Aktuell ist das ausschliesslich pay —
// Scan/Fix/Plan/Rent stehen auf „soon" (Login serverseitig blockiert).
const SU_MODULES_DATA = [
  {
    key: "fix",  pair: "fix", name: "SloppyFix", status: "soon",
    color: "#5A7C2A", tint: "#8FB055",
    en: { tag: "Facility & maintenance", claim: "Fix the building before it fixes you.", blurb: "Assets, maintenance schedules, findings. NFC/QR scan on the asset, log entry done." },
    de: { tag: "Hausmeister & Wartung",  claim: "Reparier das Gebäude, bevor es dich repariert.", blurb: "Anlagen, Wartungspläne, Mängel. NFC/QR-Scan an der Anlage, Eintrag im Logbuch erledigt." },
  },
  {
    key: "scan", pair: "scan", name: "SloppyScan", status: "soon",
    color: "#2E3CC6", tint: "#6A78E8",
    en: { tag: "Visitors & access",      claim: "Knock, knock. Who's there?",            blurb: "Visitors, badges, patrols, NFC keys. QR replaces clipboard." },
    de: { tag: "Besucher & Zutritt",     claim: "Klopf, klopf. Wer da?",                 blurb: "Besucher, Ausweise, Patrouillen, NFC-Schlüssel. QR statt Klemmbrett." },
  },
  {
    key: "plan", pair: "plan", name: "SloppyPlan", status: "soon",
    color: "#B63E8E", tint: "#D97AB8",
    en: { tag: "Plans & approvals",      claim: "Plan versions with a traffic light.",   blurb: "Plan versions, approval workflow, BCF export, long-term archive with viewer tokens." },
    de: { tag: "Pläne & Freigabe",       claim: "Plan-Versionen mit Ampel-Freigabe.",    blurb: "Plan-Versionen, Freigabe-Workflow, BCF-Export, Langzeit-Archiv mit Viewer-Tokens." },
  },
  {
    key: "rent", pair: "rent", name: "SloppyRent", status: "soon",
    color: "#C86A2E", tint: "#E39A68",
    en: { tag: "Tenants & service",      claim: "Light. Lighter. Oh — broken.",          blurb: "Tenant tickets, appointments, handover protocols. Mobile app for residents and technicians." },
    de: { tag: "Mieter & Dienstleister", claim: "Leicht. Leichter. Oh — kaputt.",         blurb: "Mieter-Tickets, Termine, Übergabeprotokolle. Mobile App für Mieter und Techniker." },
  },
  {
    key: "pay", pair: "pay", name: "SloppyPay", status: "beta",
    color: "#A47913", tint: "#D9A93B",
    en: { tag: "Build-cost control",     claim: "What is all this costing me?",          blurb: "Bookings, photo receipts with OCR, project budget, plan-vs-actual per stakeholder." },
    de: { tag: "Baukostenkontrolle",     claim: "Was kostet mich das alles?",            blurb: "Buchungen, Belege per Foto mit OCR, Projekt-Budget, Soll/Ist pro Beteiligtem." },
  },
];

// Manifesto — punchy, brand-name-free, focused.
const SU_MANIFESTO = [
  { en: "One login. Every module. One universe. No matrix of seat tiers.",
    de: "Ein Login. Alle Module. Ein Universum. Keine Matrix aus Sitzplatz-Stufen." },
  { en: "Built by people who actually managed buildings. That's where the name comes from.",
    de: "Gebaut von Leuten, die selbst Häuser verwaltet haben. Daher der Name." },
  { en: "We don't sprinkle 'AI' on every button. Only where it earns its rent.",
    de: "Wir streuen kein 'KI' auf jeden Knopf. Nur da, wo es seine Miete verdient." },
  { en: "New modules ship when they're ready, not when the slide deck demands.",
    de: "Neue Module kommen, wenn sie fertig sind. Nicht, wenn die Präsentation es will." },
  { en: "Boring is a feature. Software that just works is the rarest kind.",
    de: "Langweilig ist ein Feature. Software, die einfach läuft, ist die seltenste Sorte." },
];

// FAQ — Anti-Sales tone, brand-name-free
const SU_FAQ = [
  { en: { q: "Is it actually called Sloppy?",
          a: "Yes. We picked the name on purpose. It reminds us not to over-engineer things nobody asked for." },
    de: { q: "Heißt das wirklich Sloppy?",
          a: "Ja. Mit Absicht. Erinnert uns daran, nicht Sachen zu überbauen, die keiner wollte." } },
  { en: { q: "Are all the modules online today?",
          a: "Not yet. Pay is in beta — usable for real work, rough around the edges. Scan, Fix, Plan and Rent are coming. The status badge on each card tells you exactly where it stands." },
    de: { q: "Sind alle Module schon online?",
          a: "Noch nicht. Pay ist beta — für echte Arbeit nutzbar, ein bisschen kantig. Scan, Fix, Plan und Rent kommen. Der Status-Badge auf jeder Karte sagt, wo's steht." } },
  { en: { q: "What does 'beta' mean for me?",
          a: "You can use beta modules for real work today, with one trade-off: limited guarantees against data loss. We back things up daily, but please don't run your only copy of anything important through a beta module yet." },
    de: { q: "Was bedeutet 'Beta' für mich?",
          a: "Du kannst Beta-Module heute schon produktiv nutzen, mit einem Trade-off: eingeschränkte Garantien gegen Datenverlust. Wir sichern täglich, aber bitte verlass dich nicht ausschließlich auf ein Beta-Modul für etwas Wichtiges." } },
  { en: { q: "Can I just use one module?",
          a: "Yes. Pick the module that fits your job. The other modules don't get in the way — they just sit dark in the sidebar until you need one." },
    de: { q: "Kann ich nur ein Modul nehmen?",
          a: "Ja. Du nimmst das Modul, das gerade passt. Die anderen sitzen dunkel in der Sidebar, bis du sie brauchst." } },
  { en: { q: "Where's my data?",
          a: "On a server in Germany (Hetzner). Daily backups stay on the same server for now — geo-redundancy is on the list, not yet live." },
    de: { q: "Wo liegen meine Daten?",
          a: "Auf einem Server in Deutschland (Hetzner). Tägliche Backups liegen aktuell noch auf demselben Server — geografische Redundanz steht auf der Liste, ist aber noch nicht aktiv." } },
  { en: { q: "What if I outgrow this?",
          a: "Then you outgrow this. We don't lock data. Export to CSV, JSON, whatever. We'll wave goodbye and mean it." },
    de: { q: "Was, wenn ich rauswachse?",
          a: "Dann wächst du raus. Wir sperren keine Daten ein. Export als CSV, JSON, was auch immer. Wir winken zum Abschied und meinen das ernst." } },
];

// Hero — module count avoided, "growing universe" framing
const SU_HERO = {
  word1: "SLOPPY",
  word2: "UNIVERSE",
  en_strap: "A growing set of property tools that share one login, one design, one universe. As simple as possible — with maximum simplicity.",
  de_strap: "Eine wachsende Sammlung Immobilien-Tools, die ein Login, ein Design und ein Universum teilen. So simpel wie möglich — bei maximaler Einfachheit.",
  tagline_en: "As simple as possible. With maximum simplicity.",
  tagline_de: "So simpel wie möglich. Bei maximaler Einfachheit.",
};

// Beta promise — fokussiert auf Funktion + Datenintegritaet, nicht Preis.
const SU_BETA = {
  en: {
    badge: "BETA",
    title: "Beta = early access.",
    sub: "Modules in beta are real, just rough at the edges.",
    body: "We're shipping new pieces of the universe in public. While a module is in beta, you can use it for actual work — feedback travels back to us, fixes go out the same week.",
    catch: "The catch (we'd rather tell you up front):",
    points: [
      "Limited guarantees against data loss during beta.",
      "Daily backups, but interfaces and data shapes can still change.",
      "Don't run your only copy of anything mission-critical through a beta module yet.",
      "When a module leaves beta, your data moves with you. No re-import.",
    ],
  },
  de: {
    badge: "BETA",
    title: "Beta = Early Access.",
    sub: "Beta-Module sind echt, nur an den Kanten noch rauh.",
    body: "Wir bauen das Universum öffentlich aus. Solange ein Modul in der Beta ist, kannst du es für richtige Arbeit nutzen — Feedback kommt zurück, Fixes gehen dieselbe Woche raus.",
    catch: "Der Haken (wir sagen's lieber gleich):",
    points: [
      "Eingeschränkte Garantien gegen Datenverlust während der Beta.",
      "Tägliche Backups, aber Oberflächen und Datenstrukturen können sich noch ändern.",
      "Bitte verlass dich nicht ausschließlich auf ein Beta-Modul für etwas Geschäftskritisches.",
      "Wenn ein Modul aus der Beta geht, ziehen deine Daten mit um. Kein Re-Import nötig.",
    ],
  },
};

window.SU_MODULES_DATA = SU_MODULES_DATA;
window.SU_MANIFESTO = SU_MANIFESTO;
window.SU_FAQ = SU_FAQ;
window.SU_HERO = SU_HERO;
window.SU_BETA = SU_BETA;
