/* ====================================================== 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.

22
Aktive
20
Jugendfeuerwehr
13
Passive
161
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}
    `; } })();