diff --git a/app/views/entries/_form.html.erb b/app/views/entries/_form.html.erb
index 7134cb1..d5c1d1b 100644
--- a/app/views/entries/_form.html.erb
+++ b/app/views/entries/_form.html.erb
@@ -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);