diff --git a/web/templates/public/booking.gohtml b/web/templates/public/booking.gohtml
index 4a8b729..6dc0c2c 100644
--- a/web/templates/public/booking.gohtml
+++ b/web/templates/public/booking.gohtml
@@ -147,7 +147,8 @@
+ > {{ printf ( pgettext "I have read and I accept the reservation conditions" "input" ) (print "/" currentLocale "/legal/reservation") | raw }}
+
{{ template "error-message" . }}
{{- end }}
@@ -158,25 +159,54 @@
{{- end }}
{{- end }}
diff --git a/web/templates/public/campsite/type.gohtml b/web/templates/public/campsite/type.gohtml
index b0be5ef..a35dd91 100644
--- a/web/templates/public/campsite/type.gohtml
+++ b/web/templates/public/campsite/type.gohtml
@@ -142,6 +142,33 @@
const right = calendar.querySelector('header button:last-of-type');
right.addEventListener('click', () => carousel.scrollLeft += month.clientWidth);
})();
+
+ (function () {
+ 'use strict';
+
+ const arrivalDateField = document.querySelector('[name="arrival_date"]');
+ if (!arrivalDateField) {
+ return;
+ }
+
+ arrivalDateField.addEventListener('change', function (event) {
+ const arrivalDate = new Date(event.target.value);
+ if (isNaN(arrivalDate)) {
+ return;
+ }
+ const departureDateField = document.querySelector('[name="departure_date"]');
+ if (!departureDateField) {
+ return;
+ }
+ const departureDate = new Date(departureDateField.value);
+ if (!isNaN(departureDate) && departureDate >= arrivalDate) {
+ return;
+ }
+ console.log('fuck you', departureDate);
+ arrivalDate.setUTCDate(arrivalDate.getUTCDate() + 1);
+ departureDateField.value = `${arrivalDate.getFullYear()}-${arrivalDate.getMonth() < 9 ? '0' : ''}${(arrivalDate.getMonth() + 1)}-${arrivalDate.getDate()}`
+ })
+ })();
{{- end }}