diff --git a/dienstplan/dienstplan.csv b/dienstplan/dienstplan.csv index 953990b..ded361e 100644 --- a/dienstplan/dienstplan.csv +++ b/dienstplan/dienstplan.csv @@ -1,4 +1,9 @@ datum,tag,zeit,ort,art,beschreibung -2026-01-02,Fr,19:00,Stadt Wehlen,Theorie,Arbeitsschutz -2026-01-10,Sa,16:30,SW/Pö,Fest,Weihnachtsbaumverbrennen -2026-01-12,Mo,19:00,SW/Pö,Gemeinsamer Dienst,Maschinisten-Dienst \ No newline at end of file +2026-03-23,Mo,19:00,SW/Pö,Gemeinsamer Dienst,Atemschutznotfalltraining +2026-04-06,Mo,19:00,Stadt Wehlen,Praxis,Leitern und Knoten +2026-04-20,Mo,19:00,SW/Pö,Gemeinsamer Dienst,Fahrzeugkunde & Beladung +2026-04-30,Do,18:00,Stadt Wehlen,Fest,Absicherung Maifeuer +2026-05-04,Mo,19:00,Stadt Wehlen,Ausbildung,Gefahren an der Einsatzstelle +2026-05-18,Mo,19:00,SW/Pö,Gemeinsamer Dienst,Löschangriff nass +2026-11-11,Mi,17:00,Stadt Wehlen,Fest,Absicherung Martinsumzug +2026-12-14,Mo,18:30,SW/Pö,Feier,Weihnachtsfeier \ No newline at end of file diff --git a/dienstplan/dienstplan.js b/dienstplan/dienstplan.js index e4d2f28..311f77e 100644 --- a/dienstplan/dienstplan.js +++ b/dienstplan/dienstplan.js @@ -1,48 +1,46 @@ -fetch("dienstplan/dienstplan.csv") +const csvPfad = "dienstplan/dienstplan.csv"; + +fetch(csvPfad) .then(res => res.text()) .then(text => { - const lines = text.trim().split("\n").slice(1); - const today = new Date(); - today.setHours(0, 0, 0, 0); + const today = new Date().setHours(0, 0, 0, 0); - const dienste = lines - .map(line => { - const [datum, tag, zeit, ort, art, beschreibung] = line.split(","); - return { - datum: new Date(datum), - tag, - zeit, - ort, - art, - beschreibung - }; - }) - .filter(d => d.datum >= today) - .sort((a, b) => a.datum - b.datum); + const termine = text.trim().split(/\r?\n/).slice(1).map(line => { + const [d, tag, zeit, ort, art, beschr] = line.split(line.includes(";") ? ";" : ","); + const [y, m, day] = d.trim().split("-"); + return { + datum: new Date(y, m - 1, day), + tag: tag.trim(), + zeit: zeit.trim(), + ort: ort.trim(), + art: art.trim(), + beschr: beschr.trim() + }; + }) + .filter(t => t.datum >= today) + .sort((a, b) => a.datum - b.datum); - const box = document.getElementById("nextDienst"); + const render = (id, filterFn) => { + const el = document.getElementById(id); + if (!el) return; + const t = termine.find(filterFn); - if (!dienste.length) { - box.innerHTML = "
Kein weiterer Dienst geplant.
"; - return; - } + if (t) { + // Formatiert das Datum zu "23.03.2026" + const dFormat = t.datum.toLocaleDateString("de-DE"); + + el.innerHTML = ` +${dFormat} | ${t.zeit} Uhr
+${t.art}
+${t.beschr} (${t.ort})
+ `; + } else { + el.innerHTML = "Keine weiteren Termine geplant
"; + } + }; - const d = dienste[0]; + render("nextDienst", t => !/fest|feier/i.test(t.art)); + render("nextEvent", t => /fest|feier/i.test(t.art)); - box.innerHTML = ` -
- ${d.datum.toLocaleDateString("de-DE")}
- ${d.tag}, ${d.zeit} Uhr
-
- ${d.art}
- ${d.beschreibung}
- ${d.ort}
-
Dienstplan konnte nicht geladen werden.
"; - console.error(err); - }); + .catch(err => console.error("Fehler beim Laden:", err)); \ No newline at end of file diff --git a/dienstplan/dienstplan_2026_1_sw.pdf b/dienstplan/dienstplan_2026_1_sw.pdf deleted file mode 100644 index c3d9836..0000000 Binary files a/dienstplan/dienstplan_2026_1_sw.pdf and /dev/null differ diff --git a/index_test.html b/index_test.html index 3db725a..3dc38c8 100644 --- a/index_test.html +++ b/index_test.html @@ -89,25 +89,21 @@