Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bcf851c3f4 | |||
| 814bd2aa30 | |||
| 36a3d956b9 | |||
| c691916c17 | |||
| 094a67d879 | |||
| e74a93ac9e | |||
| ee6729356f | |||
| c8fea2b307 | |||
| 36635b8619 | |||
| 0193364c2f |
@@ -4,7 +4,6 @@ import { Inter } from "next/font/google";
|
|||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import "@/lib/gsap-setup";
|
import "@/lib/gsap-setup";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||||
import { Playfair_Display, Source_Sans_3 } from "next/font/google";
|
import { Playfair_Display, Source_Sans_3 } from "next/font/google";
|
||||||
|
|
||||||
@@ -27,7 +26,7 @@ export default function RootLayout({
|
|||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${playfair.variable} ${sourceSans3.variable} antialiased`}>
|
<body className={`${playfair.variable} ${sourceSans3.variable} antialiased`}>
|
||||||
<Tag />
|
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
|
|||||||
208
src/app/page.tsx
208
src/app/page.tsx
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import ReactLenis from "lenis/react";
|
import ReactLenis from "lenis/react";
|
||||||
import ContactText from '@/components/sections/contact/ContactText';
|
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
||||||
import FeatureCardThree from '@/components/sections/feature/featureCardThree/FeatureCardThree';
|
import FeatureCardSix from '@/components/sections/feature/FeatureCardSix';
|
||||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||||
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||||
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
|
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
|
||||||
import TextAbout from '@/components/sections/about/TextAbout';
|
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -29,17 +29,11 @@ export default function LandingPage() {
|
|||||||
<NavbarStyleApple
|
<NavbarStyleApple
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{
|
||||||
name: "Services",
|
name: "About", id: "#about"},
|
||||||
id: "#services",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "About",
|
name: "Testimonials", id: "#testimonials"},
|
||||||
id: "#about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Contact",
|
name: "Contact", id: "#contact"},
|
||||||
id: "#contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="The Sons"
|
brandName="The Sons"
|
||||||
/>
|
/>
|
||||||
@@ -48,211 +42,71 @@ export default function LandingPage() {
|
|||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboard
|
<HeroBillboard
|
||||||
background={{
|
background={{
|
||||||
variant: "gradient-bars",
|
variant: "gradient-bars"}}
|
||||||
}}
|
|
||||||
title="Premium Plumbing Done Right the First Time"
|
title="Premium Plumbing Done Right the First Time"
|
||||||
description="Family-owned. Precision-driven. Trusted by homeowners who expect more."
|
description="Family-owned. Precision-driven. Trusted by homeowners who expect more."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Request Service Now",
|
text: "Request Service Now", href: "#contact"},
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
text: "Call Now: (555) 123-4567",
|
text: "Call Now: (555) 123-4567", href: "tel:5551234567"},
|
||||||
href: "tel:5551234567",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/professional-plumber-at-work-cinematic-l-1774815972984-ee460ab4.png"
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/professional-plumber-at-work-cinematic-l-1774815972984-ee460ab4.png"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
avatars={[
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815972663-c16fad9f.png",
|
|
||||||
alt: "Satisfied client",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815973003-6b629430.png",
|
|
||||||
alt: "Satisfied client",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815973064-c550718e.png",
|
|
||||||
alt: "Satisfied client",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815972550-15078aec.png",
|
|
||||||
alt: "Satisfied client",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815972663-c16fad9f.png",
|
|
||||||
alt: "Satisfied client",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
avatarText="Trusted by 500+ Local Families"
|
|
||||||
marqueeItems={[
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Licensed & Insured",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "24/7 Emergency Support",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Transparent Pricing",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Family Owned & Operated",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Guaranteed Satisfaction",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="about" data-section="about">
|
<div id="about" data-section="about">
|
||||||
<TextAbout
|
<InlineImageSplitTextAbout
|
||||||
|
heading={[{ type: 'text', content: 'Meet Phillip: A Legacy of Craftsmanship' }]}
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
title="A Family Legacy of Craftsmanship"
|
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{ text: "Learn More", href: "#" }
|
||||||
text: "Learn More",
|
|
||||||
href: "#about",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
tag="About Us"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="features" data-section="features">
|
<div id="features" data-section="features">
|
||||||
<FeatureCardThree
|
<FeatureCardSix
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
gridVariant="three-columns-all-equal-width"
|
title="Better Communication, Better Results"
|
||||||
|
description="We keep you informed from the first call to the final sign-off."
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
features={[
|
features={[
|
||||||
{
|
{ id: 1, title: "Transparent Updates", description: "You'll always know exactly where we are in the process.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/clock-and-calendar-icon-digital-ui-desig-1774815974671-f15302f4.png" },
|
||||||
id: "f1",
|
{ id: 2, title: "Detailed Estimates", description: "No surprises—just clear, upfront pricing every time.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/detail-of-high-precision-wrench-on-pipe--1774815972971-f82d5d2a.png" }
|
||||||
title: "Precision Workmanship",
|
|
||||||
description: "We don’t cut corners—every job is done to last.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/detail-of-high-precision-wrench-on-pipe--1774815972971-f82d5d2a.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "f2",
|
|
||||||
title: "Family-Owned Values",
|
|
||||||
description: "Respect, honesty, and accountability in every visit.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/warm-family-oriented-shot-friendly-exper-1774815974419-58288b44.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "f3",
|
|
||||||
title: "Fast, Reliable Service",
|
|
||||||
description: "We show up on time—and we get it done right.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/clock-and-calendar-icon-digital-ui-desig-1774815974671-f15302f4.png",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Not Your Average Plumbing Company"
|
|
||||||
description="Excellence in every interaction."
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="testimonials" data-section="testimonials">
|
<div id="testimonials" data-section="testimonials">
|
||||||
<TestimonialCardThirteen
|
<TestimonialCardSixteen
|
||||||
|
title="Highlights from Our Community"
|
||||||
|
description="Real feedback from neighbors who trust our family."
|
||||||
|
useInvertedBackground={true}
|
||||||
|
textboxLayout="default"
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
textboxLayout="split"
|
kpiItems={[{ label: "Jobs Done", value: "500+" }, { label: "Happy Families", value: "450+" }, { label: "Years Serving", value: "15+" }]}
|
||||||
useInvertedBackground={false}
|
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{ id: "1", name: "Sarah M.", role: "Homeowner", company: "", rating: 5, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815972663-c16fad9f.png" }
|
||||||
id: "1",
|
|
||||||
name: "Sarah M.",
|
|
||||||
handle: "Homeowner",
|
|
||||||
testimonial: "Professional, clean, and extremely reliable. Easily the best plumbing service I’ve used.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815972663-c16fad9f.png?_wi=1",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "2",
|
|
||||||
name: "David R.",
|
|
||||||
handle: "Homeowner",
|
|
||||||
testimonial: "They treated my home like their own. That’s rare.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815973003-6b629430.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3",
|
|
||||||
name: "Jane D.",
|
|
||||||
handle: "Homeowner",
|
|
||||||
testimonial: "Exceptional service and communication throughout the process.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815973064-c550718e.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "4",
|
|
||||||
name: "Mike B.",
|
|
||||||
handle: "Homeowner",
|
|
||||||
testimonial: "Prompt and efficient. Will definitely call them again!",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815972550-15078aec.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "5",
|
|
||||||
name: "Elena P.",
|
|
||||||
handle: "Homeowner",
|
|
||||||
testimonial: "The only plumbers I trust for my kitchen remodels. Flawless work.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BdPJRqIgg8ngXJ9CfoPA8RvgIz/portrait-of-a-happy-homeowner-warm-light-1774815972663-c16fad9f.png?_wi=2",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
showRating={true}
|
|
||||||
title="Trusted by Homeowners"
|
|
||||||
description="See why our neighbors trust us with their homes."
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="contact" data-section="contact">
|
||||||
<ContactText
|
<ContactCenter
|
||||||
|
tag="Book Your Slot"
|
||||||
|
title="Ready to Fix Your Plumbing?"
|
||||||
|
description="Phillip and his team are ready to help. Fill out the form below to get started."
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{ variant: "gradient-bars" }}
|
||||||
variant: "gradient-bars",
|
|
||||||
}}
|
|
||||||
text="Need Plumbing Help Today? Same-day service available. Limited slots—book now before we’re full."
|
|
||||||
buttons={[
|
|
||||||
{
|
|
||||||
text: "Schedule Now",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterLogoEmphasis
|
<FooterLogoEmphasis
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{ items: [{ label: "About", href: "#about" }, { label: "Contact", href: "#contact" }] }
|
||||||
items: [
|
|
||||||
{
|
|
||||||
label: "Services",
|
|
||||||
href: "#services",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "About",
|
|
||||||
href: "#about",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
items: [
|
|
||||||
{
|
|
||||||
label: "Contact",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "License #12345",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
logoText="The Sons Plumbing Service"
|
logoText="The Sons Plumbing Service"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #ffffff;
|
--background: #0a0c10;
|
||||||
--card: #fcfcfc;
|
--card: #151821;
|
||||||
--foreground: #0B1F3A;
|
--foreground: #e2e8f0;
|
||||||
--primary-cta: #C8A96A;
|
--primary-cta: #d4af37;
|
||||||
--primary-cta-text: #111111;
|
--primary-cta-text: #111111;
|
||||||
--secondary-cta: #111111;
|
--secondary-cta: #1e3a8a;
|
||||||
--secondary-cta-text: #ffffff;
|
--secondary-cta-text: #ffffff;
|
||||||
--accent: #e2e2e2;
|
--accent: #c5a028;
|
||||||
--background-accent: #0B1F3A;
|
--background-accent: #1a1e2a;
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|||||||
Reference in New Issue
Block a user