From c19aafeda1dc8bf30b696def5da5c2c8ff7e8b93 Mon Sep 17 00:00:00 2001 From: bernd Date: Thu, 13 Aug 2026 19:17:48 +0000 Subject: [PATCH] Erledigte (vergangene) Ankuendigungen in der Mieteransicht automatisch ausblenden, im WG-Kalender bleiben sie sichtbar --- web-dashboard/index.html | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/web-dashboard/index.html b/web-dashboard/index.html index 7acc29b..1f29107 100644 --- a/web-dashboard/index.html +++ b/web-dashboard/index.html @@ -3544,15 +3544,27 @@ } } + // Eine Ankündigung gilt als "erledigt", sobald ihr Termin (eventDate) + // verstrichen ist — Ankündigungen ohne Termin haben kein automatisches + // "erledigt"-Signal und bleiben bestehen, bis der Vermieter sie löscht. + function isAnnouncementPast(a) { + return !!a.eventDate && stripTime(new Date(a.eventDate)) < stripTime(new Date()); + } + function renderAnnouncements(announcements) { const isLandlord = currentUser.role === 'LANDLORD' || currentUser.role === 'ADMIN'; + // Für Mieter verschwinden erledigte (vergangene) Ankündigungen automatisch + // aus dieser Liste — im WG-Kalender bleiben sie weiterhin sichtbar. + // Der Vermieter sieht auch vergangene Ankündigungen, um sie ggf. löschen + // zu können. + const visibleAnnouncements = isLandlord ? announcements : announcements.filter(a => !isAnnouncementPast(a)); const list = document.getElementById('announcementList'); list.innerHTML = ''; - if (!announcements.length) { + if (!visibleAnnouncements.length) { list.appendChild(el('div', 'empty-state', 'Keine Ankündigungen.')); return; } - announcements.forEach(a => { + visibleAnnouncements.forEach(a => { const row = el('div', 'ticket-row'); const left = el('div'); left.appendChild(el('div', 'title', a.title));