Event addons bookable

This commit is contained in:
2026-08-12 16:45:02 +02:00
parent e95de52768
commit 0ee952212b
25 changed files with 656 additions and 24 deletions
@@ -7,6 +7,7 @@ const PAYMENT_ACCOUNT_TRANSACTION = 'PAYMENT_ACCOUNT_TRANSACTION'
const props = defineProps({
formData: Object,
event: Object,
selectedAddons: {type: Object, default: () => ({})},
summaryAmount: String,
summaryAmountValue: {type: Number, default: 0},
summaryLoading: Boolean,
@@ -35,6 +36,16 @@ const paymentConfirmationText = computed(() => {
// Zurück führt zur Zahlungsart (10), sofern dieser Schritt gezeigt wurde; bei 0 € direkt zu Allergien (9).
const backTarget = computed(() => props.summaryAmountValue > 0 ? 10 : 9)
// Gewählte Zusätze (Event-Addons) für die Zusammenfassung mit Preisanzeige.
const selectedAddonList = computed(() =>
(props.event.addons ?? [])
.filter(addon => props.selectedAddons[addon.key])
.map(addon => ({
title: addon.title,
price: addon.free ? 'Kostenfrei' : (addon.priceReadable + (addon.flat ? '' : ' / Tag')),
}))
)
// Gewählte Teilnahmeoptionen für die Zusammenfassung (label statt value anzeigen).
const selectedParticipationOptions = computed(() =>
(props.event.participationOptions ?? []).map(question => {
@@ -129,6 +140,11 @@ function eatingHabit() {
<td>{{ option.value }}</td>
</tr>
<tr v-for="addon in selectedAddonList" :key="addon.title">
<td>{{ addon.title }}:</td>
<td>{{ addon.price }}</td>
</tr>
<tr>
<td>Foto-Erlaubnis:</td>
<td>