/* @component-map * App — Main container, handles view switching and layout * Calendar — Calendar panel with month navigation and date selection * TimeSlots — Time slot selection panel * BookingForm — Client details form * Confirmation — Booking confirmation view * Stepper — Step indicator component * @end-component-map */ import { Calendar } from './components/Calendar.jsx'; import { TimeSlots } from './components/TimeSlots.jsx'; import { BookingForm } from './components/BookingForm.jsx'; import { Confirmation } from './components/Confirmation.jsx'; import { Stepper } from './components/Stepper.jsx'; function App() { const [step, setStep] = useState(0); const [selectedDate, setSelectedDate] = useState(null); const [selectedTime, setSelectedTime] = useState(null); const [form, setForm] = useState({ name: "", email: "", company: "", notes: "" }); const reset = () => { setStep(0); setSelectedDate(null); setSelectedTime(null); setForm({ name: "", email: "", company: "", notes: "" }); }; const onDateSelect = (date) => { setSelectedDate(date); setSelectedTime(null); setStep(1); }; return (

Book a Consultation

Schedule a 60-minute strategy session

{step === 3 ? ( ) : (
{step === 0 && } {step === 1 && selectedDate && ( setStep(2)} /> )} {step === 2 && ( setStep(1)} onConfirm={() => setStep(3)} /> )}
)}
All times shown in Eastern Time (ET) · 60-minute sessions
); } function PlaceholderPanel() { return (

Select a date on the calendar to view available time slots

); } ReactDOM.createRoot(document.getElementById("root")).render();