Merge version_5 into main #5

Merged
bender merged 2 commits from version_5 into main 2026-04-27 23:45:21 +00:00
2 changed files with 76 additions and 6 deletions

69
src/app/booking/page.tsx Normal file
View 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>
);
}

View File

@@ -38,7 +38,7 @@ export default function LandingPage() {
{ name: "FAQ", id: "faq" }
]}
button={{
text: "Book Now", href: "contact"
text: "Book Now", href: "/booking"
}}
/>
</div>
@@ -51,8 +51,8 @@ export default function LandingPage() {
tagIcon={Scissors}
background={{ variant: "plain" }}
buttons={[
{ text: "Book with Your Barber", href: "contact" },
{ text: "View Services", href: "cuts" }
{ text: "Book with Your Barber", href: "/booking" },
{ text: "View Services", href: "#cuts" }
]}
buttonAnimation="slide-up"
mediaItems={[
@@ -162,11 +162,12 @@ export default function LandingPage() {
<ContactCenter
tag="Bookings"
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}
background={{ variant: "sparkles-gradient" }}
inputPlaceholder="Your name or email"
buttonText="Reserve Now"
buttonText="Go to Booking Page"
onSubmit={() => window.location.href = '/booking'}
/>
</div>
@@ -176,7 +177,7 @@ export default function LandingPage() {
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: "#" }, { label: "Contact", href: "#" }] }
{ title: "Business", items: [{ label: "Book Now", href: "/booking" }, { label: "Contact", href: "#contact" }] }
]}
/>
</div>