Skip to content

Comments

fix(schedule): wire booking buttons for workshops, appointments, and retreats#22

Open
TaylorONeal wants to merge 1 commit intomainfrom
codex/review-demo-for-missing-functionality
Open

fix(schedule): wire booking buttons for workshops, appointments, and retreats#22
TaylorONeal wants to merge 1 commit intomainfrom
codex/review-demo-for-missing-functionality

Conversation

@TaylorONeal
Copy link
Owner

Motivation

  • The schedule UI showed clickable CTAs for non-class items (workshops, appointments, retreats) but those buttons did not open the booking flow, causing a confusing dead‑end UX.\
  • Provide a single consistent booking payload so the BookingModal can be opened from any schedule card type.\

Description

  • Expanded handleBook in src/pages/Schedule.tsx to resolve the clicked id for class, workshop, appointment, and retreat, build a normalized SelectedBooking payload, and open the booking modal for non-class items.\
  • Added SelectedBooking type and selectedBooking state and wired the BookingModal to receive selectedBooking (preserving the existing class detail → booking flow).\
  • Kept existing behavior for classes (open ClassDetailModal first, then route to booking) while routing workshop/appointment/retreat CTAs directly to booking.\

Testing

  • Ran npm run lint — FAILED due to missing dev dependency (@eslint/js) in the environment.\
  • Attempted npm install — FAILED due to registry access error (403 Forbidden fetching picomatch) so dependencies could not be installed.\
  • Attempted to start dev server with npm run dev — NOT RUN / failed because vite was not available without successful dependency installation.

Codex Task

Ensure workshop, appointment, and retreat booking buttons open the booking flow instead of doing nothing. Centralize selected booking payload and keep class detail flow intact.

https://claude.ai/code/session_codex
@vercel
Copy link

vercel bot commented Feb 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tandava Ready Ready Preview, Comment Feb 20, 2026 3:05am

Request Review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 04176f9a83

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

setSelectedClass(null);
setSelectedBooking({
id: workshopItem.id,
type: "workshop",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Gate quick-book coverage by booking type

This branch now routes workshops/appointments/retreats into BookingModal, but that modal’s payment logic is still class-centric: primaryCoveringSource always picks the mock membership/class pack (src/components/booking/BookingModal.tsx) and starts in quick-book mode, so paid non-class offerings can be confirmed as “included” instead of requiring payment. Since this commit is what enables non-class CTAs to open that flow, users can now book expensive items (for example retreats) under incorrect coverage.

Useful? React with 👍 / 👎.

studio: `${retreatItem.destination}, ${retreatItem.country}`,
location: `${retreatItem.destination}, ${retreatItem.country}`,
dateTime: `${retreatItem.startDate} - ${retreatItem.endDate}`,
duration: 7 * 24 * 60,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep retreat duration accurate in booking payload

The retreat booking payload hardcodes duration to 7 * 24 * 60, and BookingModal renders duration in minutes, so retreat bookings now show a misleading 10080 min duration and ignore any retreat length that differs from 7 nights. This was introduced with the new retreat wiring and will produce incorrect booking summaries as soon as retreat durations vary.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant