9 Commits

Author SHA1 Message Date
2652caa7ad Update src/app/page.tsx 2026-05-27 00:34:34 +00:00
1c5b834b36 Merge version_2 into main
Merge version_2 into main
2026-05-27 00:31:38 +00:00
92cca6908b Update src/app/page.tsx 2026-05-27 00:31:32 +00:00
97e9705f8a Merge version_2 into main
Merge version_2 into main
2026-05-27 00:30:58 +00:00
c59b2c3516 Update src/app/styles/variables.css 2026-05-27 00:30:55 +00:00
3e9234a8d8 Update src/app/styles/base.css 2026-05-27 00:30:55 +00:00
266f475dd1 Update src/app/page.tsx 2026-05-27 00:30:54 +00:00
c70dc4b72e Update src/app/layout.tsx 2026-05-27 00:30:54 +00:00
bf5166f8ad Merge version_1 into main
Merge version_1 into main
2026-05-26 23:29:23 +00:00
4 changed files with 70 additions and 221 deletions

View File

@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Public_Sans } from "next/font/google"; import { Public_Sans } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
@@ -41,13 +42,13 @@ export const metadata: Metadata = {
}, },
}; };
const publicSans = Public_Sans({
variable: "--font-public-sans", const libreBaskerville = Libre_Baskerville({
subsets: ["latin"] variable: "--font-libre-baskerville", subsets: ["latin"],
weight: ["400", "700"],
}); });
const inter = Inter({ const inter = Inter({
variable: "--font-inter", variable: "--font-inter", subsets: ["latin"],
subsets: ["latin"]
}); });
export default function RootLayout({ export default function RootLayout({
@@ -58,7 +59,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${publicSans.variable} ${inter.variable} antialiased`}> <body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -18,13 +18,13 @@ export default function LandingPage() {
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-bubble" defaultButtonVariant="hover-bubble"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="soft" borderRadius="rounded"
contentWidth="compact" contentWidth="compact"
sizing="largeSmall" sizing="largeSmall"
background="noise" background="circleGradient"
cardStyle="glass-depth" cardStyle="soft-shadow"
primaryButtonStyle="diagonal-gradient" primaryButtonStyle="shadow"
secondaryButtonStyle="layered" secondaryButtonStyle="solid"
headingFontWeight="bold" headingFontWeight="bold"
> >
<ReactLenis root> <ReactLenis root>
@@ -32,34 +32,20 @@ export default function LandingPage() {
<NavbarStyleCentered <NavbarStyleCentered
navItems={[ navItems={[
{ {
name: "Home", name: "Home", id: "#home"},
id: "#home",
},
{ {
name: "About", name: "About", id: "#about"},
id: "#about",
},
{ {
name: "Services", name: "Services", id: "#services"},
id: "#services",
},
{ {
name: "Products", name: "Products", id: "#products"},
id: "#products",
},
{ {
name: "Pricing", name: "Pricing", id: "#pricing"},
id: "#pricing",
},
{ {
name: "Testimonials", name: "Testimonials", id: "#testimonials"},
id: "#testimonials",
},
]} ]}
button={{ button={{
text: "Book Now", text: "Book Now", href: "#contact"}}
href: "#contact",
}}
brandName="New Legacy Barbershop" brandName="New Legacy Barbershop"
/> />
</div> </div>
@@ -67,19 +53,14 @@ export default function LandingPage() {
<div id="home" data-section="home"> <div id="home" data-section="home">
<HeroLogoBillboard <HeroLogoBillboard
background={{ background={{
variant: "downward-rays-static", variant: "downward-rays-static"}}
}}
logoText="NEW LEGACY" logoText="NEW LEGACY"
description="Crafting Timeless Style. Experience the art of grooming in a luxurious setting designed for the modern gentleman." description="Crafting Timeless Style. Experience the art of grooming in a luxurious setting designed for the modern gentleman."
buttons={[ buttons={[
{ {
text: "Book an Appointment", text: "Book an Appointment", href: "#contact"},
href: "#contact",
},
{ {
text: "Explore Services", text: "Explore Services", href: "#services"},
href: "#services",
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="https://img.b2bpic.net/free-photo/client-doing-hair-cut-barber-shop-salon_1303-20889.jpg?id=7377605" imageSrc="https://img.b2bpic.net/free-photo/client-doing-hair-cut-barber-shop-salon_1303-20889.jpg?id=7377605"
@@ -94,18 +75,13 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
heading={[ heading={[
{ {
type: "text", type: "text", content: "Our Legacy of "},
content: "Our Legacy of ",
},
{ {
type: "text", type: "text", content: "Excellence"},
content: "Excellence",
},
]} ]}
buttons={[ buttons={[
{ {
text: "Learn More", text: "Learn More"},
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
/> />
@@ -118,44 +94,20 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ {
id: "1", id: "1", label: "Haircut", title: "Precision Haircuts", items: [
label: "Haircut", "Customized consultation", "Expert cut and style", "Hot lather neck shave"],
title: "Precision Haircuts",
items: [
"Customized consultation",
"Expert cut and style",
"Hot lather neck shave",
],
}, },
{ {
id: "2", id: "2", label: "Shave", title: "Luxurious Hot Towel Shaves", items: [
label: "Shave", "Traditional straight razor shave", "Pre-shave oil & hot towels", "Post-shave balm & facial massage"],
title: "Luxurious Hot Towel Shaves",
items: [
"Traditional straight razor shave",
"Pre-shave oil & hot towels",
"Post-shave balm & facial massage",
],
}, },
{ {
id: "3", id: "3", label: "Beard", title: "Beard Grooming & Styling", items: [
label: "Beard", "Shaping & trimming", "Beard oil application", "Line-up & clean finish"],
title: "Beard Grooming & Styling",
items: [
"Shaping & trimming",
"Beard oil application",
"Line-up & clean finish",
],
}, },
{ {
id: "4", id: "4", label: "Facial", title: "Rejuvenating Facial Treatments", items: [
label: "Facial", "Deep cleansing & exfoliation", "Customized mask treatment", "Moisturizing & anti-aging serums"],
title: "Rejuvenating Facial Treatments",
items: [
"Deep cleansing & exfoliation",
"Customized mask treatment",
"Moisturizing & anti-aging serums",
],
}, },
]} ]}
title="Our Signature Services" title="Our Signature Services"
@@ -171,53 +123,17 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
products={[ products={[
{ {
id: "p1", id: "p1", name: "Classic Hair Pomade", price: "$25", variant: "Strong Hold", imageSrc: "http://img.b2bpic.net/free-photo/supplement-jar_187299-46032.jpg", imageAlt: "Classic Hair Pomade product"},
name: "Classic Hair Pomade",
price: "$25",
variant: "Strong Hold",
imageSrc: "http://img.b2bpic.net/free-photo/supplement-jar_187299-46032.jpg",
imageAlt: "Classic Hair Pomade product",
},
{ {
id: "p2", id: "p2", name: "Premium Beard Oil", price: "$30", variant: "Sandalwood Scent", imageSrc: "http://img.b2bpic.net/free-photo/healthy-jojoba-oil-arrangement_23-2149047723.jpg", imageAlt: "Premium Beard Oil product"},
name: "Premium Beard Oil",
price: "$30",
variant: "Sandalwood Scent",
imageSrc: "http://img.b2bpic.net/free-photo/healthy-jojoba-oil-arrangement_23-2149047723.jpg",
imageAlt: "Premium Beard Oil product",
},
{ {
id: "p3", id: "p3", name: "Rich Shaving Cream", price: "$20", variant: "Sensitive Skin", imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-barber-wearing-uniform-shaving-his-moustache-with-straight-razor-looking-up-with-shaving-cream-put-his-face-isolated-olive-green-background_141793-85010.jpg", imageAlt: "Rich Shaving Cream product"},
name: "Rich Shaving Cream",
price: "$20",
variant: "Sensitive Skin",
imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-barber-wearing-uniform-shaving-his-moustache-with-straight-razor-looking-up-with-shaving-cream-put-his-face-isolated-olive-green-background_141793-85010.jpg",
imageAlt: "Rich Shaving Cream product",
},
{ {
id: "p4", id: "p4", name: "Soothing Aftershave", price: "$22", variant: "Cooling Mint", imageSrc: "http://img.b2bpic.net/free-photo/skin-regeneration-product-still-life_23-2151232231.jpg", imageAlt: "Soothing Aftershave product"},
name: "Soothing Aftershave",
price: "$22",
variant: "Cooling Mint",
imageSrc: "http://img.b2bpic.net/free-photo/skin-regeneration-product-still-life_23-2151232231.jpg",
imageAlt: "Soothing Aftershave product",
},
{ {
id: "p5", id: "p5", name: "Texturizing Styling Clay", price: "$28", variant: "Matte Finish", imageSrc: "http://img.b2bpic.net/free-photo/pensive-woman-holding-hammer-hands-gray-background_114579-66949.jpg", imageAlt: "Texturizing Styling Clay product"},
name: "Texturizing Styling Clay",
price: "$28",
variant: "Matte Finish",
imageSrc: "http://img.b2bpic.net/free-photo/pensive-woman-holding-hammer-hands-gray-background_114579-66949.jpg",
imageAlt: "Texturizing Styling Clay product",
},
{ {
id: "p6", id: "p6", name: "Charcoal Face Wash", price: "$18", variant: "Deep Cleanse", imageSrc: "http://img.b2bpic.net/free-photo/front-view-man-using-shaving-cream_23-2148696649.jpg", imageAlt: "Charcoal Face Wash product"},
name: "Charcoal Face Wash",
price: "$18",
variant: "Deep Cleanse",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-man-using-shaving-cream_23-2148696649.jpg",
imageAlt: "Charcoal Face Wash product",
},
]} ]}
title="Premium Grooming Essentials" title="Premium Grooming Essentials"
description="Elevate your daily routine with our curated selection of high-quality products, chosen for their superior performance and luxurious feel." description="Elevate your daily routine with our curated selection of high-quality products, chosen for their superior performance and luxurious feel."
@@ -231,54 +147,23 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
plans={[ plans={[
{ {
id: "basic", id: "basic", tag: "Classic", price: "$35", period: "per service", description: "Perfect for a sharp, clean look. Our signature cut tailored to your preference.", button: {
tag: "Classic", text: "Book Classic"},
price: "$35", featuresTitle: "Includes:", features: [
period: "per service", "Precision Haircut", "Hot Lather Neck Shave", "Styling & Finish"],
description: "Perfect for a sharp, clean look. Our signature cut tailored to your preference.",
button: {
text: "Book Classic",
},
featuresTitle: "Includes:",
features: [
"Precision Haircut",
"Hot Lather Neck Shave",
"Styling & Finish",
],
}, },
{ {
id: "premium", id: "premium", tag: "Legacy Package", tagIcon: Sparkles,
tag: "Legacy Package", price: "$55", period: "per package", description: "The ultimate grooming experience. A full transformation for the discerning gentleman.", button: {
tagIcon: Sparkles, text: "Book Legacy"},
price: "$55", featuresTitle: "Includes:", features: [
period: "per package", "Precision Haircut", "Line-Up", "Rejuvenating Facial Treatment", "Beard Trim & Styling (if applicable)"],
description: "The ultimate grooming experience. A full transformation for the discerning gentleman.",
button: {
text: "Book Legacy",
},
featuresTitle: "Includes:",
features: [
"Precision Haircut",
"Line-Up",
"Rejuvenating Facial Treatment",
"Beard Trim & Styling (if applicable)",
],
}, },
{ {
id: "executive", id: "executive", tag: "Kid Haircuts ", price: "$25", period: "per service", description: "Combine the perfect cut and tranformation.", button: {
tag: "Kid Haircuts ", text: "Book Kids Cut"},
price: "$25", featuresTitle: "Includes:", features: [
period: "per service", "Precision Haircut", "Line-Up", "Aftershave Spray "],
description: "Combine the perfect cut and tranformation.",
button: {
text: "Book Kids Cut",
},
featuresTitle: "Includes:",
features: [
"Precision Haircut",
"Line-Up",
"Aftershave Spray ",
],
}, },
]} ]}
title="Our Service Menu" title="Our Service Menu"
@@ -293,45 +178,15 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
testimonials={[ testimonials={[
{ {
id: "1", id: "1", name: "Marcus A.", handle: "@marcus_style", testimonial: "New Legacy is unparalleled. Every cut is perfect, and the atmosphere is pure class. I wouldn't go anywhere else.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-getting-haircut_23-2150665403.jpg", imageAlt: "Customer Marcus A."},
name: "Marcus A.",
handle: "@marcus_style",
testimonial: "New Legacy is unparalleled. Every cut is perfect, and the atmosphere is pure class. I wouldn't go anywhere else.",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-getting-haircut_23-2150665403.jpg",
imageAlt: "Customer Marcus A.",
},
{ {
id: "2", id: "2", name: "James R.", handle: "@gentleman_james", testimonial: "The hot towel shave is an experience in itself. My beard has never looked better. Truly a cut above the rest.", imageSrc: "http://img.b2bpic.net/free-photo/hairdresser-putting-foam-face-client_23-2147737016.jpg", imageAlt: "Customer James R."},
name: "James R.",
handle: "@gentleman_james",
testimonial: "The hot towel shave is an experience in itself. My beard has never looked better. Truly a cut above the rest.",
imageSrc: "http://img.b2bpic.net/free-photo/hairdresser-putting-foam-face-client_23-2147737016.jpg",
imageAlt: "Customer James R.",
},
{ {
id: "3", id: "3", name: "Oliver C.", handle: "@oliver_cuts", testimonial: "Finally, a barbershop that understands modern style while respecting tradition. Always leave feeling fresh and confident.", imageSrc: "http://img.b2bpic.net/free-photo/two-businessmen-talking-phone-city_1153-8202.jpg", imageAlt: "Customer Oliver C."},
name: "Oliver C.",
handle: "@oliver_cuts",
testimonial: "Finally, a barbershop that understands modern style while respecting tradition. Always leave feeling fresh and confident.",
imageSrc: "http://img.b2bpic.net/free-photo/two-businessmen-talking-phone-city_1153-8202.jpg",
imageAlt: "Customer Oliver C.",
},
{ {
id: "4", id: "4", name: "David M.", handle: "@dave_the_man", testimonial: "The attention to detail here is incredible. From the moment you walk in, you know you're in for a premium experience.", imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-white-suit-with-embroidery-sits-windowsill-before-bright-window_8353-8276.jpg", imageAlt: "Customer David M."},
name: "David M.",
handle: "@dave_the_man",
testimonial: "The attention to detail here is incredible. From the moment you walk in, you know you're in for a premium experience.",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-white-suit-with-embroidery-sits-windowsill-before-bright-window_8353-8276.jpg",
imageAlt: "Customer David M.",
},
{ {
id: "5", id: "5", name: "Ethan P.", handle: "@ethan_grooming", testimonial: "I've tried many barbershops, but New Legacy is truly the best. Professional, luxurious, and consistently great results.", imageSrc: "http://img.b2bpic.net/free-photo/man-hair-salon-facing-camera_23-2148242763.jpg", imageAlt: "Customer Ethan P."},
name: "Ethan P.",
handle: "@ethan_grooming",
testimonial: "I've tried many barbershops, but New Legacy is truly the best. Professional, luxurious, and consistently great results.",
imageSrc: "http://img.b2bpic.net/free-photo/man-hair-salon-facing-camera_23-2148242763.jpg",
imageAlt: "Customer Ethan P.",
},
]} ]}
title="What Our Clients Say" title="What Our Clients Say"
description="Hear from gentlemen who trust New Legacy Barbershop for their grooming needs and impeccable style." description="Hear from gentlemen who trust New Legacy Barbershop for their grooming needs and impeccable style."
@@ -344,14 +199,11 @@ export default function LandingPage() {
<ContactText <ContactText
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "downward-rays-static-grid", variant: "downward-rays-static-grid"}}
}}
text="Ready for a transformation? Book your appointment and step into a new legacy of style and confidence." text="Ready for a transformation? Book your appointment and step into a new legacy of style and confidence."
buttons={[ buttons={[
{ {
text: "Schedule Your Visit", text: "Schedule Your Visit", href: "#"},
href: "#",
},
]} ]}
/> />
</div> </div>
@@ -360,13 +212,9 @@ export default function LandingPage() {
<FooterLogoReveal <FooterLogoReveal
logoText="NEW LEGACY BARBERSHOP" logoText="NEW LEGACY BARBERSHOP"
leftLink={{ leftLink={{
text: "Privacy Policy", text: "About Us", href: "#about"}}
href: "#",
}}
rightLink={{ rightLink={{
text: "Terms of Service", text: "Our Services", href: "#services"}}
href: "#",
}}
/> />
</div> </div>
</ReactLenis> </ReactLenis>

View File

@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-public-sans), sans-serif; font-family: var(--font-libre-baskerville), serif;
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f5f5f5; --background: #f5f4f0;
--card: #ffffff; --card: #ffffff;
--foreground: #1c1c1c; --foreground: #1a1a1a;
--primary-cta: #1f514c; --primary-cta: #2c2c2c;
--primary-cta-text: #f5f5f5; --primary-cta-text: #f5f4f0;
--secondary-cta: #ffffff; --secondary-cta: #f5f4f0;
--secondary-cta-text: #1c1c1c; --secondary-cta-text: #1a1a1a;
--accent: #159c49; --accent: #8a8a8a;
--background-accent: #a8e8ba; --background-accent: #e8e6e1;
/* 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);