// 432 Bleu — Box Office · main app // // OPTIMIZATION NOTES (future): // - Replace Babel CDN + runtime JSX with a Vite build — removes ~1MB of babel.min.js overhead // - Add og:image + og:description meta tags to index.html for social sharing previews // - Lazy-load TicketDrawer (never needed on initial render) const { useState: uS, useEffect: uE } = React; function addToCalendar(show) { const start = new Date(show.dateISO); const end = new Date(start.getTime() + 3 * 60 * 60 * 1000); const fmt = (d) => d.toISOString().replace(/[-:]/g, '').split('.')[0] + 'Z'; const url = 'https://calendar.google.com/calendar/render?action=TEMPLATE' + '&text=' + encodeURIComponent('432.BLEU — ' + show.artist) + '&dates=' + fmt(start) + '/' + fmt(end) + '&details=' + encodeURIComponent(show.tagline + '\n\nhttps://boxoffice.432bleu.com') + '&location=' + encodeURIComponent('432.BLEU · ' + show.room); window.open(url, '_blank'); } const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#00f0ff", "intensity": 0.7, "heroLayout": "split" } /*EDITMODE-END*/; function useViewport() { const [w, setW] = uS(typeof window !== 'undefined' ? window.innerWidth : 1200); uE(() => { const on = () => setW(window.innerWidth); window.addEventListener('resize', on); return () => window.removeEventListener('resize', on); }, []); return w; } function BoxOffice() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); const [active, setActive] = uS(null); // selected show for drawer const [filter, setFilter] = uS('all'); const [shows, setShows] = uS([]); const [loading, setLoading] = uS(true); const vw = useViewport(); const mobile = vw < 760; const accent = t.accent; uE(() => { fetchShows().then(setShows).finally(() => setLoading(false)); }, []); const [headline, ...rest] = shows; const filtered = rest.filter((s) => { if (filter === 'all') return true; if (filter === 'available') return s.status !== 'sold-out'; return s.status === filter; }); return (
setActive(null)} /> setTweak('accent', v)} /> setTweak('intensity', v)} /> setTweak('heroLayout', v)} />
); } /* ───────────────────────── LOADING / EMPTY ───────────────────────── */ function LoadingState() { return (
TUNING IN…
); } function EmptyState({ accent }) { return (
NO SIGNAL

No upcoming shows

Check back soon — the season is being tuned.

); } /* ───────────────────────── NAV ───────────────────────── */ function Nav({ accent, mobile }) { return ( ); } /* ───────────────────────── HERO ───────────────────────── */ function Hero({ show, accent, mobile, layout, onGet }) { const meta = STATUS_META[show.status]; const centered = layout === 'centered'; const eyebrow =
SEASON OPENER · {show.hz} Hz
; const title =

{show.artist}

; const tagline =

{show.tagline}

; const datestack =
{[['DATE', show.dateLabel], ...(show.doorsLabel ? [['DOORS', show.doorsLabel]] : []), ['SHOW', show.timeLabel], ['ROOM', show.room]].map(([k, v]) =>
{k}
{v}
)}
; const tierline =
{show.tiers.map((tr) =>
{tr.name} {formatPrice(tr)}
)}
; const cta =
; // shared blob backdrop const blob = (opacity, scale) =>
; if (centered) { return (
{eyebrow}{title}{tagline}{datestack}{tierline}{cta}
); } // split layout return (
{eyebrow}{title}{tagline}{datestack}{cta}
{tierline}
); } function StatusPill({ status, accent }) { const meta = STATUS_META[status]; const colorMap = { cyan: accent, lime: BLEU.lime, mute: 'rgba(255,255,255,0.4)' }; const c = colorMap[meta.key]; return ( {meta.label} ); } /* ───────────────────────── CALENDAR ───────────────────────── */ function Calendar({ shows, accent, mobile, filter, setFilter, onPick }) { const filters = [['all', 'ALL'], ['available', 'AVAILABLE'], ['sold-out', 'SOLD OUT']]; return (
THE SEASON · JUN 2026

Upcoming nights

{filters.map(([k, label]) => )}
{shows.length === 0 &&
NO NIGHTS MATCH THIS FILTER.
} {shows.map((s, i) => )}
); } function ShowRow({ show, accent, mobile, onPick, first }) { const [hov, setHov] = uS(false); const soldOut = show.status === 'sold-out'; if (mobile) { return (
onPick(show)} style={{ border: '1px solid rgba(95,230,221,0.16)', padding: '18px', cursor: 'pointer', background: 'rgba(6,29,40,0.4)' }}>
{show.dateLabel}
{show.artist}
{show.doorsLabel ? `DOORS ${show.doorsLabel} · SHOW ` : ''}{show.timeLabel} · {show.room}
FROM {priceFrom(show)} {soldOut ? 'WAITLIST →' : 'TICKETS →'}
); } return (
onPick(show)} onMouseEnter={() => setHov(true)} onMouseLeave={() => setHov(false)} style={{ display: 'grid', gridTemplateColumns: '150px 1fr 150px 150px 160px', alignItems: 'center', gap: 20, padding: '24px 18px', cursor: 'pointer', borderTop: first ? 'none' : '1px solid rgba(95,230,221,0.12)', background: hov ? 'rgba(0,240,255,0.05)' : 'transparent', transition: 'background 0.2s ease, padding-left 0.2s ease', paddingLeft: hov ? 28 : 18, position: 'relative' }}> {hov &&
}
{show.dateLabel}
{show.doorsLabel ? `DOORS ${show.doorsLabel} · SHOW ` : ''}{show.timeLabel}
{show.artist}
{show.tagline}
{show.room}
FROM
{priceFrom(show)}
); } /* ───────────────────────── FOOTER ───────────────────────── */ function FooterBlock({ accent, mobile }) { return (
432 BLEU

A members-first room tuned to 432 Hz. Where you can go out an stay in at the same time. Doors hour before show· last call when the room says so.

{[['VISIT', ['SECTOR 11', 'THE WAREHOUSE DISTRICT', 'NO STREET NUMBER']], ['HOURS', ['THU–SUN', 'DOORS 23:00', 'CLOSE — ???']], ['SIGNAL', ['@432.BLEU', 'JOIN THE LIST', 'PRESS / GUESTLIST']]].map(([h, items]) =>
{h}
{items.map((x) => {x} )}
)}
); } ReactDOM.createRoot(document.getElementById('root')).render();