diff --git a/index.php b/index.php index be24198..6fa192a 100644 --- a/index.php +++ b/index.php @@ -232,7 +232,7 @@ $status_colors = [ data-person-name="" data-bni-group-id="" data-meeting-datetime="" - data-initial-status="" + data-current-status="" title="Status: "> @@ -596,7 +596,7 @@ document.addEventListener('DOMContentLoaded', function () { function updateDot(dot, status) { const color = statusColors[status] || 'secondary'; dot.className = `badge rounded-circle bg-${color} meeting-dot`; - dot.dataset.initialStatus = status; + dot.dataset.currentStatus = status; dot.title = `Status: ${status.charAt(0).toUpperCase() + status.slice(1)}`; } @@ -609,7 +609,13 @@ document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll(`.meeting-dot[data-bni-group-id='${groupId}']`).forEach(dot => { dot.dataset.meetingDatetime = meetingDate; const personId = dot.dataset.personId; - let status = dot.dataset.initialStatus; // Keep default if no record + + const personRow = dot.closest('tr'); + const personGroupId = personRow.dataset.groupId; + const isMember = personGroupId == groupId; + let defaultStatus = isMember ? 'present' : 'none'; + + let status = defaultStatus; if (data.attendance[personId]) { status = data.attendance[personId].attendance_status; } @@ -630,7 +636,7 @@ document.addEventListener('DOMContentLoaded', function () { const personName = dot.dataset.personName; const bniGroupId = dot.dataset.bniGroupId; const meetingDatetime = dot.dataset.meetingDatetime; - const initialStatus = dot.dataset.initialStatus; + const currentStatus = dot.dataset.currentStatus || 'none'; // The person's own group is on the TR element const personGroupId = dot.closest('tr').dataset.groupId; @@ -641,7 +647,7 @@ document.addEventListener('DOMContentLoaded', function () { meetingPersonName.textContent = personName; meetingGroupId.value = bniGroupId; meetingDateInput.value = meetingDatetime; - attendanceStatus.value = initialStatus; + attendanceStatus.value = currentStatus; // Show/hide guest survey guestSurveySection.style.display = !isMember ? 'block' : 'none';