diff --git a/src/app/booking/page.tsx b/src/app/booking/page.tsx index a280845..565c16e 100644 --- a/src/app/booking/page.tsx +++ b/src/app/booking/page.tsx @@ -2,17 +2,31 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; -import { useState } from 'react'; -import { Calendar, Clock, Users, Palette, Phone, Mail } from 'lucide-react'; +import HeroLogo from '@/components/sections/hero/HeroLogo'; +import ContactCenter from '@/components/sections/contact/ContactCenter'; import FooterSimple from '@/components/sections/footer/FooterSimple'; +import { useState } from 'react'; +import { Calendar, Clock, Users, Palette, CheckCircle } from 'lucide-react'; export default function BookingPage() { + const [formData, setFormData] = useState({ + eventType: '', + eventDate: '', + eventTime: '', + guestCount: '', + budget: '', + notes: '', + }); + + const [submitted, setSubmitted] = useState(false); + const navItems = [ - { name: "Home", id: "home" }, - { name: "Services", id: "services" }, + { name: "Home", id: "/" }, + { name: "Services", id: "/#services" }, { name: "Gallery", id: "/gallery" }, - { name: "Packages", id: "/packages" }, - { name: "About", id: "about" }, + { name: "Packages", id: "/#packages" }, + { name: "About", id: "/#about" }, + { name: "Booking", id: "/booking" }, { name: "Contact", id: "/contact" }, ]; @@ -28,10 +42,10 @@ export default function BookingPage() { }, { title: "Company", items: [ - { label: "About Us", href: "/about" }, + { label: "About Us", href: "/#about" }, { label: "Gallery", href: "/gallery" }, - { label: "Packages", href: "/packages" }, - { label: "FAQ", href: "#faq" }, + { label: "Packages", href: "/#packages" }, + { label: "FAQ", href: "/#faq" }, { label: "Contact", href: "/contact" }, ], }, @@ -48,54 +62,35 @@ export default function BookingPage() { title: "Service Areas", items: [ { label: "Local Events", href: "/contact" }, { label: "Regional Coverage", href: "/contact" }, - { label: "Book Now", href: "/packages" }, + { label: "Book Now", href: "/booking" }, { label: "Get Quote", href: "/contact" }, ], }, ]; - const [formData, setFormData] = useState({ - fullName: '', - email: '', - phone: '', - eventType: '', - eventDate: '', - eventTime: '', - guestCount: '', - serviceType: '', - additionalNotes: '', - }); - - const [submitted, setSubmitted] = useState(false); - - const handleChange = (e: React.ChangeEvent) => { + const handleInputChange = (e: React.ChangeEvent) => { const { name, value } = e.target; - setFormData(prev => ({ - ...prev, - [name]: value - })); + setFormData(prev => ({ ...prev, [name]: value })); }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); - console.log('Form submitted:', formData); setSubmitted(true); - setTimeout(() => { - setFormData({ - fullName: '', - email: '', - phone: '', - eventType: '', - eventDate: '', - eventTime: '', - guestCount: '', - serviceType: '', - additionalNotes: '', - }); - setSubmitted(false); - }, 3000); + setTimeout(() => setSubmitted(false), 5000); }; + const availableDates = [ + { date: '2025-02-15', available: true }, + { date: '2025-02-16', available: false }, + { date: '2025-02-17', available: true }, + { date: '2025-02-22', available: true }, + { date: '2025-02-23', available: true }, + { date: '2025-03-01', available: true }, + { date: '2025-03-02', available: false }, + { date: '2025-03-08', available: true }, + { date: '2025-03-09', available: true }, + ]; + return ( -
-
-

Book Your Event

-

Complete this form to request a booking for professional face and body art services at your event. We'll get back to you within 24 hours with availability and pricing details.

-
+
+ +
- {submitted && ( -
-

Thank you! Your booking request has been submitted. We'll contact you soon to confirm details.

-
- )} - -
- {/* Contact Information Section */} -
-

- - Contact Information -

- +
+
+

Availability Calendar

+

Check our availability and select your preferred event date. Green indicates available dates, red shows booked slots.

+ +
-
- - +
+
+ Available
- -
- - -
- -
- - +
+
+ Booked
-
- - {/* Event Details Section */} -
-

- - Event Details -

-
+
+ {availableDates.map((slot) => { + const date = new Date(slot.date); + return ( + + ); + })} +
+
+
+
+ +
+
+

Booking Form

+

Tell us about your event and we'll customize the perfect package for you.

+ + {submitted ? ( +
+ +

Booking Request Submitted!

+

We'll contact you within 24 hours to confirm your event details and finalize your booking.

+
+ ) : ( +
-
+
- +
-
+
+ +
+
+ + +
+ +
+ +
- - Additional Notes +