+ #{device.orderNumber} • Erstellt am{' '} + {new Date(device.createdAt).toLocaleDateString('de-DE', { + day: '2-digit', + month: '2-digit', + year: 'numeric', + })} +
+ + {/* Produkt + Modul Chips */} + {chips.length > 0 && ( +Gesamtwert
++ {new Intl.NumberFormat('de-DE', { + style: 'currency', + currency: 'EUR', + }).format(device.totalPrice)} +
+- {[customer.first_name, customer.last_name].filter(Boolean).join(' ') || 'Kein Ansprechpartner'} + {[customer.first_name, customer.last_name].filter(Boolean).join(' ') || + 'Kein Ansprechpartner'} {customer.city ? ` • ${customer.city}` : ''} {customer.email ? ` • ${customer.email}` : ''}
@@ -141,9 +265,10 @@ export function CustomerAccordionList({ customers }: CustomerAccordionListProps)- Zugeordnete Kassen & Systeme ({orders.length}) + Zugeordnete Kassen ({devices.length})
- {orders.map((order) => { - const items = order.order_data?.items || [] - - return ( -- #{order.order_number} • Erstellt am{' '} - {new Date(order.created_at).toLocaleDateString('de-DE', { - day: '2-digit', - month: '2-digit', - year: 'numeric', - })} -
- - {/* Module / Produkte summary */} - {items.length > 0 && ( -- Gesamtwert -
-- {new Intl.NumberFormat('de-DE', { - style: 'currency', - currency: 'EUR', - }).format(order.total_price)} -
-Upgrade-Modus: {lockedDeviceId}
+Bereits lizenzierte Module sind ausgegraut und können nicht doppelt gebucht werden.
+Zusatzmodule:
{selectedProduct.modules.map(module => { - const disabled = isModuleDisabled(module, sel?.moduleIds ?? []) - const checked = sel?.moduleIds.includes(module.id) ?? false + const isExistingLicense = existingModuleIds.includes(module.id) + const disabled = isExistingLicense || isModuleDisabled(module, sel?.moduleIds ?? []) + const checked = isExistingLicense || (sel?.moduleIds.includes(module.id) ?? false) return ({module.description}
)} - {disabled && ( + {!isExistingLicense && disabled && ({module.requirements?.length && !module.requirements.some( reqId => sel?.moduleIds.includes(reqId) @@ -258,7 +281,7 @@ export function StepSoftware({