Merge version_2 into main #1
280
src/app/page.tsx
280
src/app/page.tsx
@@ -2,10 +2,10 @@
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
|
||||
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
|
||||
import FooterSimple from '@/components/sections/footer/FooterSimple';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
|
||||
import MetricCardOne from '@/components/sections/metrics/MetricCardOne';
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
@@ -18,35 +18,23 @@ export default function LandingPage() {
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="smallMedium"
|
||||
sizing="largeSmallSizeMediumTitles"
|
||||
background="grid"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="medium"
|
||||
borderRadius="pill"
|
||||
contentWidth="mediumLarge"
|
||||
sizing="mediumLargeSizeLargeTitles"
|
||||
background="aurora"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{
|
||||
name: "Home",
|
||||
id: "hero",
|
||||
},
|
||||
{
|
||||
name: "Services",
|
||||
id: "services",
|
||||
},
|
||||
{
|
||||
name: "Testimonials",
|
||||
id: "testimonials",
|
||||
},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "contact",
|
||||
},
|
||||
{ name: "Home", id: "hero" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Testimonials", id: "testimonials" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
brandName="J.W. Freeman Plumbing"
|
||||
/>
|
||||
@@ -54,72 +42,22 @@ export default function LandingPage() {
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroSplitKpi
|
||||
background={{
|
||||
variant: "gradient-bars",
|
||||
}}
|
||||
background={{ variant: "gradient-bars" }}
|
||||
title="Reliable Plumbing Services for Your Home"
|
||||
description="J.W. Freeman Plumbing delivers professional, fast, and high-quality plumbing solutions in your area. Trusted by homeowners for expert repairs and installations."
|
||||
kpis={[
|
||||
{
|
||||
value: "15+",
|
||||
label: "Years Experience",
|
||||
},
|
||||
{
|
||||
value: "24/7",
|
||||
label: "Emergency Support",
|
||||
},
|
||||
{
|
||||
value: "5000+",
|
||||
label: "Homes Serviced",
|
||||
},
|
||||
{ value: "15+", label: "Years Experience" },
|
||||
{ value: "24/7", label: "Emergency Support" },
|
||||
{ value: "5000+", label: "Homes Serviced" },
|
||||
]}
|
||||
enableKpiAnimation={true}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/working-tools-things-worker-builder-electrician-top-view_169016-25063.jpg"
|
||||
mediaAnimation="slide-up"
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/joyful-female-customers-enjoying-shopping-online_1262-18525.jpg",
|
||||
alt: "Happy client 1",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/happy-adult-son-his-mature-father-holding-hands-while-greeting-each-other-kitchen_637285-10296.jpg",
|
||||
alt: "Happy client 2",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/couple-home-enjoying-life_23-2149167741.jpg",
|
||||
alt: "Happy client 3",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/beautiful-young-african-american-woman-smiling-cheerful-friendly-face-laughing-confident_839833-29956.jpg",
|
||||
alt: "Happy client 4",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/airbnb-host-welcoming-guests_23-2149872045.jpg",
|
||||
alt: "Happy client 5",
|
||||
},
|
||||
]}
|
||||
avatarText="Trusted by 5000+ local homeowners"
|
||||
marqueeItems={[
|
||||
{
|
||||
type: "text",
|
||||
text: "Licensed & Insured",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "Certified Professionals",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "Transparent Quotes",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "Guaranteed Results",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "24/7 Available",
|
||||
},
|
||||
{ type: "text", text: "Licensed & Insured" },
|
||||
{ type: "text", text: "Certified Professionals" },
|
||||
{ type: "text", text: "Transparent Quotes" },
|
||||
{ type: "text", text: "Guaranteed Results" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -131,18 +69,9 @@ export default function LandingPage() {
|
||||
title="The Freeman Commitment"
|
||||
description="At J.W. Freeman Plumbing, we treat every home with respect. We combine traditional craftsmanship with modern plumbing technology to ensure your systems are running perfectly."
|
||||
bulletPoints={[
|
||||
{
|
||||
title: "Expert Certified Pros",
|
||||
description: "Licensed and insured technicians ready to solve your issues.",
|
||||
},
|
||||
{
|
||||
title: "Transparent Pricing",
|
||||
description: "Upfront quotes with no hidden fees, period.",
|
||||
},
|
||||
{
|
||||
title: "Quality Guaranteed",
|
||||
description: "We stand by our work with solid warranties on all jobs.",
|
||||
},
|
||||
{ title: "Expert Certified Pros", description: "Licensed and insured technicians." },
|
||||
{ title: "Transparent Pricing", description: "Upfront quotes with no hidden fees." },
|
||||
{ title: "Quality Guaranteed", description: "Solid warranties on all jobs." },
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-young-male-technician-working-computer-motherboard_23-2147923492.jpg"
|
||||
mediaAnimation="blur-reveal"
|
||||
@@ -155,24 +84,12 @@ export default function LandingPage() {
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
features={[
|
||||
{
|
||||
title: "Leak Detection",
|
||||
description: "Advanced detection to find hidden issues quickly.",
|
||||
icon: Shield,
|
||||
},
|
||||
{
|
||||
title: "Water Heater Service",
|
||||
description: "Installation and repair for all heater types.",
|
||||
icon: Zap,
|
||||
},
|
||||
{
|
||||
title: "Drain Cleaning",
|
||||
description: "Clearing stubborn blocks with ease.",
|
||||
icon: CheckCircle,
|
||||
},
|
||||
{ title: "Leak Detection", description: "Advanced detection to find hidden issues.", icon: Shield },
|
||||
{ title: "Water Heater Service", description: "Installation and repair for all types.", icon: Zap },
|
||||
{ title: "Drain Cleaning", description: "Clearing stubborn blocks with ease.", icon: CheckCircle },
|
||||
]}
|
||||
title="Comprehensive Plumbing Services"
|
||||
description="From emergency leaks to full system renovations, we have the tools and experience."
|
||||
description="From emergency leaks to full renovations, we have the experience."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -183,30 +100,12 @@ export default function LandingPage() {
|
||||
gridVariant="uniform-all-items-equal"
|
||||
useInvertedBackground={true}
|
||||
metrics={[
|
||||
{
|
||||
id: "m1",
|
||||
value: "99%",
|
||||
title: "Client Satisfaction",
|
||||
description: "Our work consistently exceeds expectations.",
|
||||
icon: Star,
|
||||
},
|
||||
{
|
||||
id: "m2",
|
||||
value: "2k+",
|
||||
title: "Happy Clients",
|
||||
description: "Families trusting us with their home needs.",
|
||||
icon: Award,
|
||||
},
|
||||
{
|
||||
id: "m3",
|
||||
value: "30m",
|
||||
title: "Arrival Time",
|
||||
description: "Fast response for emergency needs.",
|
||||
icon: Zap,
|
||||
},
|
||||
{ id: "m1", value: "99%", title: "Satisfaction", description: "Work that exceeds expectations.", icon: Star },
|
||||
{ id: "m2", value: "2k+", title: "Happy Clients", description: "Trusting us with home needs.", icon: Award },
|
||||
{ id: "m3", value: "30m", title: "Response", description: "Fast arrival times.", icon: Zap },
|
||||
]}
|
||||
title="Quality by the Numbers"
|
||||
description="Our success is measured by the satisfaction of our loyal local customer base."
|
||||
description="Our success is measured by the satisfaction of our local base."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -215,49 +114,11 @@ export default function LandingPage() {
|
||||
textboxLayout="split"
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "t1",
|
||||
title: "Great Service",
|
||||
quote: "Fast response and very fair pricing. Fixed my sink leak in minutes.",
|
||||
name: "Sarah Miller",
|
||||
role: "Homeowner",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-street-using-mobile-phone_657883-744.jpg",
|
||||
},
|
||||
{
|
||||
id: "t2",
|
||||
title: "Professional",
|
||||
quote: "They were on time and very clean. My new water heater works perfectly.",
|
||||
name: "David Clark",
|
||||
role: "Property Manager",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/workers-having-little-chat-while-having-cup-coffee_329181-15605.jpg",
|
||||
},
|
||||
{
|
||||
id: "t3",
|
||||
title: "Highly Recommend",
|
||||
quote: "Knowledgeable and polite. Freeman Plumbing is now my go-to.",
|
||||
name: "Emily Jones",
|
||||
role: "Homeowner",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-girl-looking-away_23-2148436134.jpg",
|
||||
},
|
||||
{
|
||||
id: "t4",
|
||||
title: "Expert Work",
|
||||
quote: "They fixed what three other plumbers couldn't. Simply amazing.",
|
||||
name: "Kevin White",
|
||||
role: "Homeowner",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-receiving-groceries_23-2149722274.jpg",
|
||||
},
|
||||
{
|
||||
id: "t5",
|
||||
title: "Reliable",
|
||||
quote: "Very reliable team. I always call them for maintenance.",
|
||||
name: "Anna Brown",
|
||||
role: "Homeowner",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/middle-age-couple-standing-together-doing-ok-gesture-with-hand-smiling-eye-looking-through-fingers-with-happy-face_839833-32832.jpg",
|
||||
},
|
||||
{ id: "t1", title: "Great Service", quote: "Fast and fair pricing.", name: "Sarah Miller", role: "Homeowner", imageSrc: "http://img.b2bpic.net/free-photo/man-street-using-mobile-phone_657883-744.jpg" },
|
||||
{ id: "t2", title: "Professional", quote: "Clean and efficient work.", name: "David Clark", role: "Property Manager", imageSrc: "http://img.b2bpic.net/free-photo/workers-having-little-chat-while-having-cup-coffee_329181-15605.jpg" },
|
||||
]}
|
||||
title="Trusted by Your Neighbors"
|
||||
description="See why homeowners choose Freeman Plumbing for every plumbing need."
|
||||
description="See why homeowners choose Freeman Plumbing."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -265,75 +126,38 @@ export default function LandingPage() {
|
||||
<FaqSplitText
|
||||
useInvertedBackground={true}
|
||||
faqs={[
|
||||
{
|
||||
id: "f1",
|
||||
title: "Do you offer emergency services?",
|
||||
content: "Yes, our team is available for emergency repairs 24/7.",
|
||||
},
|
||||
{
|
||||
id: "f2",
|
||||
title: "Are your plumbers insured?",
|
||||
content: "Absolutely. Our entire team is fully licensed and insured for your protection.",
|
||||
},
|
||||
{
|
||||
id: "f3",
|
||||
title: "How do I get a quote?",
|
||||
content: "Contact us via the form or phone, and we will provide an estimate.",
|
||||
},
|
||||
{ id: "f1", title: "Do you offer emergency services?", content: "Yes, 24/7 support." },
|
||||
{ id: "f2", title: "Are your plumbers insured?", content: "Yes, fully licensed and insured." },
|
||||
]}
|
||||
sideTitle="Common Questions"
|
||||
sideDescription="Need answers fast? Here are our most requested facts."
|
||||
sideDescription="Answers to our most requested facts."
|
||||
faqsAnimation="blur-reveal"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactCenter
|
||||
useInvertedBackground={false}
|
||||
background={{
|
||||
variant: "gradient-bars",
|
||||
}}
|
||||
tag="Ready to Start"
|
||||
<ContactSplitForm
|
||||
title="Need Help Today?"
|
||||
description="Send us your details and we'll be in touch to schedule your service appointment."
|
||||
description="Send us your details and we'll be in touch immediately."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name" },
|
||||
{ name: "email", type: "email", placeholder: "Email Address" }
|
||||
]}
|
||||
useInvertedBackground={true}
|
||||
buttonText="Get A Quote"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterSimple
|
||||
<FooterLogoEmphasis
|
||||
logoText="J.W. Freeman Plumbing"
|
||||
columns={[
|
||||
{
|
||||
title: "Navigation",
|
||||
items: [
|
||||
{
|
||||
label: "Services",
|
||||
href: "#services",
|
||||
},
|
||||
{
|
||||
label: "About",
|
||||
href: "#about",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
{
|
||||
label: "Terms of Service",
|
||||
href: "#",
|
||||
},
|
||||
],
|
||||
},
|
||||
{ items: [{ label: "Home", href: "#hero" }, { label: "Services", href: "#services" }] },
|
||||
{ items: [{ label: "Privacy", href: "#" }, { label: "Terms", href: "#" }] }
|
||||
]}
|
||||
bottomLeftText="© 2024 J.W. Freeman Plumbing"
|
||||
bottomRightText="Licensed and Insured"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-nunito), sans-serif;
|
||||
font-family: var(--font-montserrat), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-nunito), sans-serif;
|
||||
font-family: var(--font-montserrat), sans-serif;
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #f5faff;
|
||||
--card: #f1f8ff;
|
||||
--foreground: #001122;
|
||||
--primary-cta: #15479c;
|
||||
--background: #fbfaff;
|
||||
--card: #f7f5ff;
|
||||
--foreground: #0f0022;
|
||||
--primary-cta: #8b5cf6;
|
||||
--primary-cta-text: #f5faff;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #001122;
|
||||
--accent: #a8cce8;
|
||||
--background-accent: #7ba3cf;
|
||||
--accent: #d8cef5;
|
||||
--background-accent: #c4a8f9;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user