Add custom activity support and clear booking data on submission

This commit is contained in:
2026-08-17 12:55:47 +02:00
parent 020f3ef746
commit 4766a7d525
7 changed files with 248 additions and 53 deletions
+15 -10
View File
@@ -10,7 +10,12 @@
const activityIcon = document.getElementById("activityIcon");
const checkoutBtn = document.getElementById("checkoutBtn");
const selectedActivity = localStorage.getItem("selectedActivity");
function cleanPrefix(str) {
if (!str) return "";
return str.replace(/^(Etwas eigenes|Sonstiges):\s*/i, "");
}
const selectedActivity = cleanPrefix(localStorage.getItem("selectedActivity"));
const selectedDate = localStorage.getItem("selectedDate");
const selectedName = localStorage.getItem("selectedName");
@@ -57,8 +62,12 @@
checkoutBtn.textContent = "Wird übermittelt... 💌";
const payload = {
activity: selectedActivity,
activities: storedActivities,
activity: cleanPrefix(selectedActivity),
activities: storedActivities.map((a) => ({
...a,
name: cleanPrefix(a.name),
customDescription: cleanPrefix(a.customDescription || a.name),
})),
date: selectedDate,
dateType: localStorage.getItem("selectedDateType") || "long",
name: selectedName,
@@ -79,13 +88,9 @@
})
.then((data) => {
if (data.success) {
try {
const localBooked = JSON.parse(localStorage.getItem("bookedDates") || "[]");
if (!localBooked.includes(selectedDate)) {
localBooked.push(selectedDate);
localStorage.setItem("bookedDates", JSON.stringify(localBooked));
}
} catch (e) {}
// Alle lokal gespeicherten Daten (inkl. bookedDates und ausgewählter Werte) leeren,
// damit bei der nächsten Buchung alles frisch geladen / neu ausgewählt wird.
localStorage.clear();
summarySection.classList.add("hidden");
if (backLink) {