Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5e727aead3 | |||
| 5b4251f4aa | |||
| 94dde7dfcb | |||
| 0f5ca6ed48 | |||
| 319d505fcc | |||
| 11385226a1 | |||
| 6c84f8b3e7 | |||
| 47e5191156 | |||
| b3b7d76ee8 |
69
src/app/booking/page.tsx
Normal file
69
src/app/booking/page.tsx
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||||
|
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||||
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
|
import { Calendar } from 'lucide-react';
|
||||||
|
|
||||||
|
export default function BookingPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="elastic-effect"
|
||||||
|
defaultTextAnimation="background-highlight"
|
||||||
|
borderRadius="soft"
|
||||||
|
contentWidth="small"
|
||||||
|
sizing="large"
|
||||||
|
background="floatingGradient"
|
||||||
|
cardStyle="soft-shadow"
|
||||||
|
primaryButtonStyle="gradient"
|
||||||
|
secondaryButtonStyle="radial-glow"
|
||||||
|
headingFontWeight="medium"
|
||||||
|
>
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarStyleCentered
|
||||||
|
brandName="Sharp Edge"
|
||||||
|
navItems={[
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Our Story", id: "/#about" },
|
||||||
|
{ name: "Services", id: "/#cuts" },
|
||||||
|
{ name: "Barbers", id: "/#team" },
|
||||||
|
{ name: "Gallery", id: "/#experience" },
|
||||||
|
{ name: "FAQ", id: "/#faq" }
|
||||||
|
]}
|
||||||
|
button={{ text: "Book Now", href: "/booking" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="booking-form" data-section="contact">
|
||||||
|
<ContactSplitForm
|
||||||
|
title="Secure Your Appointment"
|
||||||
|
description="Select your preferred barber, choose a time slot, and tell us which service you need. We'll confirm your booking shortly."
|
||||||
|
inputs={[
|
||||||
|
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
||||||
|
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||||
|
{ name: "date", type: "date", placeholder: "Booking Date", required: true },
|
||||||
|
{ name: "time", type: "time", placeholder: "Booking Time", required: true }
|
||||||
|
]}
|
||||||
|
multiSelect={{
|
||||||
|
name: "barber", label: "Select Staff (or choose 'Any Available')", options: ["Any Available", "Marco V.", "Sarah J.", "David K.", "Liam R.", "Elena M.", "Jason B."]
|
||||||
|
}}
|
||||||
|
textarea={{ name: "notes", placeholder: "Additional notes (optional)", rows: 3 }}
|
||||||
|
buttonText="Confirm Booking"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer" data-section="footer">
|
||||||
|
<FooterBase
|
||||||
|
logoText="Sharp Edge"
|
||||||
|
columns={[
|
||||||
|
{ title: "Visit", items: [{ label: "Location", href: "#" }, { label: "Directions", href: "#" }] },
|
||||||
|
{ title: "Services", items: [{ label: "Cuts", href: "#" }, { label: "Shaves", href: "#" }] },
|
||||||
|
{ title: "Business", items: [{ label: "Book Now", href: "/booking" }, { label: "Contact", href: "/#contact" }] }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -38,7 +38,7 @@ export default function LandingPage() {
|
|||||||
{ name: "FAQ", id: "faq" }
|
{ name: "FAQ", id: "faq" }
|
||||||
]}
|
]}
|
||||||
button={{
|
button={{
|
||||||
text: "Book Now", href: "contact"
|
text: "Book Now", href: "/booking"
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -51,8 +51,8 @@ export default function LandingPage() {
|
|||||||
tagIcon={Scissors}
|
tagIcon={Scissors}
|
||||||
background={{ variant: "plain" }}
|
background={{ variant: "plain" }}
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Book with Your Barber", href: "contact" },
|
{ text: "Book with Your Barber", href: "/booking" },
|
||||||
{ text: "View Services", href: "cuts" }
|
{ text: "View Services", href: "#cuts" }
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
mediaItems={[
|
mediaItems={[
|
||||||
@@ -73,7 +73,7 @@ export default function LandingPage() {
|
|||||||
{ value: "15+", title: "Years Experience" },
|
{ value: "15+", title: "Years Experience" },
|
||||||
{ value: "10k+", title: "Happy Clients" }
|
{ value: "10k+", title: "Happy Clients" }
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-hairdresser-washing-man-s-hair_23-2150665396.jpg"
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CwVNjbVLmrqoXZ4wNOFBZ2c4u3/tmp/black-woman-hair-dresser-braiding-black--1777333282373-e3f6b864.png"
|
||||||
imageAlt="Expert barber at work"
|
imageAlt="Expert barber at work"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
metricsAnimation="slide-up"
|
metricsAnimation="slide-up"
|
||||||
@@ -162,11 +162,12 @@ export default function LandingPage() {
|
|||||||
<ContactCenter
|
<ContactCenter
|
||||||
tag="Bookings"
|
tag="Bookings"
|
||||||
title="Book Your Appointment"
|
title="Book Your Appointment"
|
||||||
description="Use the calendar below to secure your spot with your preferred barber."
|
description="Use our online booking system to secure your spot with your preferred barber."
|
||||||
tagIcon={Calendar}
|
tagIcon={Calendar}
|
||||||
background={{ variant: "sparkles-gradient" }}
|
background={{ variant: "sparkles-gradient" }}
|
||||||
inputPlaceholder="Your name or email"
|
inputPlaceholder="Your name or email"
|
||||||
buttonText="Reserve Now"
|
buttonText="Go to Booking Page"
|
||||||
|
onSubmit={() => window.location.href = '/booking'}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -176,7 +177,7 @@ export default function LandingPage() {
|
|||||||
columns={[
|
columns={[
|
||||||
{ title: "Visit", items: [{ label: "Location", href: "#" }, { label: "Directions", href: "#" }] },
|
{ title: "Visit", items: [{ label: "Location", href: "#" }, { label: "Directions", href: "#" }] },
|
||||||
{ title: "Services", items: [{ label: "Cuts", href: "#" }, { label: "Shaves", href: "#" }] },
|
{ title: "Services", items: [{ label: "Cuts", href: "#" }, { label: "Shaves", href: "#" }] },
|
||||||
{ title: "Business", items: [{ label: "Book Now", href: "#" }, { label: "Contact", href: "#" }] }
|
{ title: "Business", items: [{ label: "Book Now", href: "/booking" }, { label: "Contact", href: "#contact" }] }
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #080000;
|
--background: #0a0a0a;
|
||||||
--card: #dba844;
|
--card: #1a1a1a;
|
||||||
--foreground: #ffe6e6;
|
--foreground: #f5f5f5;
|
||||||
--primary-cta: #ff7a7a;
|
--primary-cta: #ffdf7d;
|
||||||
--primary-cta-text: #080000;
|
--primary-cta-text: #0a0a0a;
|
||||||
--secondary-cta: #1e0909;
|
--secondary-cta: #1a1a1a;
|
||||||
--secondary-cta-text: #ffe6e6;
|
--secondary-cta-text: #ffffff;
|
||||||
--accent: #7b4242;
|
--accent: #b8860b;
|
||||||
--background-accent: #65292c;
|
--background-accent: #8b6914;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user