StealThis .dev
Pages Hard

Ticketing — Event Setup

A bold event setup wizard for organizers. A four-step flow covers event details, a live ticket-tier builder with per-tier color, price and quantity, a seating-mode switch between general admission and reserved sections, and publish toggles. Every edit drives a live ticket-style preview with color-coded tiers, sold-out flags and running capacity and gross-potential totals. Inline validation blocks publishing until the name, venue and a future date are set. Vanilla JS only.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Event Setup

An organizer-facing setup wizard for the fictional PulseTix Studio. A four-step rail — Details, Ticket tiers, Seating, Publish — frames a single scrolling editor. The details panel captures event name, date, doors time, venue, a short description and a hero color picker; the ticket-tier builder lets you add and remove color-coded tiers, each with an editable name, price and quantity that feed live capacity and gross-potential totals.

The seating panel toggles between general admission and reserved seating, revealing an editable list of sections with capacities when reserved is chosen. Publish settings expose toggles for public listing, sold-out waitlists and ticket transfers, plus an on-sale date. Throughout, a sticky preview renders a perforated ticket card with QR motif, color-coded tier rows, sold-out badges, the chosen hero color and a draft/live status badge that updates as you type.

Publishing runs inline validation: required name and venue, a future date, named tiers and non-zero capacity. Failed fields highlight in red and a toast points you to them; on success the status pill and preview badge flip to Live. A small toast() helper confirms tier and section edits, and the layout reflows from a two-column desktop view down to a single column at ~360px.

Illustrative UI only — fictional events, not a real ticketing service.