Putzplan-Kalender: Erledigungsstatus je Aufgabe sichtbar machen

Kalender-Badges zeigen jetzt Offen/Erledigt/Bestätigt/Verpasst per Icon
und Farbe, statt nur Bereich und zuständige Person.
This commit is contained in:
Giuseppe Lombardo 2026-08-13 13:09:49 +00:00
parent fdf98a70e5
commit c385947e80

View File

@ -321,7 +321,10 @@
line-height: 1.4;
white-space: normal;
}
.calendar-badge-task { background: var(--green-bg, #E4F3EA); color: var(--green, #2f8f5b); }
.calendar-badge-task-pending { background: var(--yellow-bg, #FDF3DC); color: var(--yellow, #B4780A); }
.calendar-badge-task-completed { background: #DCEAFB; color: #2062B4; }
.calendar-badge-task-verified { background: var(--green-bg, #E4F3EA); color: var(--green, #2f8f5b); }
.calendar-badge-task-missed { background: #FBE0DE; color: #C23B2E; }
.calendar-badge-absence { background: var(--yellow-bg, #FDF3DC); color: var(--yellow, #B4780A); }
.inventory-thumb {
@ -792,7 +795,10 @@
<section id="cleaningCalendarSection">
<h2>Putzplan-Kalender &amp; Abwesenheiten</h2>
<p style="color:var(--text-muted); font-size:13px; margin-top:-8px;">
Zeigt für alle sichtbar, wer wann für welchen Bereich zuständig ist, sowie eingetragene Abwesenheiten (Urlaub, "kann nicht").
Zeigt für alle sichtbar, wer wann für welchen Bereich zuständig ist und ob die Aufgabe bereits erledigt wurde, sowie eingetragene Abwesenheiten (Urlaub, "kann nicht").
</p>
<p style="color:var(--text-muted); font-size:12px; margin-top:-8px;">
○ Offen &nbsp; ✓ Erledigt &nbsp; ✓✓ Bestätigt &nbsp; ✕ Verpasst
</p>
<div class="invite-card" style="margin-bottom:16px;">
<div id="absenceFormError" style="display:none" class="form-error"></div>
@ -2088,8 +2094,17 @@
cell.appendChild(el('div', 'calendar-day-num', String(d.getDate())));
calendarData.tasks.filter(t => sameDay(new Date(t.dueDate), d)).forEach(t => {
const label = `${t.area}${t.assignedUser ? ' · ' + t.assignedUser.fullName.split(' ')[0] : ''}`;
cell.appendChild(el('div', 'calendar-badge calendar-badge-task', label));
const statusIcon = { PENDING: '○', COMPLETED: '✓', VERIFIED: '✓✓', MISSED: '✕' }[t.status] || '';
const statusClass = {
PENDING: 'calendar-badge-task-pending',
COMPLETED: 'calendar-badge-task-completed',
VERIFIED: 'calendar-badge-task-verified',
MISSED: 'calendar-badge-task-missed',
}[t.status] || 'calendar-badge-task-pending';
const label = `${statusIcon} ${t.area}${t.assignedUser ? ' · ' + t.assignedUser.fullName.split(' ')[0] : ''}`;
const badge = el('div', `calendar-badge ${statusClass}`, label);
badge.title = `${CLEANING_STATUS_LABEL[t.status] || t.status}`;
cell.appendChild(badge);
});
calendarData.absences.filter(a => d >= stripTime(new Date(a.startDate)) && d <= stripTime(new Date(a.endDate))).forEach(a => {
cell.appendChild(el('div', 'calendar-badge calendar-badge-absence', `${a.user.fullName.split(' ')[0]} abwesend`));