Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7710e0da78 |
258
src/app/page.tsx
258
src/app/page.tsx
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
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 ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||||
import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve';
|
import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve';
|
||||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
import HeroBillboardScroll from '@/components/sections/hero/HeroBillboardScroll';
|
import HeroBillboardScroll from '@/components/sections/hero/HeroBillboardScroll';
|
||||||
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
|
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
|
||||||
import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
|
import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
|
||||||
@@ -30,26 +30,11 @@ export default function LandingPage() {
|
|||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleApple
|
<NavbarStyleApple
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{ name: "Home", id: "hero" },
|
||||||
name: "Home",
|
{ name: "Roof Repair", id: "features" },
|
||||||
id: "hero",
|
{ name: "Installation", id: "features" },
|
||||||
},
|
{ name: "Testimonials", id: "testimonials" },
|
||||||
{
|
{ name: "Contact", id: "contact" },
|
||||||
name: "About",
|
|
||||||
id: "about",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Services",
|
|
||||||
id: "features",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Testimonials",
|
|
||||||
id: "testimonials",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Contact",
|
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="Bob Piva Roofing"
|
brandName="Bob Piva Roofing"
|
||||||
/>
|
/>
|
||||||
@@ -57,20 +42,12 @@ export default function LandingPage() {
|
|||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboardScroll
|
<HeroBillboardScroll
|
||||||
background={{
|
background={{ variant: "gradient-bars" }}
|
||||||
variant: "gradient-bars",
|
|
||||||
}}
|
|
||||||
title="Expert Roofing Solutions in Escondido"
|
title="Expert Roofing Solutions in Escondido"
|
||||||
description="Bob Piva Roofing provides reliable, high-quality roofing services for residential and commercial properties. Serving the Escondido community with integrity and precision since 1978."
|
description="Bob Piva Roofing provides reliable, high-quality roofing services for residential and commercial properties. Serving the Escondido community with integrity and precision since 1978."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{ text: "Get Free Estimate", href: "#contact" },
|
||||||
text: "Get Free Estimate",
|
{ text: "Learn More", href: "#about" },
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: "Learn More",
|
|
||||||
href: "#about",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/construction-worker-doing-his-job-with-belt_23-2149343658.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/construction-worker-doing-his-job-with-belt_23-2149343658.jpg"
|
||||||
imageAlt="Professional roofers working on a residential home"
|
imageAlt="Professional roofers working on a residential home"
|
||||||
@@ -83,18 +60,9 @@ export default function LandingPage() {
|
|||||||
title="Over 40 Years of Roofing Excellence"
|
title="Over 40 Years of Roofing Excellence"
|
||||||
description="At Bob Piva Roofing, we treat your home like our own. Our team of skilled craftsmen ensures every project is completed with premium materials and attention to detail."
|
description="At Bob Piva Roofing, we treat your home like our own. Our team of skilled craftsmen ensures every project is completed with premium materials and attention to detail."
|
||||||
metrics={[
|
metrics={[
|
||||||
{
|
{ value: "45+", title: "Years Experience" },
|
||||||
value: "45+",
|
{ value: "5k+", title: "Roofs Completed" },
|
||||||
title: "Years Experience",
|
{ value: "100%", title: "Customer Satisfaction" },
|
||||||
},
|
|
||||||
{
|
|
||||||
value: "5k+",
|
|
||||||
title: "Roofs Completed",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: "100%",
|
|
||||||
title: "Customer Satisfaction",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/executives-with-hardhats_1098-3083.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/executives-with-hardhats_1098-3083.jpg"
|
||||||
imageAlt="Our experienced roofing crew at work"
|
imageAlt="Our experienced roofing crew at work"
|
||||||
@@ -110,52 +78,16 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", label: "Repair", title: "Emergency Roof Repairs", items: ["Leak detection", "Shingle replacement", "Storm damage"],
|
||||||
label: "Repair",
|
buttons: [{ text: "Get Quote", href: "#contact" }],
|
||||||
title: "Emergency Roof Repairs",
|
|
||||||
items: [
|
|
||||||
"Leak detection",
|
|
||||||
"Shingle replacement",
|
|
||||||
"Storm damage",
|
|
||||||
],
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Learn More",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", label: "Installation", title: "Full Roof Replacement", items: ["Asphalt shingles", "Tile roofing", "Flat roofing"],
|
||||||
label: "Installation",
|
buttons: [{ text: "Get Quote", href: "#contact" }],
|
||||||
title: "Full Roof Replacement",
|
|
||||||
items: [
|
|
||||||
"Asphalt shingles",
|
|
||||||
"Tile roofing",
|
|
||||||
"Flat roofing",
|
|
||||||
],
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Learn More",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3", label: "Maintenance", title: "Preventative Care", items: ["Routine inspections", "Cleaning services", "Gutter repair"],
|
||||||
label: "Maintenance",
|
buttons: [{ text: "Get Quote", href: "#contact" }],
|
||||||
title: "Preventative Care",
|
|
||||||
items: [
|
|
||||||
"Routine inspections",
|
|
||||||
"Cleaning services",
|
|
||||||
"Gutter repair",
|
|
||||||
],
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Learn More",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
title="Comprehensive Roofing Services"
|
title="Comprehensive Roofing Services"
|
||||||
@@ -170,26 +102,11 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
metrics={[
|
metrics={[
|
||||||
{
|
{
|
||||||
id: "m1",
|
id: "m1", value: "12+", title: "Licensed Professionals", description: "Experienced technicians on every site.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-plus-size-man-working-construction_23-2150772847.jpg"},
|
||||||
value: "12+",
|
|
||||||
title: "Licensed Professionals",
|
|
||||||
description: "Experienced technicians on every site.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-plus-size-man-working-construction_23-2150772847.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "m2",
|
id: "m2", value: "24/7", title: "Support Available", description: "We are here for you whenever emergencies happen.", imageSrc: "http://img.b2bpic.net/free-vector/call-center-support-banners-consultation-free-call-operator-technical-assistance-information-vector-illustration_1284-46201.jpg"},
|
||||||
value: "24/7",
|
|
||||||
title: "Support Available",
|
|
||||||
description: "We are here for you whenever emergencies happen.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-vector/call-center-support-banners-consultation-free-call-operator-technical-assistance-information-vector-illustration_1284-46201.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "m3",
|
id: "m3", value: "10Yr", title: "Warranty Coverage", description: "On all new installations for your peace of mind.", imageSrc: "http://img.b2bpic.net/free-photo/craftsman-cuts-steel-profiles-drywall-close-up-selective-focus-preparing-installation-frame-ceiling-profile-system-renovation-renovation_166373-1906.jpg"},
|
||||||
value: "10Yr",
|
|
||||||
title: "Warranty Coverage",
|
|
||||||
description: "On all new installations for your peace of mind.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/craftsman-cuts-steel-profiles-drywall-close-up-selective-focus-preparing-installation-frame-ceiling-profile-system-renovation-renovation_166373-1906.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Quality by the Numbers"
|
title="Quality by the Numbers"
|
||||||
description="Why homeowners trust us for their roofing needs in North County."
|
description="Why homeowners trust us for their roofing needs in North County."
|
||||||
@@ -203,45 +120,11 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", name: "Mark Stevens", handle: "@marksteve", testimonial: "Bob Piva Roofing saved my home after a major storm. Reliable and honest.", rating: 5,
|
||||||
name: "Mark Stevens",
|
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-men-shaking-hands_23-2148920606.jpg"},
|
||||||
handle: "@marksteve",
|
|
||||||
testimonial: "Bob Piva Roofing saved my home after a major storm. Reliable and honest.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-men-shaking-hands_23-2148920606.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", name: "Linda G.", handle: "@lindag", testimonial: "Excellent service and very thorough installation.", rating: 5,
|
||||||
name: "Linda G.",
|
imageSrc: "http://img.b2bpic.net/free-photo/expressive-senior-female-posing-indoor_344912-1294.jpg"},
|
||||||
handle: "@lindag",
|
|
||||||
testimonial: "Excellent service and very thorough installation.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/expressive-senior-female-posing-indoor_344912-1294.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3",
|
|
||||||
name: "David W.",
|
|
||||||
handle: "@davew",
|
|
||||||
testimonial: "Competitive pricing and finished ahead of schedule.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/healthy-lifestyle-sustained-home_23-2149362443.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "4",
|
|
||||||
name: "Sarah P.",
|
|
||||||
handle: "@sarahp",
|
|
||||||
testimonial: "They take pride in their work. Highly recommended.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/couple-moving-new-house_23-2149383620.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "5",
|
|
||||||
name: "Robert B.",
|
|
||||||
handle: "@robertb",
|
|
||||||
testimonial: "Great experience overall. No complaints.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-experienced-carpenter-his-younger-employee_329181-15645.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
showRating={true}
|
showRating={true}
|
||||||
title="What Our Clients Say"
|
title="What Our Clients Say"
|
||||||
@@ -254,21 +137,9 @@ export default function LandingPage() {
|
|||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{ id: "f1", title: "How long does a roof replacement take?", content: "Typically 2-4 days, depending on size and weather." },
|
||||||
id: "f1",
|
{ id: "f2", title: "Are you fully licensed and insured?", content: "Yes, we are fully licensed and insured in CA." },
|
||||||
title: "How long does a roof replacement take?",
|
{ id: "f3", title: "Do you offer free quotes?", content: "Absolutely. We provide free, no-obligation estimates." },
|
||||||
content: "Typically 2-4 days, depending on size and weather.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "f2",
|
|
||||||
title: "Are you fully licensed and insured?",
|
|
||||||
content: "Yes, we are fully licensed and insured in CA.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "f3",
|
|
||||||
title: "Do you offer free quotes?",
|
|
||||||
content: "Absolutely. We provide free, no-obligation estimates.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-people-wearing-protection-helmets_23-2149343642.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-people-wearing-protection-helmets_23-2149343642.jpg"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
@@ -279,62 +150,41 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="contact" data-section="contact">
|
||||||
<ContactText
|
<ContactSplitForm
|
||||||
useInvertedBackground={true}
|
title="Get a Roofing Estimate"
|
||||||
background={{
|
description="Fill out the form below and our team will contact you shortly to schedule an inspection."
|
||||||
variant: "gradient-bars",
|
inputs={[
|
||||||
}}
|
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
||||||
text="Ready to get started on your next roofing project?"
|
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||||
buttons={[
|
{ name: "phone", type: "tel", placeholder: "Phone Number", required: true }
|
||||||
{
|
|
||||||
text: "Call (760) 555-0123",
|
|
||||||
href: "tel:7605550123",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: "Email Us",
|
|
||||||
href: "mailto:info@bobpivaroofing.com",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
textarea={{ name: "message", placeholder: "Describe your roofing needs..." }}
|
||||||
|
buttonText="Submit Inquiry"
|
||||||
|
useInvertedBackground={true}
|
||||||
|
imageSrc="http://img.b2bpic.net/free-photo/construction-manager-inspecting-roof_23-2149343666.jpg"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterLogoEmphasis
|
<FooterBase
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
items: [
|
title: "Company", items: [
|
||||||
{
|
{ label: "About Us", href: "#about" },
|
||||||
label: "Home",
|
{ label: "Our Services", href: "#features" },
|
||||||
href: "#hero",
|
{ label: "Contact", href: "#contact" }
|
||||||
},
|
]
|
||||||
{
|
|
||||||
label: "Services",
|
|
||||||
href: "#features",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Contact",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
title: "Legal", items: [
|
||||||
{
|
{ label: "License #123456", href: "#" },
|
||||||
label: "License #123456",
|
{ label: "Privacy Policy", href: "#" },
|
||||||
href: "#",
|
{ label: "Terms of Use", href: "#" }
|
||||||
},
|
]
|
||||||
{
|
}
|
||||||
label: "Privacy Policy",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Terms of Use",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
logoText="Bob Piva Roofing"
|
logoText="Bob Piva Roofing"
|
||||||
|
copyrightText="© 2025 Bob Piva Roofing. All Rights Reserved."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
|
|||||||
Reference in New Issue
Block a user