diff --git a/app/page.tsx b/app/page.tsx index 63613ea..e0ab753 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -34,7 +34,7 @@ export default function RegisterPage() { const [step, setStep] = useState<"form" | "payment">("form") const [isSubmitting, setIsSubmitting] = useState(false) const [includeAccommodation, setIncludeAccommodation] = useState(true) - const [wantFood, setWantFood] = useState(false) + const [selectedVenueKey, setSelectedVenueKey] = useState(ACCOMMODATION_VENUES[0]?.key || "") const [accommodationType, setAccommodationType] = useState( ACCOMMODATION_VENUES[0]?.options[0]?.id || "" @@ -98,7 +98,7 @@ export default function RegisterPage() { howHeard: formData.howHeard, dietary: dietaryString, crewConsent: formData.crewConsent, - wantFood, + }), }) @@ -147,13 +147,7 @@ export default function RegisterPage() { - - Event Registration - - {pricingSummary} - - - +
{/* Ticket */}
@@ -185,51 +179,37 @@ export default function RegisterPage() { )}
{includeAccommodation ? ( -
- {/* Venue selection */} +
{ - setSelectedVenueKey(value) - const venue = ACCOMMODATION_VENUES.find((v) => v.key === value) - if (venue?.options[0]) { - setAccommodationType(venue.options[0].id) - } + setAccommodationType(value) + const venue = ACCOMMODATION_VENUES.find((v) => + v.options.some((o) => o.id === value) + ) + if (venue) setSelectedVenueKey(venue.key) }} - className="space-y-2" + className="space-y-4" > {ACCOMMODATION_VENUES.map((venue) => ( -
- - +
+

{venue.name}

+

+ {venue.description} +

+
+ {venue.options.map((opt) => ( +
+ + +
+ ))} +
))} - - {/* Sub-options for selected venue */} - {ACCOMMODATION_VENUES.filter((v) => v.key === selectedVenueKey).map((venue) => ( -
-

- {venue.description} -

- - {venue.options.map((opt) => ( -
- - -
- ))} -
-
- ))}
) : (

@@ -240,32 +220,9 @@ export default function RegisterPage() {

- {includeAccommodation && ( -

- We'll follow up closer to the event to confirm room assignments and accommodation details. -

- )} - - {/* Food */} -
-
- setWantFood(checked as boolean)} - className="mt-1" - /> -
- -

- More details and costs will be shared soon — checking this box registers your interest - so we can plan accordingly. Your dietary preferences from step 1 have been noted. -

-
-
-
+

+ Additional Note: We'll follow up closer to the event to confirm room assignments and dietary preferences. +

{/* Processing fee */}
diff --git a/lib/event.config.ts b/lib/event.config.ts index 70739dd..0fbbfeb 100644 --- a/lib/event.config.ts +++ b/lib/event.config.ts @@ -74,8 +74,8 @@ export const ACCOMMODATION_VENUES: AccommodationVenue[] = [ { id: "va-shared", label: "Bed in shared room", - price: 280, - nightlyRate: 40, + price: 275, + nightlyRate: 39, venue: "Venue A", venueKey: "venue-a", }, @@ -97,8 +97,8 @@ export const ACCOMMODATION_VENUES: AccommodationVenue[] = [ { id: "vb-single", label: "Single room", - price: 560, - nightlyRate: 80, + price: 665, + nightlyRate: 95, venue: "Venue B", venueKey: "venue-b", },