49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
fetch("dienstplan/dienstplan.csv")
|
|
.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 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 box = document.getElementById("nextDienst");
|
|
|
|
if (!dienste.length) {
|
|
box.innerHTML = "<p>Kein weiterer Dienst geplant.</p>";
|
|
return;
|
|
}
|
|
|
|
const d = dienste[0];
|
|
|
|
box.innerHTML = `
|
|
<p>
|
|
<strong>${d.datum.toLocaleDateString("de-DE")}</strong><br>
|
|
${d.tag}, ${d.zeit} Uhr
|
|
</p>
|
|
<p>
|
|
<strong>${d.art}</strong><br>
|
|
${d.beschreibung}<br>
|
|
<small class="text-muted">${d.ort}</small>
|
|
</p>
|
|
`;
|
|
})
|
|
.catch(err => {
|
|
document.getElementById("nextDienst").innerHTML =
|
|
"<p class='text-danger'>Dienstplan konnte nicht geladen werden.</p>";
|
|
console.error(err);
|
|
});
|