Merge version_1 into main #2

Merged
bender merged 4 commits from version_1 into main 2026-03-07 21:34:05 +00:00
4 changed files with 126 additions and 475 deletions

View File

@@ -47,9 +47,7 @@ export default function ContactPage() {
{ name: "Contact", id: "contact" },
]}
button={{
text: "Get Free Quote",
href: "contact",
}}
text: "Get Free Quote", href: "contact"}}
animateOnLoad={true}
/>
</div>
@@ -62,51 +60,32 @@ export default function ContactPage() {
tag="20+ Five Star Reviews"
tagIcon={Star}
tagAnimation="slide-up"
background={{ variant: "circleGradient" }}
background={{ variant: "glowing-orb" }}
leftCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=7",
imageAlt: "Professional roofer working on modern home at sunset",
},
imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg", imageAlt: "Professional roofer working on modern home at sunset"},
{
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=7",
imageAlt: "Expert roof repair work",
},
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Expert roof repair work"},
{
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=7",
imageAlt: "Modern flat roof installation",
},
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Modern flat roof installation"},
{
imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg?_wi=4",
imageAlt: "Professional chimney repair",
},
imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg", imageAlt: "Professional chimney repair"},
]}
rightCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg?_wi=4",
imageAlt: "Emergency roof damage response",
},
imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg", imageAlt: "Emergency roof damage response"},
{
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg?_wi=4",
imageAlt: "Professional guttering installation",
},
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg", imageAlt: "Professional guttering installation"},
{
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg?_wi=4",
imageAlt: "Satisfied customer testimonial",
},
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg", imageAlt: "Satisfied customer testimonial"},
{
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg?_wi=4",
imageAlt: "Happy customer review",
},
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg", imageAlt: "Happy customer review"},
]}
buttons={[
{
text: "Get Free Quote",
href: "contact",
},
text: "Get Free Quote", href: "contact"},
{
text: "Call Now",
onClick: () => {
text: "Call Now", onClick: () => {
window.location.href = "tel:+1234567890";
},
},
@@ -128,29 +107,21 @@ export default function ContactPage() {
useInvertedBackground={false}
bulletPoints={[
{
title: "Same Day Quotes",
description: "Most customers hear back within 24 hours with a transparent, honest estimate.",
icon: Clock,
title: "Same Day Quotes", description: "Most customers hear back within 24 hours with a transparent, honest estimate.", icon: Clock,
},
{
title: "Honest Pricing",
description: "No hidden costs or inflated prices. Clear, fair quotes you can trust.",
icon: DollarSign,
title: "Honest Pricing", description: "No hidden costs or inflated prices. Clear, fair quotes you can trust.", icon: DollarSign,
},
{
title: "Clean & Professional",
description: "Work completed tidily with respect for your property and property lines.",
icon: Sparkles,
title: "Clean & Professional", description: "Work completed tidily with respect for your property and property lines.", icon: Sparkles,
},
{
title: "Expert Knowledge",
description: "Problems diagnosed quickly with the right solution, led by Marc's expertise.",
icon: Brain,
title: "Expert Knowledge", description: "Problems diagnosed quickly with the right solution, led by Marc's expertise.", icon: Brain,
},
]}
mediaAnimation="blur-reveal"
imagePosition="right"
imageSrc="http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=8"
imageSrc="http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg"
/>
</div>
@@ -167,72 +138,33 @@ export default function ContactPage() {
animationType="slide-up"
features={[
{
id: "1",
title: "Roof Repairs",
description: "Leaks, broken tiles, storm damage and general roof issues fixed quickly and professionally.",
tag: "Emergency",
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=8",
imageAlt: "Professional roof repair work",
buttons: [
id: "1", title: "Roof Repairs", description: "Leaks, broken tiles, storm damage and general roof issues fixed quickly and professionally.", tag: "Emergency", imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Professional roof repair work", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "2",
title: "Flat Roof Installation",
description: "Durable modern flat roofing systems built to last with professional installation.",
tag: "Installation",
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=8",
imageAlt: "Modern flat roof installation",
buttons: [
id: "2", title: "Flat Roof Installation", description: "Durable modern flat roofing systems built to last with professional installation.", tag: "Installation", imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Modern flat roof installation", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "3",
title: "Chimney Repairs",
description: "Repointing, chimney restoration and leak prevention with expert workmanship.",
tag: "Repairs",
imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg?_wi=5",
imageAlt: "Professional chimney repair",
buttons: [
id: "3", title: "Chimney Repairs", description: "Repointing, chimney restoration and leak prevention with expert workmanship.", tag: "Repairs", imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg", imageAlt: "Professional chimney repair", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "4",
title: "Guttering & Drainage",
description: "Repairs, replacements and cleaning to prevent damp issues and water damage.",
tag: "Maintenance",
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg?_wi=5",
imageAlt: "Professional guttering installation",
buttons: [
id: "4", title: "Guttering & Drainage", description: "Repairs, replacements and cleaning to prevent damp issues and water damage.", tag: "Maintenance", imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg", imageAlt: "Professional guttering installation", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "5",
title: "Emergency Roofing",
description: "Fast response to urgent roof leaks or storm damage when you need it most.",
tag: "24/7 Response",
imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg?_wi=5",
imageAlt: "Emergency roof damage response",
buttons: [
id: "5", title: "Emergency Roofing", description: "Fast response to urgent roof leaks or storm damage when you need it most.", tag: "24/7 Response", imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg", imageAlt: "Emergency roof damage response", buttons: [
{
text: "Call Now",
onClick: () => {
text: "Call Now", onClick: () => {
window.location.href = "tel:+1234567890";
},
},
@@ -247,41 +179,17 @@ export default function ContactPage() {
<TestimonialCardTwelve
testimonials={[
{
id: "1",
name: "Edward F.",
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg?_wi=5",
imageAlt: "Edward F., satisfied customer",
},
id: "1", name: "Edward F.", imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg", imageAlt: "Edward F., satisfied customer"},
{
id: "2",
name: "Kate M.",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg?_wi=5",
imageAlt: "Kate M., happy customer",
},
id: "2", name: "Kate M.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg", imageAlt: "Kate M., happy customer"},
{
id: "3",
name: "Jimmy L.",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-smiling_93675-133804.jpg?_wi=3",
imageAlt: "Jimmy L., satisfied client",
},
id: "3", name: "Jimmy L.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-smiling_93675-133804.jpg", imageAlt: "Jimmy L., satisfied client"},
{
id: "4",
name: "Sarah J.",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-multiracial-business-team_1262-21007.jpg?_wi=3",
imageAlt: "Sarah J., happy homeowner",
},
id: "4", name: "Sarah J.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-multiracial-business-team_1262-21007.jpg", imageAlt: "Sarah J., happy homeowner"},
{
id: "5",
name: "Michael D.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-businessman-wearing-glasses_329181-677.jpg?_wi=3",
imageAlt: "Michael D., satisfied customer",
},
id: "5", name: "Michael D.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-businessman-wearing-glasses_329181-677.jpg", imageAlt: "Michael D., satisfied customer"},
{
id: "6",
name: "Jennifer R.",
imageSrc: "http://img.b2bpic.net/free-photo/horizontal-shot-beautiful-confident-young-african-american-woman-dressed-stylish-purple-turtleneck-smiling-joyfully-showing-ok-gesture_344912-1015.jpg?_wi=3",
imageAlt: "Jennifer R., happy customer",
},
id: "6", name: "Jennifer R.", imageSrc: "http://img.b2bpic.net/free-photo/horizontal-shot-beautiful-confident-young-african-american-woman-dressed-stylish-purple-turtleneck-smiling-joyfully-showing-ok-gesture_344912-1015.jpg", imageAlt: "Jennifer R., happy customer"},
]}
cardTitle="What Customers Say About Lavelle Roofing"
cardTag="Trusted by Homeowners"
@@ -304,37 +212,13 @@ export default function ContactPage() {
animationType="slide-up"
features={[
{
id: "1",
title: "Get in Touch",
description: "Call or request a free quote online. We respond quickly.",
tag: "Step 1",
imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=9",
imageAlt: "Contact us for a quote",
},
id: "1", title: "Get in Touch", description: "Call or request a free quote online. We respond quickly.", tag: "Step 1", imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg", imageAlt: "Contact us for a quote"},
{
id: "2",
title: "Free Assessment",
description: "We inspect the issue and explain exactly what needs fixing.",
tag: "Step 2",
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=9",
imageAlt: "Professional roof assessment",
},
id: "2", title: "Free Assessment", description: "We inspect the issue and explain exactly what needs fixing.", tag: "Step 2", imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Professional roof assessment"},
{
id: "3",
title: "Clear Quote",
description: "You receive a fair, honest price with no hidden costs.",
tag: "Step 3",
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=9",
imageAlt: "Transparent pricing quote",
},
id: "3", title: "Clear Quote", description: "You receive a fair, honest price with no hidden costs.", tag: "Step 3", imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Transparent pricing quote"},
{
id: "4",
title: "Job Done Properly",
description: "Professional work completed quickly and cleanly.",
tag: "Step 4",
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg?_wi=6",
imageAlt: "Professional completed project",
},
id: "4", title: "Job Done Properly", description: "Professional work completed quickly and cleanly.", tag: "Step 4", imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg", imageAlt: "Professional completed project"},
]}
/>
</div>
@@ -347,7 +231,7 @@ export default function ContactPage() {
description="Don't wait until it causes more damage. Contact us immediately for fast, professional emergency roofing response."
tagIcon={AlertCircle}
tagAnimation="slide-up"
background={{ variant: "circleGradient" }}
background={{ variant: "glowing-orb" }}
useInvertedBackground={false}
inputPlaceholder="Enter your email"
buttonText="Get Emergency Help"
@@ -362,74 +246,43 @@ export default function ContactPage() {
copyrightText="© 2025 Lavelle Roofing. All rights reserved."
columns={[
{
title: "Services",
items: [
title: "Services", items: [
{
label: "Roof Repairs",
href: "/services",
},
label: "Roof Repairs", href: "/services"},
{
label: "Flat Roof Installation",
href: "/services",
},
label: "Flat Roof Installation", href: "/services"},
{
label: "Chimney Repairs",
href: "/services",
},
label: "Chimney Repairs", href: "/services"},
{
label: "Guttering & Drainage",
href: "/services",
},
label: "Guttering & Drainage", href: "/services"},
{
label: "Emergency Roofing",
href: "/services",
},
label: "Emergency Roofing", href: "/services"},
],
},
{
title: "Company",
items: [
title: "Company", items: [
{
label: "About Us",
href: "/about",
},
label: "About Us", href: "/about"},
{
label: "Reviews",
href: "/reviews",
},
label: "Reviews", href: "/reviews"},
{
label: "Contact",
href: "/contact",
},
label: "Contact", href: "/contact"},
{
label: "FAQ",
href: "#",
},
label: "FAQ", href: "#"},
{
label: "Blog",
href: "#",
},
label: "Blog", href: "#"},
],
},
{
title: "Legal",
items: [
title: "Legal", items: [
{
label: "Privacy Policy",
href: "#",
},
label: "Privacy Policy", href: "#"},
{
label: "Terms of Service",
href: "#",
},
label: "Terms of Service", href: "#"},
{
label: "Insurance & Certifications",
href: "#",
},
label: "Insurance & Certifications", href: "#"},
{
label: "Fully Insured",
href: "#",
},
label: "Fully Insured", href: "#"},
],
},
]}

View File

@@ -28,8 +28,7 @@ export default function HomePage() {
const footerColumns = [
{
title: "Services",
items: [
title: "Services", items: [
{ label: "Roof Repairs", href: "/services" },
{ label: "Flat Roof Installation", href: "/services" },
{ label: "Chimney Repairs", href: "/services" },
@@ -38,8 +37,7 @@ export default function HomePage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Reviews", href: "#reviews" },
{ label: "Contact", href: "#contact" },
@@ -48,8 +46,7 @@ export default function HomePage() {
],
},
{
title: "Legal",
items: [
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Insurance & Certifications", href: "#" },
@@ -76,9 +73,7 @@ export default function HomePage() {
brandName="Lavelle Roofing"
navItems={navItems}
button={{
text: "Get Free Quote",
href: "#contact",
}}
text: "Get Free Quote", href: "#contact"}}
animateOnLoad={true}
/>
</div>
@@ -90,51 +85,32 @@ export default function HomePage() {
tag="20+ Five Star Reviews"
tagIcon={Star}
tagAnimation="slide-up"
background={{ variant: "circleGradient" }}
background={{ variant: "glowing-orb" }}
leftCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=1",
imageAlt: "Professional roofer working on modern home at sunset",
},
imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg", imageAlt: "Professional roofer working on modern home at sunset"},
{
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=1",
imageAlt: "Expert roof repair work",
},
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Expert roof repair work"},
{
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=1",
imageAlt: "Modern flat roof installation",
},
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Modern flat roof installation"},
{
imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg?_wi=1",
imageAlt: "Professional chimney repair",
},
imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg", imageAlt: "Professional chimney repair"},
]}
rightCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg?_wi=1",
imageAlt: "Emergency roof damage response",
},
imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg", imageAlt: "Emergency roof damage response"},
{
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg?_wi=1",
imageAlt: "Professional guttering installation",
},
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg", imageAlt: "Professional guttering installation"},
{
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg?_wi=1",
imageAlt: "Satisfied customer testimonial",
},
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg", imageAlt: "Satisfied customer testimonial"},
{
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg?_wi=1",
imageAlt: "Happy customer review",
},
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg", imageAlt: "Happy customer review"},
]}
buttons={[
{
text: "Get Free Quote",
href: "#contact",
},
text: "Get Free Quote", href: "#contact"},
{
text: "Call Now",
onClick: () => {
text: "Call Now", onClick: () => {
window.location.href = "tel:+1234567890";
},
},
@@ -155,29 +131,21 @@ export default function HomePage() {
useInvertedBackground={false}
bulletPoints={[
{
title: "Same Day Quotes",
description: "Most customers hear back within 24 hours with a transparent, honest estimate.",
icon: Clock,
title: "Same Day Quotes", description: "Most customers hear back within 24 hours with a transparent, honest estimate.", icon: Clock,
},
{
title: "Honest Pricing",
description: "No hidden costs or inflated prices. Clear, fair quotes you can trust.",
icon: DollarSign,
title: "Honest Pricing", description: "No hidden costs or inflated prices. Clear, fair quotes you can trust.", icon: DollarSign,
},
{
title: "Clean & Professional",
description: "Work completed tidily with respect for your property and property lines.",
icon: Sparkles,
title: "Clean & Professional", description: "Work completed tidily with respect for your property and property lines.", icon: Sparkles,
},
{
title: "Expert Knowledge",
description: "Problems diagnosed quickly with the right solution, led by Marc's expertise.",
icon: Brain,
title: "Expert Knowledge", description: "Problems diagnosed quickly with the right solution, led by Marc's expertise.", icon: Brain,
},
]}
mediaAnimation="blur-reveal"
imagePosition="right"
imageSrc="http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=2"
imageSrc="http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg"
imageAlt="Professional roofer working on modern home"
/>
</div>
@@ -194,72 +162,33 @@ export default function HomePage() {
animationType="slide-up"
features={[
{
id: "1",
title: "Roof Repairs",
description: "Leaks, broken tiles, storm damage and general roof issues fixed quickly and professionally.",
tag: "Emergency",
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=2",
imageAlt: "Professional roof repair work",
buttons: [
id: "1", title: "Roof Repairs", description: "Leaks, broken tiles, storm damage and general roof issues fixed quickly and professionally.", tag: "Emergency", imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Professional roof repair work", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "2",
title: "Flat Roof Installation",
description: "Durable modern flat roofing systems built to last with professional installation.",
tag: "Installation",
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=2",
imageAlt: "Modern flat roof installation",
buttons: [
id: "2", title: "Flat Roof Installation", description: "Durable modern flat roofing systems built to last with professional installation.", tag: "Installation", imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Modern flat roof installation", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "3",
title: "Chimney Repairs",
description: "Repointing, chimney restoration and leak prevention with expert workmanship.",
tag: "Repairs",
imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg?_wi=2",
imageAlt: "Professional chimney repair",
buttons: [
id: "3", title: "Chimney Repairs", description: "Repointing, chimney restoration and leak prevention with expert workmanship.", tag: "Repairs", imageSrc: "http://img.b2bpic.net/free-photo/plasterer-renovating-indoor-walls_1150-9959.jpg", imageAlt: "Professional chimney repair", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "4",
title: "Guttering & Drainage",
description: "Repairs, replacements and cleaning to prevent damp issues and water damage.",
tag: "Maintenance",
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg?_wi=2",
imageAlt: "Professional guttering installation",
buttons: [
id: "4", title: "Guttering & Drainage", description: "Repairs, replacements and cleaning to prevent damp issues and water damage.", tag: "Maintenance", imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg", imageAlt: "Professional guttering installation", buttons: [
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
],
},
{
id: "5",
title: "Emergency Roofing",
description: "Fast response to urgent roof leaks or storm damage when you need it most.",
tag: "24/7 Response",
imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg?_wi=2",
imageAlt: "Emergency roof damage response",
buttons: [
id: "5", title: "Emergency Roofing", description: "Fast response to urgent roof leaks or storm damage when you need it most.", tag: "24/7 Response", imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg", imageAlt: "Emergency roof damage response", buttons: [
{
text: "Call Now",
onClick: () => {
text: "Call Now", onClick: () => {
window.location.href = "tel:+1234567890";
},
},
@@ -273,41 +202,17 @@ export default function HomePage() {
<TestimonialCardTwelve
testimonials={[
{
id: "1",
name: "Edward F.",
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg?_wi=2",
imageAlt: "Edward F., satisfied customer",
},
id: "1", name: "Edward F.", imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg", imageAlt: "Edward F., satisfied customer"},
{
id: "2",
name: "Kate M.",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg?_wi=2",
imageAlt: "Kate M., happy customer",
},
id: "2", name: "Kate M.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg", imageAlt: "Kate M., happy customer"},
{
id: "3",
name: "Jimmy L.",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-smiling_93675-133804.jpg?_wi=1",
imageAlt: "Jimmy L., satisfied client",
},
id: "3", name: "Jimmy L.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-smiling_93675-133804.jpg", imageAlt: "Jimmy L., satisfied client"},
{
id: "4",
name: "Sarah J.",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-multiracial-business-team_1262-21007.jpg?_wi=1",
imageAlt: "Sarah J., happy homeowner",
},
id: "4", name: "Sarah J.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-multiracial-business-team_1262-21007.jpg", imageAlt: "Sarah J., happy homeowner"},
{
id: "5",
name: "Michael D.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-businessman-wearing-glasses_329181-677.jpg?_wi=1",
imageAlt: "Michael D., satisfied customer",
},
id: "5", name: "Michael D.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-businessman-wearing-glasses_329181-677.jpg", imageAlt: "Michael D., satisfied customer"},
{
id: "6",
name: "Jennifer R.",
imageSrc: "http://img.b2bpic.net/free-photo/horizontal-shot-beautiful-confident-young-african-american-woman-dressed-stylish-purple-turtleneck-smiling-joyfully-showing-ok-gesture_344912-1015.jpg?_wi=1",
imageAlt: "Jennifer R., happy customer",
},
id: "6", name: "Jennifer R.", imageSrc: "http://img.b2bpic.net/free-photo/horizontal-shot-beautiful-confident-young-african-american-woman-dressed-stylish-purple-turtleneck-smiling-joyfully-showing-ok-gesture_344912-1015.jpg", imageAlt: "Jennifer R., happy customer"},
]}
cardTitle="What Customers Say About Lavelle Roofing"
cardTag="Trusted by Homeowners"
@@ -329,37 +234,13 @@ export default function HomePage() {
animationType="slide-up"
features={[
{
id: "1",
title: "Get in Touch",
description: "Call or request a free quote online. We respond quickly.",
tag: "Step 1",
imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=3",
imageAlt: "Contact us for a quote",
},
id: "1", title: "Get in Touch", description: "Call or request a free quote online. We respond quickly.", tag: "Step 1", imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg", imageAlt: "Contact us for a quote"},
{
id: "2",
title: "Free Assessment",
description: "We inspect the issue and explain exactly what needs fixing.",
tag: "Step 2",
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=3",
imageAlt: "Professional roof assessment",
},
id: "2", title: "Free Assessment", description: "We inspect the issue and explain exactly what needs fixing.", tag: "Step 2", imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Professional roof assessment"},
{
id: "3",
title: "Clear Quote",
description: "You receive a fair, honest price with no hidden costs.",
tag: "Step 3",
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=3",
imageAlt: "Transparent pricing quote",
},
id: "3", title: "Clear Quote", description: "You receive a fair, honest price with no hidden costs.", tag: "Step 3", imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Transparent pricing quote"},
{
id: "4",
title: "Job Done Properly",
description: "Professional work completed quickly and cleanly.",
tag: "Step 4",
imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg?_wi=3",
imageAlt: "Professional completed project",
},
id: "4", title: "Job Done Properly", description: "Professional work completed quickly and cleanly.", tag: "Step 4", imageSrc: "http://img.b2bpic.net/free-photo/focused-plumber-working-assembling-pipelines-install-plumbing-system-while-building-new-house_662251-539.jpg", imageAlt: "Professional completed project"},
]}
/>
</div>
@@ -371,7 +252,7 @@ export default function HomePage() {
description="Don't wait until it causes more damage. Contact us immediately for fast, professional emergency roofing response."
tagIcon={AlertCircle}
tagAnimation="slide-up"
background={{ variant: "circleGradient" }}
background={{ variant: "glowing-orb" }}
useInvertedBackground={false}
inputPlaceholder="Enter your email"
buttonText="Get Emergency Help"

View File

@@ -34,9 +34,7 @@ export default function ReviewsPage() {
{ name: "Contact", id: "contact" },
]}
button={{
text: "Get Free Quote",
href: "contact",
}}
text: "Get Free Quote", href: "contact"}}
animateOnLoad={true}
/>
</div>
@@ -46,41 +44,17 @@ export default function ReviewsPage() {
<TestimonialCardTwelve
testimonials={[
{
id: "1",
name: "Edward F.",
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg?_wi=3",
imageAlt: "Edward F., satisfied customer",
},
id: "1", name: "Edward F.", imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-smiling-posing-kitchen_23-2148414936.jpg", imageAlt: "Edward F., satisfied customer"},
{
id: "2",
name: "Kate M.",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg?_wi=3",
imageAlt: "Kate M., happy customer",
},
id: "2", name: "Kate M.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-young-businesswoman-smiling-camera_74855-4022.jpg", imageAlt: "Kate M., happy customer"},
{
id: "3",
name: "Jimmy L.",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-smiling_93675-133804.jpg?_wi=2",
imageAlt: "Jimmy L., satisfied client",
},
id: "3", name: "Jimmy L.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-smiling_93675-133804.jpg", imageAlt: "Jimmy L., satisfied client"},
{
id: "4",
name: "Sarah J.",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-multiracial-business-team_1262-21007.jpg?_wi=2",
imageAlt: "Sarah J., happy homeowner",
},
id: "4", name: "Sarah J.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-multiracial-business-team_1262-21007.jpg", imageAlt: "Sarah J., happy homeowner"},
{
id: "5",
name: "Michael D.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-businessman-wearing-glasses_329181-677.jpg?_wi=2",
imageAlt: "Michael D., satisfied customer",
},
id: "5", name: "Michael D.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-businessman-wearing-glasses_329181-677.jpg", imageAlt: "Michael D., satisfied customer"},
{
id: "6",
name: "Jennifer R.",
imageSrc: "http://img.b2bpic.net/free-photo/horizontal-shot-beautiful-confident-young-african-american-woman-dressed-stylish-purple-turtleneck-smiling-joyfully-showing-ok-gesture_344912-1015.jpg?_wi=2",
imageAlt: "Jennifer R., happy customer",
},
id: "6", name: "Jennifer R.", imageSrc: "http://img.b2bpic.net/free-photo/horizontal-shot-beautiful-confident-young-african-american-woman-dressed-stylish-purple-turtleneck-smiling-joyfully-showing-ok-gesture_344912-1015.jpg", imageAlt: "Jennifer R., happy customer"},
]}
cardTitle="What Customers Say About Lavelle Roofing"
cardTag="Trusted by Homeowners"
@@ -103,29 +77,11 @@ export default function ReviewsPage() {
animationType="slide-up"
features={[
{
id: "1",
title: "Get in Touch",
description: "Call or request a free quote online. We respond quickly.",
tag: "Step 1",
imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=6",
imageAlt: "Contact us for a quote",
},
id: "1", title: "Get in Touch", description: "Call or request a free quote online. We respond quickly.", tag: "Step 1", imageSrc: "http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg", imageAlt: "Contact us for a quote"},
{
id: "2",
title: "Free Assessment",
description: "We inspect the issue and explain exactly what needs fixing.",
tag: "Step 2",
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=6",
imageAlt: "Professional roof assessment",
},
id: "2", title: "Free Assessment", description: "We inspect the issue and explain exactly what needs fixing.", tag: "Step 2", imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Professional roof assessment"},
{
id: "3",
title: "Clear Quote",
description: "You receive a fair, honest price with no hidden costs.",
tag: "Step 3",
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=6",
imageAlt: "Transparent pricing quote",
},
id: "3", title: "Clear Quote", description: "You receive a fair, honest price with no hidden costs.", tag: "Step 3", imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Transparent pricing quote"},
]}
/>
</div>
@@ -138,7 +94,7 @@ export default function ReviewsPage() {
description="Don't wait until it causes more damage. Contact us immediately for fast, professional emergency roofing response."
tagIcon={AlertCircle}
tagAnimation="slide-up"
background={{ variant: "circleGradient" }}
background={{ variant: "glowing-orb" }}
useInvertedBackground={false}
inputPlaceholder="Enter your email"
buttonText="Get Emergency Help"
@@ -153,8 +109,7 @@ export default function ReviewsPage() {
copyrightText="© 2025 Lavelle Roofing. All rights reserved."
columns={[
{
title: "Services",
items: [
title: "Services", items: [
{ label: "Roof Repairs", href: "/services" },
{ label: "Flat Roof Installation", href: "/services" },
{ label: "Chimney Repairs", href: "/services" },
@@ -163,8 +118,7 @@ export default function ReviewsPage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "/about" },
{ label: "Reviews", href: "/reviews" },
{ label: "Contact", href: "/contact" },
@@ -173,8 +127,7 @@ export default function ReviewsPage() {
],
},
{
title: "Legal",
items: [
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Insurance & Certifications", href: "#" },

View File

@@ -19,8 +19,7 @@ export default function ServicesPage() {
const footerColumns = [
{
title: "Services",
items: [
title: "Services", items: [
{ label: "Roof Repairs", href: "/services" },
{ label: "Flat Roof Installation", href: "/services" },
{ label: "Chimney Repairs", href: "/services" },
@@ -29,8 +28,7 @@ export default function ServicesPage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Reviews", href: "#" },
{ label: "Contact", href: "#contact" },
@@ -39,8 +37,7 @@ export default function ServicesPage() {
],
},
{
title: "Legal",
items: [
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Insurance & Certifications", href: "#" },
@@ -67,9 +64,7 @@ export default function ServicesPage() {
brandName="Lavelle Roofing"
navItems={navItems}
button={{
text: "Get Free Quote",
href: "#contact",
}}
text: "Get Free Quote", href: "#contact"}}
animateOnLoad={true}
/>
</div>
@@ -86,47 +81,24 @@ export default function ServicesPage() {
animationType="slide-up"
features={[
{
id: "1",
title: "Emergency Roof Repairs",
description: "Fast response to urgent leaks and storm damage. Available 24/7 for immediate assistance and temporary solutions.",
tag: "24/7 Available",
imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg?_wi=3",
imageAlt: "Emergency roof damage response",
buttons: [
id: "1", title: "Emergency Roof Repairs", description: "Fast response to urgent leaks and storm damage. Available 24/7 for immediate assistance and temporary solutions.", tag: "24/7 Available", imageSrc: "http://img.b2bpic.net/free-photo/boy-red-coat-looks-busy-talking-phone_8353-1103.jpg", imageAlt: "Emergency roof damage response", buttons: [
{
text: "Call Now",
onClick: () => {
text: "Call Now", onClick: () => {
window.location.href = "tel:+1234567890";
},
},
],
},
{
id: "2",
title: "Roof Leak Repairs",
description: "Professional leak detection and repair with comprehensive waterproofing to prevent future water damage.",
tag: "Specialty Service",
imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg?_wi=4",
imageAlt: "Professional roof repair work",
buttons: [
id: "2", title: "Roof Leak Repairs", description: "Professional leak detection and repair with comprehensive waterproofing to prevent future water damage.", tag: "Specialty Service", imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg", imageAlt: "Professional roof repair work", buttons: [
{
text: "Request Inspection",
href: "#contact",
},
text: "Request Inspection", href: "#contact"},
],
},
{
id: "3",
title: "Flat Roof Installation",
description: "Modern, durable flat roofing systems with professional installation and warranty coverage.",
tag: "Installation",
imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg?_wi=4",
imageAlt: "Modern flat roof installation",
buttons: [
id: "3", title: "Flat Roof Installation", description: "Modern, durable flat roofing systems with professional installation and warranty coverage.", tag: "Installation", imageSrc: "http://img.b2bpic.net/free-photo/bison-race-obstacle-race-sports-competition-belarus-may-2019_1321-3203.jpg", imageAlt: "Modern flat roof installation", buttons: [
{
text: "Get Quote",
href: "#contact",
},
text: "Get Quote", href: "#contact"},
],
},
]}
@@ -144,29 +116,21 @@ export default function ServicesPage() {
useInvertedBackground={false}
bulletPoints={[
{
title: "Rapid Response",
description: "Most emergencies addressed within 2-4 hours of your call.",
icon: Clock,
title: "Rapid Response", description: "Most emergencies addressed within 2-4 hours of your call.", icon: Clock,
},
{
title: "Quality Materials",
description: "Only premium roofing materials that withstand weather and time.",
icon: CheckCircle,
title: "Quality Materials", description: "Only premium roofing materials that withstand weather and time.", icon: CheckCircle,
},
{
title: "Licensed & Insured",
description: "Full insurance coverage protects your home and our work.",
icon: AlertCircle,
title: "Licensed & Insured", description: "Full insurance coverage protects your home and our work.", icon: AlertCircle,
},
{
title: "Transparent Pricing",
description: "Fair quotes upfront with no surprise charges or hidden fees.",
icon: Wrench,
title: "Transparent Pricing", description: "Fair quotes upfront with no surprise charges or hidden fees.", icon: Wrench,
},
]}
mediaAnimation="blur-reveal"
imagePosition="left"
imageSrc="http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg?_wi=4"
imageSrc="http://img.b2bpic.net/free-photo/worker-with-hard-hat-building-with-wood_23-2148748856.jpg"
imageAlt="Professional roofing work"
/>
</div>
@@ -178,7 +142,7 @@ export default function ServicesPage() {
description="Contact us today to discuss your roofing needs and receive a free, no-obligation estimate."
tagIcon={AlertCircle}
tagAnimation="slide-up"
background={{ variant: "circleGradient" }}
background={{ variant: "glowing-orb" }}
useInvertedBackground={false}
inputPlaceholder="Enter your email"
buttonText="Request Service"