Public Pages Specification

Status: Canonical Last Updated: 2026-05-11 Source: apps/frontend/app/[locale]/(landing)/
Doc Status: Excellent | ✓ All 6 checks passed

Overview

Public pages cover all guest-facing routes including the homepage, show/experience pages, photo wall, and inquiry forms. Each public route maps to a specific page component with defined sections and functionality.

Route Structure

Public Routes

RoutePage
/Homepage
/aboutAbout
/artistsArtists
/scheduleSchedule
/wallPhoto Wall
/reviewsReviews

Experience Routes

RoutePage
/experiences/french-mentalistFrench Mentalist (one-time event April 23, 2026)
/experiences/dinner-theaterDinner Theater
/experiences/our-eveningOur Evening

Inquiry Routes

RoutePage
/inquiry/contactContact
/inquiry/venue-rentalVenue Rental
/inquiry/workshopsWorkshops
/inquiry/private-eventsPrivate Events
/inquiry/artist-proposalArtist Proposal
/inquiry/host-an-eventHost an Event

Homepage (/)

Brief overview of homepage structure. For full details, see Homepage & Landing Pages.

Sections

  • Hero with CTA
  • Upcoming Experiences Carousel
  • Experience Schedule
  • Why House of Legends
  • Services
  • Community/Wall (Photo preview)
  • Reviews
  • Contact Form
  • Footer
For detailed component breakdown, see Homepage & Landing Pages.

Show/Experience Pages (/experiences/[slug])

Each experience has:
  • Hero — Embedded video (autoplay muted) or image
  • Title + Tagline
  • “See dates” button — smooth scroll to occurrences
  • Description — Rich text storytelling
  • Photo gallery — Carousel or masonry
  • What to expect — Duration, language, atmosphere
  • Artists — If relevant
  • UPCOMING DATES — The key conversion zone

Upcoming Dates Section

Vertical list, each row:
  • Friday May 2 7:30 PM — 12 seats left — [Book Now]
  • Saturday May 3 7:30 PM — Available — [Book Now]
  • Friday May 9 7:30 PM — Few left (3) — [Book Now]
  • Saturday May 10 7:30 PM — Sold out — [disabled]
Badge colors:
  • Green: Available (>10 seats)
  • Orange: Few left (1-10 seats)
  • Grey: Sold out (0 seats, button disabled)
Critical: Clicking Book — /booking/[eventId]/tickets with date/time LOCKED

Inquiry Pages

All inquiry pages use the same pattern:
  • Hero section with form
  • Form submitted via Convex mutation
  • Success state shown inline
  • Admin can view in dashboard

Admin Form Management

All inquiry submissions:
  1. Stored in formSessions table
  2. Admin notification created in notifications table
  3. Viewable in /dashboard/inquiries
Admin can:
  • Mark as READ, REPLIED, ARCHIVED
  • Add follow-up notes
  • See submission data and timestamps