- {items.map((item, idx) => (
-
-
-
-
- {item.device_name || `Kasse ${idx + 1}`}
-
-
- {item.billing_interval === 'one_time' ? 'Kauf' : 'Abo'}
-
-
-
{item.product_name}
- {item.license_number && (
-
Lizenz: {item.license_number}
- )}
- {item.selected_modules && item.selected_modules.length > 0 && (
-
- {item.selected_modules.map((mod: any, mIdx: number) => (
-
- + {mod.module_name || mod.name} {mod.quantity > 1 ? `(${mod.quantity}x)` : ''}
+
+ {items.map((item, idx) => {
+ const devName = item.device_name || `K${idx + 1}`
+ const licNum = item.license_number
+ const modules = item.selected_modules || []
+
+ return (
+
+ {/* Kassen Container Header: Name + Lizenznummer daneben */}
+
+
+
+ {devName}
- ))}
+ {licNum && (
+
+ Lizenz:
+ {licNum}
+
+ )}
+
+
+ {item.billing_interval === 'one_time' ? 'Kauf' : 'Abo'}
+
- )}
-
- ))}
+
+ {/* Inhalt: Hauptprodukt & Module nach Kategorien */}
+
+
+ {item.product_name}
+ {((item as any).price || item.base_price) && (
+ {fmt((item as any).price || item.base_price)}
+ )}
+
+
+ {modules.length > 0 && (
+
+
+ Enthaltene Zusatzmodule:
+
+
+ {modules.map((mod: any, mIdx: number) => (
+
+ + {mod.module_name || mod.name}
+ {mod.quantity > 1 ? ({mod.quantity}x) : ''}
+
+ ))}
+
+
+ )}
+
+
+ )
+ })}
)}
diff --git a/shop/components/customer-accordion-list.tsx b/shop/components/customer-accordion-list.tsx
index bdbce0a..72373b3 100644
--- a/shop/components/customer-accordion-list.tsx
+++ b/shop/components/customer-accordion-list.tsx
@@ -68,13 +68,22 @@ function DeviceCard({
`&device_id=${encodeURIComponent(device.deviceId)}`
return (
-
+
{/* Kassen-Info links */}
-
- {/* Kassen-Name + Status */}
-
-
-
{device.deviceName}
+
+ {/* Kassen-Name + Lizenznummer daneben + Status */}
+
+
+ {device.deviceName}
+
+
+ {device.items[0]?.license_number && (
+
+ Lizenz:
+ {device.items[0].license_number}
+
+ )}
+