Compare commits
67 Commits
version_3
...
version_25
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c9904700d | |||
| 7a49784494 | |||
| b7c1a36e28 | |||
| 3bffca8776 | |||
| 18d9a5e6c7 | |||
| 70abadd4ec | |||
| 1e7e703bfb | |||
| bcd85e4403 | |||
| e36d10ff12 | |||
| 350bbba88d | |||
| d7a8fe39c9 | |||
| e5ee48cc07 | |||
| 33e28812d7 | |||
| d949ae7cb3 | |||
| e51edb2ab9 | |||
| 58bba9e16c | |||
| 3cb217e9b3 | |||
| e815a263c7 | |||
| 8d03c5e113 | |||
| 0d5bd9a8e7 | |||
| 357b1e99f1 | |||
| be3f300dd9 | |||
| fe98a8d669 | |||
| f3b3d1b041 | |||
| 2b5743a2fd | |||
| 5669f9543a | |||
| 0b2b51c4a5 | |||
| 2e7dfb439b | |||
| 567a9a641f | |||
| 1c468fe31c | |||
| 71935b7066 | |||
| bceadae530 | |||
| cb5af2ec7a | |||
| c0a817b43c | |||
| 7234fe2d99 | |||
| 6eff575a7c | |||
| 77a69d2a9b | |||
| 3a87ce8924 | |||
| 91a89cec1c | |||
| ccea7837a8 | |||
| dafafa4cfa | |||
| f45dc80dee | |||
| 8481618b5c | |||
| 34562e3547 | |||
| 10b2f70044 | |||
| c1a7e012c7 | |||
| b544a8f516 | |||
| 8ef2a51617 | |||
| cda52caab6 | |||
| dc737307f2 | |||
| bc614524be | |||
| ac44fa8a04 | |||
| d5495600fe | |||
| 53e726473c | |||
| e505baebe0 | |||
| 0eff2338f8 | |||
| 58e8d2db55 | |||
| a4a5b51d72 | |||
| c2fa2fcdc1 | |||
| 1f3817b736 | |||
| 2d143dd5e7 | |||
| dab70193db | |||
| 577b896a03 | |||
| 4d87759c06 | |||
| 5168a5cfa1 | |||
| 1dd4b7fdeb | |||
| 582cdee74d |
55
src/app/about/page.tsx
Normal file
55
src/app/about/page.tsx
Normal file
@@ -0,0 +1,55 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
|
||||
export default function AboutPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="expand-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
background="blurBottom"
|
||||
cardStyle="soft-shadow"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/"},
|
||||
{ name: "About", id: "/about"},
|
||||
{ name: "Contact", id: "/contact"},
|
||||
]}
|
||||
brandName="Lackawanna"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="about-content" data-section="about-content" className="pt-32 pb-24">
|
||||
<TextSplitAbout
|
||||
title="About Lackawanna Barber Shop"
|
||||
description={["At Lackawanna, we are dedicated to preserving the art of traditional barbering while serving the modern man. With over two decades of experience, our commitment to quality, community, and precision cuts has made us a cornerstone of Morristown."]}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
logoText="Lackawanna Barber Shop"
|
||||
columns={[
|
||||
{ items: [{ label: "132 Morris St, Morristown, NJ", href: "/contact" }, { label: "+1 (973) 538-1675", href: "tel:+19735381675" }] },
|
||||
{ items: [{ label: "Services", href: "/#services" }, { label: "Team", href: "/#team" }, { label: "FAQs", href: "/#faq" }] }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
59
src/app/contact/page.tsx
Normal file
59
src/app/contact/page.tsx
Normal file
@@ -0,0 +1,59 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import { useRouter } from "next/navigation";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import ContactCTA from '@/components/sections/contact/ContactCTA';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
|
||||
export default function ContactPage() {
|
||||
const router = useRouter();
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="expand-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
background="blurBottom"
|
||||
cardStyle="soft-shadow"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Contact", id: "/contact" }
|
||||
]}
|
||||
brandName="Lackawanna"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact-content" data-section="contact-content" className="pt-32 pb-24">
|
||||
<ContactCTA
|
||||
tag="Contact"
|
||||
title="Ready for your next cut?"
|
||||
description="Stop by our Morristown shop or give us a call at (973) 538-1675 to inquire about wait times."
|
||||
buttons={[{ text: "Submit", onClick: () => router.push("/") }]}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={true}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Lackawanna Barber Shop"
|
||||
leftLink={{ text: "Contact", href: "/contact" }}
|
||||
rightLink={{ text: "Home", href: "/" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
174
src/app/page.tsx
174
src/app/page.tsx
@@ -2,15 +2,13 @@
|
||||
|
||||
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 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';
|
||||
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -30,18 +28,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,31 +41,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-1776352201800-hefnk77v.jpg"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776352201800-hefnk77v.jpg?_wi=1"
|
||||
imageAlt="Lackawanna Barber Shop"
|
||||
mediaAnimation="slide-up"
|
||||
avatars={[
|
||||
{
|
||||
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"},
|
||||
{ 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={[
|
||||
@@ -86,43 +70,15 @@ 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-1776352201801-bp8o0yyb.jpg"
|
||||
mediaAnimation="blur-reveal"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<PricingCardEight
|
||||
animationType="slide-up"
|
||||
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", features: ["Classic Scissor Cut", "Modern Styling", "Expert Consultation"], buttons: [{text: "Contact Us", href: "/contact"}]},
|
||||
{ id: "pro", badge: "Premium", price: "$75", subtitle: "Full Grooming Experience", features: ["Precision Haircut", "Beard Trim", "Hot Towel Service", "Relaxed Refresh"], buttons: [{text: "Contact Us", href: "/contact"}]},
|
||||
{ id: "kids", badge: "Family", price: "$30", subtitle: "Youth Haircut", features: ["Gentle Scissor Cut", "Fast Friendly Service", "Classic Style"], buttons: [{text: "Contact Us", href: "/contact"}]},
|
||||
]}
|
||||
title="Quality Service, Transparent Price"
|
||||
description="Simple, honest pricing for the services you need."
|
||||
@@ -135,10 +91,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-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"},
|
||||
{ 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."
|
||||
@@ -146,53 +100,55 @@ export default function LandingPage() {
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardSixteen
|
||||
animationType="slide-up"
|
||||
textboxLayout="split-description"
|
||||
useInvertedBackground={false}
|
||||
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 },
|
||||
]}
|
||||
kpiItems={[
|
||||
{ value: "100+", label: "Weekly Cuts" },
|
||||
{ value: "20+", label: "Years Served" },
|
||||
{ value: "5★", label: "Rating Average" },
|
||||
]}
|
||||
title="What Our Clients Say"
|
||||
description="We are proud to serve our community and deliver the best cuts in town."
|
||||
<TestimonialCardTwo
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
title="Testimonials"
|
||||
description="See what our clients say about our work."
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Client One",
|
||||
role: "Local Customer",
|
||||
testimonial: "Exceptional service and great atmosphere.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776531377369-oo06t3wn.png"
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
name: "Client Two",
|
||||
role: "Regular Visitor",
|
||||
testimonial: "Always get a perfect fade here.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CRaO5i0elf1aDIpszoFKWNR31x/uploaded-1776531377370-5uotcrix.png"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</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"
|
||||
/>
|
||||
</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: "#" }]}
|
||||
/>
|
||||
<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}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/front-view-baber-shop-chiar_23-2148506337.jpg"
|
||||
imageAlt="Lackawanna Barber Shop Interior"
|
||||
/>
|
||||
</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", href: "/contact" }, { label: "+1 (973) 538-1675", href: "/contact" }] },
|
||||
{ items: [{ label: "Services", href: "/#services" }, { label: "Team", href: "/#team" }, { label: "FAQs", href: "/#faq" }] }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
|
||||
Reference in New Issue
Block a user