diff --git a/CHANGELOG.md b/CHANGELOG.md index 31e2e36..6648130 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project follows [Semantic Versioning](https://semver.org/). ## [Unreleased] +## [1.28.3] - 2026-10-21 + +### Fixed + +- Bundle deals edit form: each ticket row's quantity box filled the whole row, which pushed the ticket picker off the side and added a sideways scrollbar. The quantity box is narrow again, with the ticket picker beside it. + ## [1.28.2] - 2026-10-21 ### Changed diff --git a/frontend/src/app/dashboard/supervisor/bundles/page.tsx b/frontend/src/app/dashboard/supervisor/bundles/page.tsx index 1a0c63d..371e26a 100644 --- a/frontend/src/app/dashboard/supervisor/bundles/page.tsx +++ b/frontend/src/app/dashboard/supervisor/bundles/page.tsx @@ -46,7 +46,9 @@ const draftFromBundle = (b: EventBundle): Draft => ({ const fmtDate = (iso: string | null | undefined) => (iso ? new Date(iso).toLocaleDateString(undefined, { day: "numeric", month: "short", year: "numeric" }) : ""); const fmtRand = (n: number) => `R ${(n || 0).toFixed(2)}`; -const inputCls = "w-full border rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-brand-400"; +// fieldCls has no width, for fields sized by their row (inputCls is full width). +const fieldCls = "border rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-brand-400"; +const inputCls = `w-full ${fieldCls}`; const isPast = (ev: EventLite) => new Date(ev.endDate || ev.startDate).getTime() < Date.now(); /** Standard price of one unit of an item (variant price, else the option's). */ @@ -355,7 +357,7 @@ function BundleModal({ token, event, bundleId, initial, onClose, onSaved }: { -
+
@@ -377,9 +379,9 @@ function BundleModal({ token, event, bundleId, initial, onClose, onSaved }: { return (
- setItem(i, { quantity: e.target.value })} aria-label="Quantity" required /> + setItem(i, { quantity: e.target.value })} aria-label="Quantity" required /> × - setItem(i, { eventOptionId: e.target.value, variantId: null })} aria-label="Ticket"> {options.map(o => )}