feat: improve VIP table display and rewrite seed service for new paradigm
- EventList VIP column: compact layout with max 2 names shown, party size badges, "+N more" indicator, and total passenger count - Seed service: 20 VIPs with party sizes, 8 drivers, 8 vehicles, 13 master events over 3 days with linked transport legs, realistic capacity planning and conflict-free driver/vehicle assignments Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -415,11 +415,28 @@ export function EventList() {
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-6 py-4 text-sm text-muted-foreground">
|
||||
{event.vips && event.vips.length > 0
|
||||
? event.vips.map(vip =>
|
||||
vip.partySize > 1 ? `${vip.name} (+${vip.partySize - 1})` : vip.name
|
||||
).join(', ')
|
||||
: 'No VIPs assigned'}
|
||||
{event.vips && event.vips.length > 0 ? (
|
||||
<div className="max-w-[220px] space-y-0.5">
|
||||
{event.vips.slice(0, 2).map(vip => (
|
||||
<div key={vip.id} className="flex items-center gap-1 text-xs">
|
||||
<span className="truncate font-medium text-foreground">{vip.name}</span>
|
||||
{vip.partySize > 1 && (
|
||||
<span className="shrink-0 px-1 py-0.5 rounded bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300 text-[10px] leading-none font-medium">
|
||||
+{vip.partySize - 1}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
{event.vips.length > 2 && (
|
||||
<div className="text-[11px] text-primary">+{event.vips.length - 2} more</div>
|
||||
)}
|
||||
<div className="text-[10px] text-muted-foreground/70 pt-0.5">
|
||||
{event.vips.reduce((sum, v) => sum + (v.partySize || 1), 0)} pax total
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<span className="text-muted-foreground/70 italic text-xs">No VIPs</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-6 py-4 whitespace-nowrap text-sm text-muted-foreground">
|
||||
{event.vehicle ? (
|
||||
|
||||
Reference in New Issue
Block a user