{module.description}
- {isModuleDisabled(module) && ( -- {module.requirements && module.requirements.some(reqId => !selectedModules.includes(reqId)) - ? "Benötigt weitere Module" - : "Nicht kombinierbar mit aktueller Auswahl"} -
- )} -{cat.description}
+ )} ++ Keine Produkte in dieser Kategorie vorhanden. +
+ ) : ( +Zusatzmodule:
+ {selectedProduct.modules.map(module => { + const disabled = isModuleDisabled(module, sel?.moduleIds ?? []) + const checked = sel?.moduleIds.includes(module.id) ?? false + return ( +{module.description}
+ )} + {disabled && ( ++ {module.requirements?.some( + reqId => !sel?.moduleIds.includes(reqId) + ) + ? 'Benötigt weitere Module' + : 'Nicht kombinierbar mit aktueller Auswahl'} +
+ )} +
+
Inklusive: {selectedModules.length > 0 ? selectedModules.map(id => selectedProduct?.modules?.find(m => m.id === id)?.name).join(', ') : 'Keine Zusatzmodule'}
-{customerData.company_name}
-{customerData.address}, {customerData.zip_code} {customerData.city}
+ {categories.map(cat => { + const sel = selections[cat.id] + const prod = products.find(p => p.id === sel?.productId) + if (!prod) return null + const catTotal = + Number(prod.base_price) + + sel.moduleIds.reduce((acc, mId) => { + const mod = prod.modules?.find(m => m.id === mId) + return acc + Number(mod?.price ?? 0) + }, 0) + return ( ++ Module: {sel.moduleIds + .map(id => prod.modules?.find(m => m.id === id)?.name) + .filter(Boolean) + .join(', ')} +
+ )} +{customerData.company_name}
++ {customerData.first_name} {customerData.last_name} +
++ {customerData.address}, {customerData.zip_code} {customerData.city} +
- Mit dem Klick auf "Kostenpflichtig bestellen" akzeptieren Sie unsere AGB und die Datenschutzerklärung. +
+ Mit dem Klick auf „Kostenpflichtig bestellen" akzeptieren Sie unsere AGB und die + Datenschutzerklärung.