/* ====================================================== components.js – Feuerwehr Stadt Wehlen (Modern Light) ------------------------------------------------------ Rendert alle wiederkehrenden Elemente und die Inhalte aus den zentralen Daten-Dateien (data/). Erwartet window.FFW_BASE (Pfad zum Projekt-Root). Aktiver Navigationspunkt über . ====================================================== */ (function () { const base = window.FFW_BASE || ""; const page = document.body.dataset.page || ""; /* ====================================================== NAVIGATION & FOOTER ====================================================== */ const NAV = ` `; const FOOTER = ` `; const headerMount = document.getElementById("site-header"); if (headerMount) headerMount.innerHTML = NAV; const footerMount = document.getElementById("site-footer"); if (footerMount) footerMount.innerHTML = FOOTER; /* Aktiven Menüpunkt markieren */ document.querySelectorAll(`[data-page="${page}"]`).forEach(el => el.classList.add("active")); /* ====================================================== HERO (Startseite) – helle Split-Karte + Statistik ====================================================== */ const heroMount = document.getElementById("site-hero"); if (heroMount) { heroMount.innerHTML = `
Freiwillige Feuerwehr seit 1901

Feuerwehr Stadt Wehlen

Ehrenamtlich im Einsatz für Stadt Wehlen und Pötzscha – bei Brand, Hilfeleistung und Wasserrettung auf der Elbe.

27
Aktive
23
Jugendfeuerwehr
9
Passive
172
Förderverein
`; } /* ====================================================== GESCHICHTE – Accordion ====================================================== */ const geschichteMount = document.getElementById("geschichte-inhalt"); if (geschichteMount && window.FFW_GESCHICHTE) { const items = window.FFW_GESCHICHTE.map((epoche, i) => { const inhalt = epoche.eintraege.map(e => { const bildBtn = e.bild ? `` : ""; return `${e.titel ? `

${e.titel}

` : ""}${e.html}${bildBtn}`; }).join(""); return `

${inhalt}
`; }).join(""); geschichteMount.innerHTML = `
${items}
`; /* Modal für den Zeitungsartikel von 1921 */ document.body.insertAdjacentHTML("beforeend", ` `); } /* ====================================================== TECHNIK – Kartenraster mit Kategorie-Filter ====================================================== */ const technikMount = document.getElementById("technik-grid"); if (technikMount && window.FFW_FAHRZEUGE) { const kategorien = [...new Set(window.FFW_FAHRZEUGE.map(f => f.kategorie))]; const filterBtns = [``] .concat(kategorien.map(k => ``)) .join(""); const karten = window.FFW_FAHRZEUGE.map(f => { const inner = `
${f.name} ${f.kategorie} ${f.inArbeit ? `Demnächst` : ""}
${f.name}
`; return `
${f.inArbeit ? `
${inner}
` : `${inner}`}
`; }).join(""); technikMount.innerHTML = `
${filterBtns}
${karten}
`; technikMount.querySelectorAll(".filter-btn").forEach(btn => { btn.addEventListener("click", () => { technikMount.querySelectorAll(".filter-btn").forEach(b => b.classList.remove("active")); btn.classList.add("active"); const filter = btn.dataset.filter; technikMount.querySelectorAll(".tech-item").forEach(item => { item.classList.toggle("d-none", filter !== "alle" && item.dataset.kategorie !== filter); }); }); }); } /* ====================================================== FAHRZEUG – Detailseite (datengetrieben via ?id=) ====================================================== */ const fzMount = document.getElementById("fahrzeug-detail"); if (fzMount && window.FFW_FAHRZEUGE) { const id = new URLSearchParams(location.search).get("id"); const f = window.FFW_FAHRZEUGE.find(x => x.id === id); if (!f || f.inArbeit) { fzMount.innerHTML = `

Fahrzeug nicht gefunden

Dieses Fahrzeug existiert nicht (mehr) oder die Seite befindet sich im Aufbau.

← Zurück zur Technik-Übersicht
`; } else { document.title = `${f.titel} | Feuerwehr Stadt Wehlen`; const specs = f.daten.map(([label, wert]) => `
  • ${label}${wert}
  • `).join(""); const bereiche = (f.bereiche || []).map(b => `

    ${b.titel}

    `).join(""); const galerie = f.bilder.length > 1 ? `` : `${f.bilder[0].alt}`; fzMount.innerHTML = `
    ${f.standort ? `Standort: ${f.standort}` : ""}

    Fahrzeugdaten

      ${specs}
    ${bereiche} ${f.text ? `

    ${f.text}

    ` : ""}
    ${galerie} ${f.hinweis ? `
    ${f.hinweis}
    ` : ""}
    `; const carouselEl = fzMount.querySelector("#fahrzeugCarousel"); if (carouselEl && window.bootstrap) new bootstrap.Carousel(carouselEl, { interval: 5000 }); } } /* ====================================================== MITGLIEDER – Organigramm ====================================================== */ const orgMount = document.getElementById("mitglieder-inhalt"); if (orgMount && window.FFW_MITGLIEDER) { const M = window.FFW_MITGLIEDER; const box = (eintrag, klasse = "") => `
    ${eintrag.rolle} ${eintrag.namen.join("
    ")}
    `; const ebene = (eintraege, klasse = "") => `
    ${eintraege.map(e => box(e, klasse)).join("")}
    `; const gruppen = M.gruppen.map(g => { const inhalt = g.abschnitte ? g.abschnitte.map(a => `${a.label}`).join("") : ``; return `

    ${g.titel}

    ${inhalt}
    `; }).join(""); orgMount.innerHTML = ` ${ebene([M.fuehrung[0]], "fuehrung")} ${ebene([M.fuehrung[1]], "fuehrung")} ${ebene(M.stab)} ${ebene(M.fachwarte)}
    ${gruppen}
    `; } })();