const csvPfad = "dienstplan/dienstplan.csv"; fetch(csvPfad) .then(res => res.text()) .then(text => { const today = new Date().setHours(0, 0, 0, 0); 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 render = (id, filterFn) => { const el = document.getElementById(id); if (!el) return; const t = termine.find(filterFn); 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

"; } }; render("nextDienst", t => !/fest|feier/i.test(t.art)); render("nextEvent", t => /fest|feier/i.test(t.art)); }) .catch(err => console.error("Fehler beim Laden:", err));