35 Commits

Author SHA1 Message Date
3a87ce8924 Update src/app/page.tsx 2026-04-16 16:51:22 +00:00
91a89cec1c Merge version_12 into main
Merge version_12 into main
2026-04-16 16:45:18 +00:00
ccea7837a8 Update src/app/page.tsx 2026-04-16 16:45:12 +00:00
dafafa4cfa Merge version_11 into main
Merge version_11 into main
2026-04-16 16:43:26 +00:00
f45dc80dee Update src/app/page.tsx 2026-04-16 16:43:23 +00:00
8481618b5c Merge version_10 into main
Merge version_10 into main
2026-04-16 16:42:11 +00:00
34562e3547 Update src/app/page.tsx 2026-04-16 16:42:08 +00:00
10b2f70044 Merge version_9 into main
Merge version_9 into main
2026-04-16 16:39:28 +00:00
c1a7e012c7 Update src/app/page.tsx 2026-04-16 16:39:25 +00:00
b544a8f516 Merge version_8 into main
Merge version_8 into main
2026-04-16 16:38:23 +00:00
8ef2a51617 Update src/app/page.tsx 2026-04-16 16:38:17 +00:00
cda52caab6 Merge version_8 into main
Merge version_8 into main
2026-04-16 16:36:04 +00:00
dc737307f2 Update theme colors 2026-04-16 16:35:58 +00:00
bc614524be Merge version_7 into main
Merge version_7 into main
2026-04-16 16:35:50 +00:00
ac44fa8a04 Update theme colors 2026-04-16 16:35:47 +00:00
d5495600fe Merge version_6 into main
Merge version_6 into main
2026-04-16 16:35:36 +00:00
53e726473c Update theme colors 2026-04-16 16:35:33 +00:00
e505baebe0 Merge version_5 into main
Merge version_5 into main
2026-04-16 16:32:05 +00:00
0eff2338f8 Update src/app/page.tsx 2026-04-16 16:32:02 +00:00
58e8d2db55 Merge version_5 into main
Merge version_5 into main
2026-04-16 16:31:37 +00:00
a4a5b51d72 Update src/app/page.tsx 2026-04-16 16:31:34 +00:00
c2fa2fcdc1 Merge version_5 into main
Merge version_5 into main
2026-04-16 16:26:40 +00:00
1f3817b736 Update src/app/page.tsx 2026-04-16 16:26:37 +00:00
2d143dd5e7 Merge version_5 into main
Merge version_5 into main
2026-04-16 16:21:58 +00:00
dab70193db Update src/app/page.tsx 2026-04-16 16:21:55 +00:00
577b896a03 Merge version_4 into main
Merge version_4 into main
2026-04-16 15:20:49 +00:00
4d87759c06 Update src/app/page.tsx 2026-04-16 15:20:43 +00:00
5168a5cfa1 Merge version_3 into main
Merge version_3 into main
2026-04-16 15:19:00 +00:00
21a9dd2de9 Remove watermark 2026-04-16 15:18:57 +00:00
1dd4b7fdeb Merge version_3 into main
Merge version_3 into main
2026-04-16 15:16:46 +00:00
60a954b01b Update src/app/page.tsx 2026-04-16 15:16:43 +00:00
582cdee74d Merge version_3 into main
Merge version_3 into main
2026-04-16 15:10:17 +00:00
f2313a01a0 Update src/app/page.tsx 2026-04-16 15:10:14 +00:00
33ef5db7f8 Merge version_2 into main
Merge version_2 into main
2026-04-16 15:04:37 +00:00
bcc4522657 Merge version_2 into main
Merge version_2 into main
2026-04-16 15:04:13 +00:00
2 changed files with 61 additions and 92 deletions

View File

@@ -4,7 +4,6 @@ import { Inter } from "next/font/google";
import "./globals.css";
import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Manrope } from "next/font/google";
import { DM_Sans } from "next/font/google";
@@ -39,7 +38,7 @@ export default function RootLayout({
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${manrope.variable} ${dmSans.variable} antialiased`}>
<Tag />
{children}
<script
dangerouslySetInnerHTML={{

View File

@@ -2,13 +2,12 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactText from '@/components/sections/contact/ContactText';
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import ContactCenter from '@/components/sections/contact/ContactCenter';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
import SplitAbout from '@/components/sections/about/SplitAbout';
import TeamCardFive from '@/components/sections/team/TeamCardFive';
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
@@ -30,18 +29,12 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{
name: "About", id: "#about"},
{
name: "Services", id: "#services"},
{
name: "Team", id: "#team"},
{
name: "Testimonials", id: "#testimonials"},
{
name: "FAQ", id: "#faq"},
{
name: "Contact", id: "#contact"},
{ name: "About", id: "about"},
{ name: "Services", id: "services"},
{ name: "Team", id: "team"},
{ name: "Testimonials", id: "testimonials"},
{ name: "FAQ", id: "faq"},
{ name: "Contact", id: "contact"},
]}
brandName="Lackawanna"
/>
@@ -49,33 +42,23 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroSplitKpi
background={{
variant: "downward-rays-static"}}
background={{ variant: "downward-rays-static"}}
title="Classic Style, Contemporary Precision."
description="At Lackawanna, we blend old-school charm with modern barbering. Experience the best cut in Morristown from barbers who actually care about your look."
kpis={[
{
value: "20+", label: "Years Experience"},
{
value: "10/10", label: "Recommend Rate"},
{
value: "100%", label: "Satisfaction"},
{ value: "20+", label: "Years Experience"},
{ value: "10/10", label: "Recommend Rate"},
{ value: "100%", label: "Satisfaction"},
]}
enableKpiAnimation={true}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776351836185-yyi4q32w.png?_wi=1"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352201800-hefnk77v.jpg"
imageAlt="Lackawanna Barber Shop"
mediaAnimation="slide-up"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/retro-theatre-scene-celebrate-world-theatre-day_23-2151211458.jpg", alt: "Retro theatre scene"},
{
src: "http://img.b2bpic.net/free-photo/tall-bar-stool-wooden-background_181624-30147.jpg", alt: "Barber chair"},
{
src: "http://img.b2bpic.net/free-photo/hair-salon-chair-with-towel-armchair_23-2148242777.jpg", alt: "Salon tools"},
{
src: "http://img.b2bpic.net/free-photo/retro-world-theatre-day-scenes-with-backstage_23-2151211363.jpg", alt: "Interior detail"},
{
src: "http://img.b2bpic.net/free-photo/client-barber-greeting-each-other-barbershop_23-2148181951.jpg", alt: "Barber service"},
{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352201800-hefnk77v.jpg", alt: "Barber shop interior"},
{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352201801-bp8o0yyb.jpg", alt: "Detail view"},
{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352201801-l2nw3w51.jpg", alt: "Chair and tools"},
{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352201801-opcyony6.jpg", alt: "Shop perspective"},
]}
avatarText="Join 500+ satisfied clients"
marqueeItems={[
@@ -88,23 +71,14 @@ export default function LandingPage() {
/>
</div>
<div id="about" data-section="about">
<SplitAbout
textboxLayout="split"
useInvertedBackground={false}
title="More Than Just a Haircut"
description="We are a throwback barber shop where you can get a classic men's cut, beard trim, or a hot towel shave. We treat you like family, ensuring you leave with both the cut you wanted and the confidence you deserve."
bulletPoints={[
{
title: "Old School Values", description: "Classic techniques combined with current styling trends."},
{
title: "Warm Environment", description: "Friendly, sociable atmosphere where you feel right at home."},
{
title: "Expert Care", description: "Knowledgeable barbers who understand every hair type."},
]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776351836185-sni9tvqg.png?_wi=1"
mediaAnimation="blur-reveal"
/>
<div id="about" data-section="about" className="py-24 bg-background">
<div className="container mx-auto px-4">
<h2 className="text-3xl font-bold mb-12 text-center">Shop Contact Information</h2>
<div className="text-center py-10">
<p className="text-lg font-medium">Location: Morristown, NJ</p>
<p className="text-lg font-medium">Phone: +1 (973) 538-1675</p>
</div>
</div>
</div>
<div id="services" data-section="services">
@@ -113,18 +87,9 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
plans={[
{
id: "basic", badge: "Classic", price: "$40", subtitle: "Precision Haircut", buttons: [{ text: "Walk-in Only", href: "#contact" }],
features: ["Classic Scissor Cut", "Modern Styling", "Expert Consultation"],
},
{
id: "pro", badge: "Premium", price: "$75", subtitle: "Full Grooming Experience", buttons: [{ text: "Walk-in Only", href: "#contact" }],
features: ["Precision Haircut", "Beard Trim", "Hot Towel Service", "Relaxed Refresh"],
},
{
id: "kids", badge: "Family", price: "$30", subtitle: "Youth Haircut", buttons: [{ text: "Walk-in Only", href: "#contact" }],
features: ["Gentle Scissor Cut", "Fast Friendly Service", "Classic Style"],
},
{ id: "basic", badge: "Classic", price: "$40", subtitle: "Precision Haircut", buttons: [{ text: "Walk-in Only", href: "#contact" }], features: ["Classic Scissor Cut", "Modern Styling", "Expert Consultation"]},
{ id: "pro", badge: "Premium", price: "$75", subtitle: "Full Grooming Experience", buttons: [{ text: "Walk-in Only", href: "#contact" }], features: ["Precision Haircut", "Beard Trim", "Hot Towel Service", "Relaxed Refresh"]},
{ id: "kids", badge: "Family", price: "$30", subtitle: "Youth Haircut", buttons: [{ text: "Walk-in Only", href: "#contact" }], features: ["Gentle Scissor Cut", "Fast Friendly Service", "Classic Style"]},
]}
title="Quality Service, Transparent Price"
description="Simple, honest pricing for the services you need."
@@ -137,10 +102,8 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
team={[
{
id: "t1", name: "John Franco", role: "Master Barber", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776351836185-sni9tvqg.png?_wi=2"},
{
id: "t2", name: "Elio", role: "Old School Specialist", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776351836185-yyi4q32w.png?_wi=2"},
{ id: "t1", name: "John Franco", role: "Master Barber", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352542504-tkr21jqa.png"},
{ id: "t2", name: "Elio", role: "Old School Specialist", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352566826-2nyt55b1.jpg"},
]}
title="Meet Your Staff"
description="Our dedicated team is here to ensure you get the absolute best service in Morristown."
@@ -155,6 +118,9 @@ export default function LandingPage() {
testimonials={[
{ id: "1", name: "Barry H.", role: "Loyal Customer", company: "FL", rating: 5 },
{ id: "2", name: "Melissa C.", role: "Regular Client", company: "NY", rating: 5 },
{ id: "3", name: "Tom K.", role: "Local Resident", company: "NJ", rating: 5 },
{ id: "4", name: "Sarah J.", role: "Frequent Visitor", company: "NJ", rating: 5 },
{ id: "5", name: "Michael P.", role: "Client", company: "NY", rating: 5 },
]}
kpiItems={[
{ value: "100+", label: "Weekly Cuts" },
@@ -167,34 +133,38 @@ export default function LandingPage() {
</div>
<div id="faq" data-section="faq">
<FaqSplitText
useInvertedBackground={false}
faqs={[
{ id: "q1", title: "Do you accept appointments?", content: "We operate primarily as a walk-in shop to maintain that classic, casual vibe." },
{ id: "q2", title: "Is it cash only?", content: "Yes, we are a classic cash-only establishment." },
]}
sideTitle="Common Questions"
faqsAnimation="blur-reveal"
/>
<FaqSplitMedia
faqs={[
{ id: "q1", title: "Do you accept appointments?", content: "We operate primarily as a walk-in shop to maintain that classic, casual vibe." },
{ id: "q2", title: "Is it cash only?", content: "Yes, we are a classic cash-only establishment." },
]}
title="Common Questions"
description="Everything you need to know about our barber shop services."
faqsAnimation="slide-up"
textboxLayout="default"
mediaPosition="right"
useInvertedBackground={false}
/>
</div>
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={false}
background={{ variant: "sparkles-gradient" }}
text="Ready for your next haircut? Stop by the shop today and meet the team. We look forward to seeing you!"
buttons={[{ text: "Visit Us Today", href: "#" }]}
/>
<ContactCenter
tag="Visit Us"
title="Ready for your next cut?"
description="Stop by our Morristown shop to experience the Lackawanna difference."
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={true}
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
logoText="Lackawanna Barber Shop"
columns={[
{ title: "Shop", items: [{ label: "Morristown, NJ", href: "#" }] },
]}
copyrightText="© 2024 Lackawanna Barber Shop. All rights reserved."
/>
<FooterLogoEmphasis
logoText="Lackawanna Barber Shop"
columns={[
{ items: [{ label: "132 Morris St, Morristown, NJ" }, { label: "+1 (973) 538-1675" }] },
{ items: [{ label: "Services" }, { label: "Team" }, { label: "FAQs" }] }
]}
/>
</div>
</ReactLenis>
</ThemeProvider>