30 Commits

Author SHA1 Message Date
44d8687ae6 Merge version_10 into main
Merge version_10 into main
2026-05-30 19:17:47 +00:00
1315c17fbf Update theme fonts 2026-05-30 19:17:41 +00:00
a0a3086010 Update theme fonts 2026-05-30 19:17:41 +00:00
c938e68f79 Merge version_10 into main
Merge version_10 into main
2026-05-30 19:17:38 +00:00
93cc07767c Update theme fonts 2026-05-30 19:17:35 +00:00
c01ee19744 Update theme fonts 2026-05-30 19:17:35 +00:00
3b245511a7 Merge version_10 into main
Merge version_10 into main
2026-05-30 19:17:23 +00:00
e0b466c0bf Update theme fonts 2026-05-30 19:17:20 +00:00
0ef4809034 Update theme fonts 2026-05-30 19:17:19 +00:00
e4f0fe2840 Merge version_10 into main
Merge version_10 into main
2026-05-30 19:16:55 +00:00
8f3cd73020 Update theme colors 2026-05-30 19:16:52 +00:00
365e388455 Merge version_9 into main
Merge version_9 into main
2026-05-30 19:16:15 +00:00
6a6a5d0abc Update theme colors 2026-05-30 19:16:12 +00:00
e66b0f0f28 Merge version_8 into main
Merge version_8 into main
2026-05-30 19:15:52 +00:00
641827ea18 Update theme colors 2026-05-30 19:15:49 +00:00
60537711fc Merge version_7 into main
Merge version_7 into main
2026-05-30 19:15:31 +00:00
a6477e5bab Update theme colors 2026-05-30 19:15:25 +00:00
f4dd3f25b3 Merge version_6 into main
Merge version_6 into main
2026-05-30 19:15:21 +00:00
31134be987 Update theme colors 2026-05-30 19:15:18 +00:00
0fead8d934 Merge version_5 into main
Merge version_5 into main
2026-05-30 19:15:03 +00:00
ccb4aaf41a Update theme colors 2026-05-30 19:15:00 +00:00
2345f63a2f Merge version_4 into main
Merge version_4 into main
2026-05-30 18:35:44 +00:00
47c34df79f Update theme colors 2026-05-30 18:35:41 +00:00
4efa7c1013 Merge version_3 into main
Merge version_3 into main
2026-05-30 18:35:32 +00:00
8f6de1d36a Update theme colors 2026-05-30 18:35:29 +00:00
7d78da2290 Merge version_2 into main
Merge version_2 into main
2026-05-30 17:26:19 +00:00
9422f12ced Update src/app/page.tsx 2026-05-30 17:26:13 +00:00
b97bf7d4c6 Merge version_2 into main
Merge version_2 into main
2026-05-30 17:25:30 +00:00
b382e7b40e Update src/app/styles/variables.css 2026-05-30 17:25:27 +00:00
da0f555bfc Update src/app/page.tsx 2026-05-30 17:25:27 +00:00
4 changed files with 47 additions and 44 deletions

View File

@@ -6,23 +6,28 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Inter_Tight } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
const halant = Halant({
variable: "--font-halant",
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
export const metadata: Metadata = {
title: 'Barber Chop VIP: Elite Grooming & Styling',
description: 'Indulge in the ultimate grooming experience at Barber Chop VIP. Discover sophisticated styles, premium services, and an exclusive atmosphere designed for the modern gentleman.',
};
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville",
subsets: ["latin"],
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
export default function RootLayout({
children,
}: Readonly<{
@@ -31,9 +36,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} antialiased`}
>
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -12,7 +12,7 @@ import TestimonialCardTwelve from "@/components/sections/testimonial/Testimonial
import FaqDouble from "@/components/sections/faq/FaqDouble";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import FooterSimple from "@/components/sections/footer/FooterSimple";
import { Crown, Scissors, Razor, Shirt } from "lucide-react";
import { Crown, Scissors, Shirt } from "lucide-react";
export default function LandscapingPage() {
return (
@@ -37,7 +37,7 @@ export default function LandscapingPage() {
{ name: "About", id: "about" },
{ name: "Team", id: "team" },
{ name: "Testimonials", id: "testimonials" },
{ name: "Contact", id: "contact" },
{ name: "Contact", id: "contact" }
]}
button={{ text: "Book Now", href: "#contact" }}
/>
@@ -51,7 +51,7 @@ export default function LandscapingPage() {
description="Step into Barber Chop VIP, where tradition meets modern luxury. Experience precision grooming, sharp fades, and classic shaves designed for the discerning gentleman."
buttons={[
{ text: "Book Your Appointment", href: "#contact" },
{ text: "Explore Services", href: "#services" },
{ text: "Explore Services", href: "#services" }
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/professional-hairdresser-sitting-barber-chair-waiting-customer_613910-3902.jpg"
@@ -64,7 +64,7 @@ export default function LandscapingPage() {
imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-serious-bearded-male-dressed-suit_613910-5596.jpg", imageAlt: "Alex M."},
{
name: "Mark J.", handle: "Loyal Customer", testimonial: "Premium service every time. My barber understands exactly what I want and delivers flawlessly. Highly recommend!", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-businessman-work_1098-13068.jpg", imageAlt: "Mark J."},
imageSrc: "http://img.b2bpic.net/free-photo/young-businessman-work_1098-13068.jpg", imageAlt: "Mark J."}
]}
/>
</div>
@@ -77,9 +77,9 @@ export default function LandscapingPage() {
title="Crafting the perfect look for over 10 years where passion meets precision in every cut."
description="Michael 'The Maestro' Chen, Head Barber"
subdescription="Est. 2014"
icon={Razor}
icon={Scissors}
videoSrc="http://img.b2bpic.net/free-photo/master-hairdresser-prepares-face-shaving-smears-face-with-foam-hairdressing-salon_613910-18406.jpg"
imageAlt="Barber giving a precision haircut"
videoAriaLabel="Barber giving a precision haircut"
mediaAnimation="slide-up"
useInvertedBackground={false}
/>
@@ -97,13 +97,13 @@ export default function LandscapingPage() {
imageContainerClassName="!rotate-0 !aspect-square"
features={[
{
tag: "Precision", title: "Signature Haircuts", subtitle: "Modern & Classic", description: "Expertly crafted haircuts, from contemporary fades to timeless classics, all tailored to your unique style.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-romantic-woman-kissing-her-boyfriend_1153-757.jpg", imageAlt: "Barber giving a modern haircut"},
tag: "Precision", title: "Signature Haircuts", subtitle: "Modern & Classic", description: "Expertly crafted haircuts, from contemporary fades to timeless classics, all tailored to your unique style.", imageSrc: "http://img.b2bpic.net/free-photo/crop-man-getting-haircut_23-2147839655.jpg", imageAlt: "Close-up of a barber giving a haircut to a client"},
{
tag: "Indulgence", title: "Luxury Hot Towel Shaves", subtitle: "Relax & Refine", description: "Experience the ultimate relaxation with our traditional hot towel shave, a perfect blend of comfort and precision.", imageSrc: "http://img.b2bpic.net/free-photo/morning-preparing-bathroom-day_329181-4780.jpg", imageAlt: "Barber performing a hot towel shave"},
{
tag: "Refinement", title: "Beard & Moustache Styling", subtitle: "Shape & Groom", description: "Expert shaping, trimming, and grooming services to keep your beard and moustache looking sharp and well-maintained.", imageSrc: "http://img.b2bpic.net/free-photo/young-man-getting-his-beard-styled-barber_23-2148985715.jpg", imageAlt: "Close-up of a barber styling a beard"},
{
tag: "Revitalize", title: "Scalp & Hair Treatments", subtitle: "Health & Vitality", description: "Nourishing treatments designed to invigorate your scalp and strengthen your hair, promoting health and shine.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-getting-haircut_23-2149220556.jpg", imageAlt: "Client receiving a hair treatment at a barber shop"},
tag: "Revitalize", title: "Scalp & Hair Treatments", subtitle: "Health & Vitality", description: "Nourishing treatments designed to invigorate your scalp and strengthen your hair, promoting health and shine.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-getting-haircut_23-2149220556.jpg", imageAlt: "Client receiving a hair treatment at a barber shop"}
]}
/>
</div>
@@ -122,7 +122,7 @@ export default function LandscapingPage() {
{
id: "2", name: "Premium Atmosphere", role: "Indulge in a luxurious and relaxing environment, designed for your comfort and style.", imageSrc: "http://img.b2bpic.net/free-photo/modern-luxury-furniture-adorns-comfortable-home-interior-generated-by-ai_188544-29070.jpg", imageAlt: "Luxurious barber shop interior"},
{
id: "3", name: "Tailored for You", role: "Every service is personalized to your preferences, ensuring a look that truly reflects you.", imageSrc: "http://img.b2bpic.net/free-photo/hairdresser-grooming-their-client_23-2149205927.jpg", imageAlt: "Barber consulting with a client"},
id: "3", name: "Tailored for You", role: "Every service is personalized to your preferences, ensuring a look that truly reflects you.", imageSrc: "http://img.b2bpic.net/free-photo/hairdresser-grooming-their-client_23-2149205927.jpg", imageAlt: "Barber consulting with a client"}
]}
/>
</div>
@@ -142,7 +142,7 @@ export default function LandscapingPage() {
{
id: "2", name: "David 'The Blade' Lee", role: "Master Stylist", imageSrc: "http://img.b2bpic.net/free-photo/young-bearded-tattooed-man-cafe-street-with-glass-wine-romantic-guy-white-cap-suspenders-city-peaky-blinders-old-fashionable-retro_1321-2027.jpg", imageAlt: "David Lee, Master Stylist"},
{
id: "3", name: "Sophia 'The Carver' Rodriguez", role: "Senior Barber", imageSrc: "http://img.b2bpic.net/free-photo/professional-barber-man-apron-holding-trimmer-hair-brushes-happy-cheerfuul-smiling_141793-37016.jpg", imageAlt: "Sophia Rodriguez, Senior Barber"},
id: "3", name: "Sophia 'The Carver' Rodriguez", role: "Senior Barber", imageSrc: "http://img.b2bpic.net/free-photo/professional-barber-man-apron-holding-trimmer-hair-brushes-happy-cheerfuul-smiling_141793-37016.jpg", imageAlt: "Sophia Rodriguez, Senior Barber"}
]}
/>
</div>
@@ -164,7 +164,7 @@ export default function LandscapingPage() {
{
id: "3", name: "Daniel P.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-emotiojnal-young-man-suit-poiting-with-two-finger-you_171337-9568.jpg", imageAlt: "Daniel P."},
{
id: "4", name: "Chris T.", imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-looking-camera_197531-33408.jpg", imageAlt: "Chris T."},
id: "4", name: "Chris T.", imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-looking-camera_197531-33408.jpg", imageAlt: "Chris T."}
]}
/>
</div>
@@ -189,7 +189,7 @@ export default function LandscapingPage() {
{
id: "5", title: "Can I request a specific barber?", content: "Yes, absolutely! When booking online or by phone, you can specify your preferred barber from our team of master stylists. We aim to accommodate all requests."},
{
id: "6", title: "What is your cancellation policy?", content: "We kindly request at least 24 hours notice for any cancellations or rescheduling. This allows us to offer the slot to other clients. Late cancellations or no-shows may incur a fee."},
id: "6", title: "What is your cancellation policy?", content: "We kindly request at least 24 hours notice for any cancellations or rescheduling. This allows us to offer the slot to other clients. Late cancellations or no-shows may incur a fee."}
]}
/>
</div>
@@ -219,10 +219,10 @@ export default function LandscapingPage() {
inputs={[
{ name: "name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email Address", required: true },
{ name: "phone", type: "tel", placeholder: "Phone Number" },
{ name: "phone", type: "tel", placeholder: "Phone Number" }
]}
multiSelect={{
name: "service", label: "Select a Service", options: ["Signature Haircut", "Luxury Hot Towel Shave", "Beard & Moustache Styling", "Scalp & Hair Treatment", "Full VIP Package"],
name: "service", label: "Select a Service", options: ["Signature Haircut", "Luxury Hot Towel Shave", "Beard & Moustache Styling", "Scalp & Hair Treatment", "Full VIP Package"]
}}
textarea={{ name: "message", placeholder: "Tell us about your desired style or questions...", rows: 4, required: true }}
/>
@@ -236,24 +236,24 @@ export default function LandscapingPage() {
{ label: "Signature Haircuts", href: "#services" },
{ label: "Luxury Hot Shaves", href: "#services" },
{ label: "Beard & Moustache", href: "#services" },
{ label: "Scalp Treatments", href: "#services" },
],
{ label: "Scalp Treatments", href: "#services" }
]
},
{
title: "Company", items: [
{ label: "About Us", href: "#about" },
{ label: "Our Team", href: "#team" },
{ label: "Client Reviews", href: "#testimonials" },
{ label: "FAQs", href: "#faq" },
],
{ label: "FAQs", href: "#faq" }
]
},
{
title: "Contact", items: [
{ label: "(555) 789-0123", href: "tel:5557890123" },
{ label: "hello@barberchopvip.com", href: "mailto:hello@barberchopvip.com" },
{ label: "New York, NY" },
],
},
{ label: "New York, NY" }
]
}
]}
bottomLeftText="© 2026 Barber Chop VIP"
bottomRightText="All Rights Reserved. Experience the Difference."

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-inter-tight), sans-serif;
font-family: var(--font-inter), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-inter-tight), sans-serif;
font-family: var(--font-libre-baskerville), serif;
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #f7f9f4;
--card: #ffffff;
--foreground: #1a2e1a;
--primary-cta: #2d5a27;
--primary-cta-text: #ffffff;
--secondary-cta: #ffffff;
--secondary-cta-text: #2d5a27;
--accent: #4a8c3f;
--background-accent: #6fb85e;
--background: #cbb7b7;
--card: #1e0d0d;
--foreground: #ffe6e6;
--primary-cta: #ff7a7a;
--primary-cta-text: #000000;
--secondary-cta: #661313;
--secondary-cta-text: #ffe6e6;
--accent: #ffcf00;
--background-accent: #824245;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);