diff --git a/public/css/style.css b/public/css/style.css
index 8e0863a..28b4fa1 100644
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -388,9 +388,12 @@ table input[type="text"] {
}
.summary-item {
- display: flex;
- justify-content: space-between;
font-size: 18px;
+ margin-bottom: 10px;
+}
+
+.summary-item strong {
+ margin-right: 5px;
}
/* Actions */
@@ -410,6 +413,13 @@ table input[type="text"] {
padding: 30px;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+ width: 100%;
+}
+
+/* Admin Container - volle Breite */
+.admin-container .container {
+ max-width: 100%;
+ padding: 20px;
}
.add-user-form {
diff --git a/public/js/dashboard.js b/public/js/dashboard.js
index 05dd25e..408d890 100644
--- a/public/js/dashboard.js
+++ b/public/js/dashboard.js
@@ -61,9 +61,6 @@ document.addEventListener('DOMContentLoaded', async function() {
console.warn('Konnte letzte Woche nicht vom Server laden:', error);
}
- // Statistiken laden
- loadUserStats();
-
// Ping-IP laden
loadPingIP();
@@ -495,16 +492,6 @@ function renderWeek() {
}
});
- // Überstunden-Anzeige erstellen (falls noch nicht vorhanden)
- let overtimeDisplay = document.getElementById('overtimeDisplay');
- if (!overtimeDisplay) {
- const summaryDiv = document.querySelector('.summary');
- overtimeDisplay = document.createElement('div');
- overtimeDisplay.id = 'overtimeDisplay';
- overtimeDisplay.className = 'summary-item';
- summaryDiv.appendChild(overtimeDisplay);
- }
-
// Überstunden-Berechnung aufrufen
updateOvertimeDisplay();
@@ -609,17 +596,15 @@ function updateOvertimeDisplay() {
// Überstunden = (Tatsächliche Stunden + Urlaubsstunden) - Sollstunden
const totalHoursWithVacation = totalHours + vacationHours;
const overtimeHours = totalHoursWithVacation - sollStunden;
- const remainingOvertime = overtimeHours - overtimeTaken;
// Überstunden-Anzeige aktualisieren
- const overtimeDisplay = document.getElementById('overtimeDisplay');
- if (overtimeDisplay) {
- overtimeDisplay.innerHTML = `
- Überstunden diese Woche:
- ${overtimeHours.toFixed(2)} h
- ${overtimeTaken > 0 ? `
Davon genommen: ${overtimeTaken.toFixed(2)} h` : ''}
- ${remainingOvertime !== overtimeHours ? `
Verbleibend: ${remainingOvertime.toFixed(2)} h` : ''}
- `;
+ const overtimeSummaryItem = document.getElementById('overtimeSummaryItem');
+ const overtimeHoursSpan = document.getElementById('overtimeHours');
+ if (overtimeSummaryItem && overtimeHoursSpan) {
+ overtimeSummaryItem.style.display = 'block';
+ const sign = overtimeHours >= 0 ? '+' : '';
+ overtimeHoursSpan.textContent = `${sign}${overtimeHours.toFixed(2)} h`;
+ overtimeHoursSpan.style.color = overtimeHours >= 0 ? '#27ae60' : '#e74c3c';
}
}
@@ -1187,7 +1172,7 @@ async function submitWeekWithReason(versionReason) {
const versionText = result.version ? ` (Version ${result.version})` : '';
alert(`Stundenzettel wurde erfolgreich eingereicht${versionText}!`);
loadWeek(); // Neu laden um Status zu aktualisieren
- loadUserStats(); // Statistiken aktualisieren
+ // Statistiken werden durch updateOvertimeDisplay() aktualisiert
} else {
console.error('Fehler-Details:', result);
alert(result.error || 'Fehler beim Einreichen des Stundenzettels');
diff --git a/views/admin.ejs b/views/admin.ejs
index 1ea9144..8f541ca 100644
--- a/views/admin.ejs
+++ b/views/admin.ejs
@@ -25,8 +25,9 @@
-