|
|
|
@ -223,6 +223,26 @@ |
|
|
|
clearFields(); // alle Quellen löschen |
|
|
|
} |
|
|
|
|
|
|
|
function calculateEndTimeFromStart() { |
|
|
|
if (!startInput.value || baseTotalMinutes === 0) return; |
|
|
|
|
|
|
|
const [sh, sm] = startInput.value.split(":").map(Number); |
|
|
|
const startDate = new Date(2000, 0, 1, sh, sm); |
|
|
|
|
|
|
|
let minutesToAdd = baseTotalMinutes; |
|
|
|
if (breakCheckbox && breakCheckbox.checked) minutesToAdd = Math.max(0, baseTotalMinutes - 30); |
|
|
|
|
|
|
|
const endDate = new Date(startDate.getTime() + minutesToAdd * 60000); |
|
|
|
const hh = String(endDate.getHours()).padStart(2, '0'); |
|
|
|
const mm = String(endDate.getMinutes()).padStart(2, '0'); |
|
|
|
|
|
|
|
endInput.value = `${hh}:${mm}`; |
|
|
|
} |
|
|
|
|
|
|
|
startInput.addEventListener("change", function () { |
|
|
|
calculateEndTimeFromStart(); |
|
|
|
}); |
|
|
|
|
|
|
|
// Listeners |
|
|
|
if (startInput && endInput) { |
|
|
|
startInput.addEventListener("change", calculateFromTimes); |
|
|
|
|