Implement config-driven session type and length steps (issue #4)
Deploy to Dev / Deploy & Smoke Test (push) Successful in 18s
Deploy to Dev / Deploy & Smoke Test (push) Successful in 18s
- site.json: add booking section with sessionTypes, pricing, venmoUsername - Step 2: session type cards rendered from siteConfig.booking.sessionTypes; "Other" option reveals a free-text field; validated before advancing - Step 3: two large length cards with duration badge + price from config; falls back to $75/$150 defaults if config missing - selectOption shows/hides "Other" field; stores sessionTypeOther in state - populateSummary uses config labels and shows price in length summary row - submitBooking sends "other: <description>" for custom session types Closes #4 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,20 @@
|
||||
"description": "Enter your gallery code to view and download your photos",
|
||||
"placeholder": "Enter your gallery code"
|
||||
},
|
||||
"booking": {
|
||||
"venmoUsername": "LisiLouPhoto",
|
||||
"sessionTypes": [
|
||||
{ "id": "senior", "label": "Senior Portrait", "description": "Celebrate your milestone" },
|
||||
{ "id": "couple", "label": "Couple", "description": "Engagement & couples" },
|
||||
{ "id": "family", "label": "Family", "description": "Family portraits" },
|
||||
{ "id": "individual", "label": "Individual", "description": "Personal portrait session" },
|
||||
{ "id": "newborn", "label": "Newborn", "description": "Newborn & maternity" }
|
||||
],
|
||||
"pricing": {
|
||||
"mini": 75,
|
||||
"full": 150
|
||||
}
|
||||
},
|
||||
"theme": {
|
||||
"primaryColor": "#8B7355",
|
||||
"accentColor": "#D4C5B5",
|
||||
|
||||
Reference in New Issue
Block a user