Update attendance report display

This commit is contained in:
Nguyen Ngo
2025-08-15 12:48:47 -04:00
parent 944c19b98a
commit ebcd8a2318
2 changed files with 17 additions and 43 deletions
+5 -29
View File
@@ -993,40 +993,16 @@
opacity: 0.8;
}
/* Location accuracy level colors - based on distance */
.location-accuracy-badge.accuracy-excellent {
background: var(--success-light);
color: var(--success-color);
border: 1px solid rgba(5, 150, 105, 0.3);
}
/* Location accuracy level colors - 2-level system based on 0.5 mile threshold */
.location-accuracy-badge.accuracy-accurate {
background: var(--success-light);
color: var(--success-color);
border: 1px solid rgba(5, 150, 105, 0.3);
}
.location-accuracy-badge.accuracy-good {
background: #ecfdf5;
background: #dcfce7;
color: #059669;
border: 1px solid rgba(5, 150, 105, 0.2);
}
.location-accuracy-badge.accuracy-fair {
background: var(--warning-light);
color: var(--warning-color);
border: 1px solid rgba(245, 158, 11, 0.3);
}
.location-accuracy-badge.accuracy-poor {
background: var(--danger-light);
color: var(--danger-color);
border: 1px solid rgba(220, 38, 38, 0.3);
border: 1px solid rgba(5, 150, 105, 0.3);
}
.location-accuracy-badge.accuracy-inaccurate {
background: var(--danger-light);
color: var(--danger-color);
background: #fee2e2;
color: #dc2626;
border: 1px solid rgba(220, 38, 38, 0.3);
}
+12 -14
View File
@@ -657,16 +657,14 @@ function extractLocationAccuracy(cell) {
}
function extractLocationAccuracyLevel(cell) {
const text = cell.textContent.toLowerCase();
if (
text.includes("high") ||
text.includes("excellent") ||
text.includes("good")
)
return "High";
if (text.includes("medium") || text.includes("fair")) return "Medium";
if (text.includes("low") || text.includes("poor")) return "Low";
return "Unknown";
// Get the numerical accuracy value from the cell
const accuracy = extractLocationAccuracy(cell);
// Return 2-level accuracy based on 0.5-mile threshold
if (accuracy !== null && accuracy !== undefined) {
return accuracy <= 0.5 ? "accurate" : "inaccurate";
}
return "unknown";
}
function createTableRow(record, displayIndex) {
@@ -690,17 +688,17 @@ function createTableRow(record, displayIndex) {
}"
title="Distance between QR location and check-in location: ${
record.location_accuracy
} miles">
} miles - ${record.accuracy_level}">
<i class="fas fa-ruler"></i>
${record.location_accuracy.toFixed(3)} mi
<small>(${record.accuracy_level})</small>
</span>`
</span>`
: `<span class="location-accuracy-badge accuracy-unknown" title="Location accuracy could not be calculated">
<i class="fas fa-question-circle"></i>
Unknown
</span>`;
</span>`;
// FIXED: Address display logic based on location accuracy
// Address display logic based on location accuracy
let addressDisplayHTML = "";
let addressToShow = record.checked_in_address;
let addressIcon = "fas fa-location-arrow";