-
-
{entry.product.name}
-
- {!inBouquet && (
-
- )}
-
-
-
-
-
- {entry.quantity}
-
- {entry.product.price && (
- {fmt(entryUnitPrice(entry) * entry.quantity)}
- )}
-
- {entry.selectedColors.length > 0 && (
-
- Colors: {entry.selectedColors.join(', ')}
-
- )}
- {Object.entries(entry.modifierChoices).map(([listId, optIds]) => {
- if (!optIds.length) return null
- const ml = entry.product.modifiers?.find((m) => m.id === listId)
- if (!ml) return null
- const labels = optIds.map((id) => {
- const opt = ml.options.find((o) => o.id === id)
- if (!opt) return id
- return opt.priceDelta ? `${opt.name} (+${fmt(opt.priceDelta)})` : opt.name
- })
- return (
-
- {ml.name}: {labels.join(', ')}
-
- )
- })}
- {entry.notes && (
-
- “{entry.notes}”
-
- )}
+ ) : (
+ cartGroups.map((group) => {
+ if (group.kind === 'single') return renderEntry(group.entry)
+ const bouquetTotal = group.items.reduce((sum, e) => sum + entryUnitPrice(e) * e.quantity, 0)
+ return (
+
+
+
Your Bouquet
+
+ {bouquetTotal > 0 && {fmt(bouquetTotal)}}
+
+ {group.items.map((e) => renderEntry(e, true))}
)
-
- return groups.map((group) => {
- if (group.kind === 'single') return renderEntry(group.entry)
-
- const bouquetTotal = group.items.reduce((sum, e) => sum + entryUnitPrice(e) * e.quantity, 0)
- return (
-
-
-
Your Bouquet
-
- {bouquetTotal > 0 && {fmt(bouquetTotal)}}
-
-
-
- {group.items.map((e) => renderEntry(e, true))}
-
- )
- })
- })()
+ })
)}
>
)