/* WHY NOT? POKER NIGHT × FONTAINEBLEAU LAS VEGAS — private registration */ const { useState, useEffect, useMemo, useRef } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "heroImage": "Poker Night", "accent": "#89764A", "eventDate": "Thursday, September 17, 2026", "eventTime": "6:00 PM", "venue": "Solo Lounge" }/*EDITMODE-END*/; const HERO_IMAGES = { "Poker Night": "fontainebleau/assets/hero-poker.jpg", "Penthouse": "fontainebleau/assets/hero-penthouse.jpg", "Lobby": "fontainebleau/assets/lobby.jpg", "Exterior": "fontainebleau/assets/exterior.jpg", }; const TIERS = [ { id: "salon", name: "Salon Seat", suit: "\u2660", price: 2500, unit: "per seat", perSeat: true, list: ["Private tournament entry & chip stack", "Champagne reception & seated dinner", "Bowtie welcome gift & commemorative chips"], }, { id: "table", name: "Reserved Table", suit: "\u2666", price: 18000, unit: "table of eight", perSeat: false, seats: 8, list: ["Eight seats, premier salon placement", "Dedicated host & reserved bottle service", "Recognition on event signage", "Welcome gifts for the full table"], }, { id: "patron", name: "Founding Patron", suit: "\u2663", price: 40000, unit: "presenting partner", perSeat: false, seats: 8, list: ["Branded table of eight, prime placement", "Private suite access for up to ten guests", "Logo on step-and-repeat & program", "Overnight suite at Fontainebleau Las Vegas"], }, ]; const fmt = (n) => n.toLocaleString("en-US"); /* ---------- scroll utilities ---------- */ function useReveal() { useEffect(() => { const els = [...document.querySelectorAll(".reveal")]; const reveal = (el) => el.classList.add("in"); const check = () => { const h = window.innerHeight || 800; els.forEach((el) => { if (el.classList.contains("in")) return; const r = el.getBoundingClientRect(); if (r.top < h * 0.92 && r.bottom > 0) reveal(el); }); }; check(); window.addEventListener("scroll", check, { passive: true }); window.addEventListener("resize", check); let io; if ("IntersectionObserver" in window) { io = new IntersectionObserver( (entries) => entries.forEach((e) => { if (e.isIntersecting) reveal(e.target); }), { threshold: 0, rootMargin: "0px 0px -6% 0px" } ); els.forEach((el) => io.observe(el)); } const safety = setTimeout(() => els.forEach(reveal), 2600); return () => { window.removeEventListener("scroll", check); window.removeEventListener("resize", check); io && io.disconnect(); clearTimeout(safety); }; }, []); } function useScrolled() { const [s, setS] = useState(false); useEffect(() => { const onScroll = () => setS(window.scrollY > 60); window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, []); return s; } const scrollTo = (id) => document.getElementById(id)?.scrollIntoView({ behavior: "smooth", block: "start" }); const SuitRule = ({ className = "" }) => (
); /* ---------- NAV ---------- */ function Nav() { const scrolled = useScrolled(); return ( ); } /* ---------- HERO SLIDER (splash + venue gallery in one) ---------- */ const SLIDES = [ { kind: "splash", img: "https://whynotfoundation.org/wp-content/uploads/2026/06/hero-westbrook-v3.jpg" }, { kind: "venue", img: "fontainebleau/assets/exterior.jpg", title: "Fontainebleau Las Vegas", sub: "The Strip's most anticipated address." }, { kind: "venue", img: "fontainebleau/assets/lobby.jpg", title: "The Grand Lobby", sub: "Brass, marble, and a thousand roses beneath the dome." }, { kind: "venue", img: "fontainebleau/assets/bleaubar.jpg", title: "The Casino Floor", sub: "The social heart of the room, crowned in light." }, { kind: "venue", img: "fontainebleau/assets/hero-penthouse.jpg", title: "The Penthouse Salon", sub: "Where our private evening of play unfolds, high above the city." }, ]; function Hero({ t }) { const [i, setI] = useState(0); const timer = useRef(null); const auto = () => { clearInterval(timer.current); timer.current = setInterval(() => setI((p) => (p + 1) % SLIDES.length), 7000); }; const go = (n) => { setI((n + SLIDES.length) % SLIDES.length); auto(); }; useEffect(() => { auto(); return () => clearInterval(timer.current); }, []); return (
clearInterval(timer.current)} onMouseLeave={auto}> {SLIDES.map((s, idx) => (
{s.title
))}
Russell Westbrook Why Not? Foundation Fontainebleau Las Vegas

The 6th AnnualWhy Not? Poker Night

{t.eventDate} · {t.venue}
{SLIDES.map((_, idx) => (
); } /* ---------- INVITATION / WELCOME ---------- */ function Invitation() { return (
The Solo Club at Fontainebleau Las Vegas

An Evening of Consequence,
Hosted in the Sky

For one private evening, the Why Not? Foundation takes residence at Fontainebleau Las Vegas — the Strip's most anticipated address — for a night of cards, cause, and quiet glamour reserved for our closest friends and patrons.

Every seat at the table directly funds the foundation's mission of creating pathways of empowerment for underserved populations in South Los Angeles. This registration is extended by invitation; your access code accompanies your invitation.

); } /* ---------- THE VENUE ---------- */ function Venue() { return (
The Venue

Solo Lounge,
at Fontainebleau

Tucked within Fontainebleau Las Vegas, Solo Lounge sets the stage for the evening — an intimate room of brass, marble, and candlelight, steps from the casino floor.

Cocktails and conversation give way to the tables, where the night's play unfolds in quiet luxury, just for our guests.

The lounge at Fontainebleau Las Vegas
); } /* ---------- DETAILS ---------- */ function Details({ t }) { const cells = [ { k: "Date", v: t.eventDate.split(",")[0], s: t.eventDate.split(",").slice(1).join(",").trim() }, { k: "Venue", v: t.venue, s: "at Fontainebleau Las Vegas" }, { k: "Attire", v: "Black Tie", s: "Cocktail optional" }, ]; return (
The Particulars

The Evening

{cells.map((c, i) => (
{c.k}
{c.v}
{c.s}
))}
); } /* ---------- REGISTER ---------- */ function Register({ t, onConfirm }) { const [tierId, setTierId] = useState("table"); const [seats, setSeats] = useState(2); const [form, setForm] = useState({ code: "", name: "", email: "", phone: "", org: "", guests: "", diet: "", comments: "" }); const [errors, setErrors] = useState({}); const tier = TIERS.find((x) => x.id === tierId); const total = useMemo(() => (tier.perSeat ? tier.price * seats : tier.price), [tier, seats]); const set = (k, v) => setForm((f) => ({ ...f, [k]: v })); const validate = () => { const e = {}; if (!form.code.trim()) e.code = "Your invitation code is required"; if (!form.name.trim()) e.name = "Required"; if (!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(form.email)) e.email = "Enter a valid email"; if (!form.phone.trim()) e.phone = "Required"; setErrors(e); return Object.keys(e).length === 0; }; const submit = (ev) => { ev.preventDefault(); if (!validate()) { document.querySelector(".field.err input")?.focus(); return; } onConfirm({ name: form.name, email: form.email, tierName: tier.name, seats: tier.perSeat ? seats : tier.seats, total, }); }; return (
Reserve Your Place

Registration

Select your table and confirm your details below. Every reservation directly supports the foundation's work in South Los Angeles.

{TIERS.map((x) => ( ))}
set("code", e.target.value.toUpperCase())} />
{errors.code || ""}
{tier.perSeat ? (
{seats}
{tier.name} · {seats} {seats > 1 ? "Seats" : "Seat"}
) : (
{tier.name} · {tier.unit}
)}
Total
${fmt(total)}
{tier.name} · {tier.perSeat ? `${seats} ${seats > 1 ? "seats" : "seat"}` : tier.unit}
); } function Field({ id, label, req, type = "text", val, err, onChange, placeholder, textarea }) { return (
{textarea ?