7 Commits

Author SHA1 Message Date
7f9cf0484f Switch to version 1: modified src/app/styles/base.css 2026-04-15 07:30:01 +00:00
703736e0c6 Switch to version 1: modified src/app/page.tsx 2026-04-15 07:30:00 +00:00
908c4affc2 Switch to version 1: modified src/app/layout.tsx 2026-04-15 07:30:00 +00:00
98dfc0f31b Merge version_2 into main
Merge version_2 into main
2026-04-15 07:29:57 +00:00
35cd9284ff Merge version_2 into main
Merge version_2 into main
2026-04-15 07:29:52 +00:00
60e19551bf Merge version_2 into main
Merge version_2 into main
2026-04-15 07:29:44 +00:00
6ef0de1034 Merge version_2 into main
Merge version_2 into main
2026-04-15 07:21:58 +00:00
3 changed files with 150 additions and 54 deletions

View File

@@ -7,10 +7,6 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Nunito } from "next/font/google";
import { Manrope } from "next/font/google";
import { DM_Sans } from "next/font/google";
import { Mulish } from "next/font/google";
import { Public_Sans } from "next/font/google";
@@ -25,16 +21,8 @@ export const metadata: Metadata = {
},
};
const publicSans = Public_Sans({
variable: "--font-public-sans",
subsets: ["latin"],
});
const inter = Inter({
variable: "--font-inter",
const nunito = Nunito({
variable: "--font-nunito",
subsets: ["latin"],
});
@@ -46,7 +34,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${publicSans.variable} ${inter.variable} antialiased`}>
<body className={`${nunito.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -31,43 +31,69 @@ export default function LandingPage() {
<NavbarStyleFullscreen
navItems={[
{
name: "Our Shop", id: "about"},
name: "Our Shop",
id: "about",
},
{
name: "Our Barbers", id: "team"},
name: "Our Barbers",
id: "team",
},
{
name: "Testimonials", id: "testimonials"},
name: "Testimonials",
id: "testimonials",
},
{
name: "FAQ", id: "faq"},
name: "FAQ",
id: "faq",
},
]}
brandName="THE HEAD SHOP"
button={{
text: "Book Appointment", href: "#"}}
text: "Book Appointment",
href: "#",
}}
/>
</div>
<div id="hero" data-section="hero">
<HeroCarouselLogo
logoText="THE HEAD SHOP"
description="Unlike modern, trend-chasing shops, The Head Shop is built on generational trust. We provide a timeless grooming experience passed down through families, where our master barbers prioritize the enduring quality and authentic connection that only decades of practice can deliver."
description="For decades, men across Charlotte have trusted The Head Shop for clean cuts, great conversations, and a barber shop experience that never goes out of style. Once you sit in the chair, you'll understand why people keep coming back for 20, 30, even 50 years."
buttons={[
{
text: "Book Your Appointment", href: "#"},
text: "Book Your Appointment",
href: "#",
},
{
text: "Call Now", href: "tel:5550123"},
text: "Call Now",
href: "tel:5550123",
},
]}
slides={[
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-cane-antique-store_23-2149640760.jpg", imageAlt: "Barber shop interior"},
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-cane-antique-store_23-2149640760.jpg",
imageAlt: "Barber shop interior",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/hairdresser-communicating-with-aged-client-studio_23-2148181856.jpg", imageAlt: "Barber cutting hair"},
imageSrc: "http://img.b2bpic.net/free-photo/hairdresser-communicating-with-aged-client-studio_23-2148181856.jpg",
imageAlt: "Barber cutting hair",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/top-view-potato-chip-cutter-with-salt-black-pepper-seeds-white-surface-with-copy-space_141793-10131.jpg", imageAlt: "Barber tools"},
imageSrc: "http://img.b2bpic.net/free-photo/top-view-potato-chip-cutter-with-salt-black-pepper-seeds-white-surface-with-copy-space_141793-10131.jpg",
imageAlt: "Barber tools",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-white-suit-with-embroidery-sits-windowsill-before-bright-window_8353-8276.jpg", imageAlt: "Barber service"},
imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-white-suit-with-embroidery-sits-windowsill-before-bright-window_8353-8276.jpg",
imageAlt: "Barber service",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/male-barber-giving-his-client-nice-haircut_23-2149186489.jpg", imageAlt: "Barber station"},
imageSrc: "http://img.b2bpic.net/free-photo/male-barber-giving-his-client-nice-haircut_23-2149186489.jpg",
imageAlt: "Barber station",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/stylish-man-sitting-barbershop_1157-24953.jpg", imageAlt: "Barber mirror reflection"},
imageSrc: "http://img.b2bpic.net/free-photo/stylish-man-sitting-barbershop_1157-24953.jpg",
imageAlt: "Barber mirror reflection",
},
]}
/>
</div>
@@ -77,13 +103,20 @@ export default function LandingPage() {
useInvertedBackground={false}
heading={[
{
type: "text", content: "Charlotte's Generational Institution"},
type: "text",
content: "Charlotte's Generational Institution",
},
{
type: "image", src: "http://img.b2bpic.net/free-photo/retro-theatre-scene-celebrate-world-theatre-day_23-2151211458.jpg", alt: "The Head Shop interior"},
type: "image",
src: "http://img.b2bpic.net/free-photo/retro-theatre-scene-celebrate-world-theatre-day_23-2151211458.jpg",
alt: "The Head Shop interior",
},
]}
buttons={[
{
text: "Book Now", href: "#"},
text: "Book Now",
href: "#",
},
]}
/>
</div>
@@ -95,16 +128,34 @@ export default function LandingPage() {
useInvertedBackground={true}
features={[
{
id: "1", label: "Legacy", title: "50+ Years Experience", items: [
"Generational barbers", "Time-honored techniques", "Consistent quality"],
id: "1",
label: "Legacy",
title: "50+ Years Experience",
items: [
"Generational barbers",
"Time-honored techniques",
"Consistent quality",
],
},
{
id: "2", label: "Community", title: "A Charlotte Staple", items: [
"Local institution", "Welcoming environment", "Authentic atmosphere"],
id: "2",
label: "Community",
title: "A Charlotte Staple",
items: [
"Local institution",
"Welcoming environment",
"Authentic atmosphere",
],
},
{
id: "3", label: "Craft", title: "Expert Grooming", items: [
"Precision cuts", "Hot towel shaves", "Modern standards"],
id: "3",
label: "Craft",
title: "Expert Grooming",
items: [
"Precision cuts",
"Hot towel shaves",
"Modern standards",
],
},
]}
title="Why Trust Us?"
@@ -119,13 +170,29 @@ export default function LandingPage() {
useInvertedBackground={false}
team={[
{
id: "1", name: "David Miller", role: "Master Barber (40 Years)", imageSrc: "http://img.b2bpic.net/free-photo/isolated-view-bald-caucasian-hipster-male-with-thick-bushy-beard-tattoo-raising-eyebrows-crossing-arms-chest-his-closed-posture-look-expressing-distrust-body-language_343059-1709.jpg"},
id: "1",
name: "David Miller",
role: "Master Barber (40 Years)",
imageSrc: "http://img.b2bpic.net/free-photo/isolated-view-bald-caucasian-hipster-male-with-thick-bushy-beard-tattoo-raising-eyebrows-crossing-arms-chest-his-closed-posture-look-expressing-distrust-body-language_343059-1709.jpg",
},
{
id: "2", name: "James Henderson", role: "Senior Stylist (25 Years)", imageSrc: "http://img.b2bpic.net/free-photo/portrait-bearded-black-man-with-tattooed-arm-wearing-white-shirt_613910-1888.jpg"},
id: "2",
name: "James Henderson",
role: "Senior Stylist (25 Years)",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-bearded-black-man-with-tattooed-arm-wearing-white-shirt_613910-1888.jpg",
},
{
id: "3", name: "Robert Carter", role: "Barber Specialist (20 Years)", imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-with-tattoo-his-face-with-crossed-arms-dressed-white-shirt-grey-background_613910-8120.jpg"},
id: "3",
name: "Robert Carter",
role: "Barber Specialist (20 Years)",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-with-tattoo-his-face-with-crossed-arms-dressed-white-shirt-grey-background_613910-8120.jpg",
},
{
id: "4", name: "Michael Reed", role: "Expert Groomer (15 Years)", imageSrc: "http://img.b2bpic.net/free-photo/confident-young-handsome-barber-wearing-uniform-holding-straight-razor-isolated-green-with-copy-space_141793-76950.jpg"},
id: "4",
name: "Michael Reed",
role: "Expert Groomer (15 Years)",
imageSrc: "http://img.b2bpic.net/free-photo/confident-young-handsome-barber-wearing-uniform-holding-straight-razor-isolated-green-with-copy-space_141793-76950.jpg",
},
]}
title="Meet Our Master Barbers"
description="Experts in their craft, dedicated to your style."
@@ -139,15 +206,40 @@ export default function LandingPage() {
useInvertedBackground={true}
testimonials={[
{
id: "1", name: "John D.", handle: "@johnd", testimonial: "I've been coming here for 30 years. Best cut in town, guaranteed.", imageSrc: "http://img.b2bpic.net/free-photo/professional-bearded-barber-man-apron-happy-excited-talking-mobile-phone-showing-thumbs-up-standing-white-wall_141793-48434.jpg"},
id: "1",
name: "John D.",
handle: "@johnd",
testimonial: "I've been coming here for 30 years. Best cut in town, guaranteed.",
imageSrc: "http://img.b2bpic.net/free-photo/professional-bearded-barber-man-apron-happy-excited-talking-mobile-phone-showing-thumbs-up-standing-white-wall_141793-48434.jpg",
},
{
id: "2", name: "Marcus W.", handle: "@marcusw", testimonial: "Top-tier craftsmanship and great conversation every single time.", imageSrc: "http://img.b2bpic.net/free-photo/man-taking-good-care-his-face-home_23-2148883814.jpg"},
id: "2",
name: "Marcus W.",
handle: "@marcusw",
testimonial: "Top-tier craftsmanship and great conversation every single time.",
imageSrc: "http://img.b2bpic.net/free-photo/man-taking-good-care-his-face-home_23-2148883814.jpg",
},
{
id: "3", name: "Samuel L.", handle: "@samuell", testimonial: "Took my grandson here for his first cut. Just as good as it was when I first started visiting.", imageSrc: "http://img.b2bpic.net/free-photo/girl-sitting-table-holding-mobile-phone-indoors_171337-17096.jpg"},
id: "3",
name: "Samuel L.",
handle: "@samuell",
testimonial: "Took my grandson here for his first cut. Just as good as it was when I first started visiting.",
imageSrc: "http://img.b2bpic.net/free-photo/girl-sitting-table-holding-mobile-phone-indoors_171337-17096.jpg",
},
{
id: "4", name: "Thomas K.", handle: "@thomask", testimonial: "Professional, clean, and consistent. Won't go anywhere else in Charlotte.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-groom-his-beach-wedding_23-2149044005.jpg"},
id: "4",
name: "Thomas K.",
handle: "@thomask",
testimonial: "Professional, clean, and consistent. Won't go anywhere else in Charlotte.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-groom-his-beach-wedding_23-2149044005.jpg",
},
{
id: "5", name: "David S.", handle: "@davids", testimonial: "The atmosphere is unmatched and the service is always top notch.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-suit-black-studio-lights-background_158538-9654.jpg"},
id: "5",
name: "David S.",
handle: "@davids",
testimonial: "The atmosphere is unmatched and the service is always top notch.",
imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-suit-black-studio-lights-background_158538-9654.jpg",
},
]}
title="Generations of Loyalty"
description="Hear why Charlotte trusts our chairs."
@@ -159,7 +251,14 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
names={[
"The Head Shop", "Charlotte Style", "Classic Cuts", "Barber Excellence", "Legacy Grooming", "True Barbering", "Charlotte Grooming"]}
"The Head Shop",
"Charlotte Style",
"Classic Cuts",
"Barber Excellence",
"Legacy Grooming",
"True Barbering",
"Charlotte Grooming",
]}
title="Trusted by Charlotte"
description="Our legacy and reputation speak for themselves."
/>
@@ -171,11 +270,20 @@ export default function LandingPage() {
useInvertedBackground={true}
faqs={[
{
id: "1", title: "Do I need an appointment?", content: "While walk-ins are welcome, appointments are highly encouraged to ensure availability with your preferred barber."},
id: "1",
title: "Do I need an appointment?",
content: "While walk-ins are welcome, appointments are highly encouraged to ensure availability with your preferred barber.",
},
{
id: "2", title: "How long do appointments take?", content: "Standard haircuts usually take between 30 and 45 minutes depending on the service."},
id: "2",
title: "How long do appointments take?",
content: "Standard haircuts usually take between 30 and 45 minutes depending on the service.",
},
{
id: "3", title: "Are you family friendly?", content: "Absolutely! We welcome all ages and offer services for the whole family."},
id: "3",
title: "Are you family friendly?",
content: "Absolutely! We welcome all ages and offer services for the whole family.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/tools-shaving-beard-desk_23-2148181852.jpg"
mediaAnimation="slide-up"
@@ -194,4 +302,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

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