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 = `
          <p class="mb-3"><strong>${dFormat} | ${t.zeit} Uhr</strong></p>
          <p class="mb-1"><strong>${t.art}</strong></p>
          <p class="small text-secondary mb-0">${t.beschr} (${t.ort})</p>
        `;
      } else {
        el.innerHTML = "<p class='small text-muted'>Keine weiteren Termine geplant</p>";
      }
    };

    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));