Update src/app/page.tsx
This commit is contained in:
272
src/app/page.tsx
272
src/app/page.tsx
@@ -42,9 +42,7 @@ export default function HomePage() {
|
||||
brandName="GP Roofing Kentucky"
|
||||
navItems={navItems}
|
||||
button={{
|
||||
text: "Get Free Estimate",
|
||||
href: "/contact",
|
||||
}}
|
||||
text: "Get Free Estimate", href: "/contact"}}
|
||||
animateOnLoad={true}
|
||||
/>
|
||||
</div>
|
||||
@@ -59,37 +57,26 @@ export default function HomePage() {
|
||||
tagAnimation="slide-up"
|
||||
buttons={[
|
||||
{
|
||||
text: "Get Free Estimate",
|
||||
href: "/contact",
|
||||
},
|
||||
text: "Get Free Estimate", href: "/contact"},
|
||||
{
|
||||
text: "Call Now",
|
||||
href: "tel:+15025551234",
|
||||
},
|
||||
text: "Call Now", href: "tel:+15025551234"},
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
kpis={[
|
||||
{
|
||||
value: "500+",
|
||||
label: "Homes Roofed",
|
||||
},
|
||||
value: "500+", label: "Homes Roofed"},
|
||||
{
|
||||
value: "15 yrs",
|
||||
label: "Experience",
|
||||
},
|
||||
value: "15 yrs", label: "Experience"},
|
||||
{
|
||||
value: "5★",
|
||||
label: "Customer Rated",
|
||||
},
|
||||
value: "5★", label: "Customer Rated"},
|
||||
]}
|
||||
enableKpiAnimation={true}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/full-shot-roofer-working-with-helmet_23-2149343710.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/full-shot-roofer-working-with-helmet_23-2149343710.jpg"
|
||||
imageAlt="Professional roofing installation on luxury home"
|
||||
mediaAnimation="slide-up"
|
||||
imagePosition="right"
|
||||
background={{
|
||||
variant: "plain",
|
||||
}}
|
||||
variant: "plain"}}
|
||||
className="w-full"
|
||||
containerClassName="py-20 lg:py-32"
|
||||
titleClassName="text-5xl lg:text-7xl font-light leading-tight"
|
||||
@@ -114,51 +101,27 @@ export default function HomePage() {
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "testimonial-1",
|
||||
name: "Luis Avila",
|
||||
role: "Homeowner",
|
||||
company: "Louisville, KY",
|
||||
rating: 5,
|
||||
id: "testimonial-1", name: "Luis Avila", role: "Homeowner", company: "Louisville, KY", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "testimonial-2",
|
||||
name: "Luis Carbonell",
|
||||
role: "Property Owner",
|
||||
company: "Lexington, KY",
|
||||
rating: 5,
|
||||
id: "testimonial-2", name: "Luis Carbonell", role: "Property Owner", company: "Lexington, KY", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "testimonial-3",
|
||||
name: "Daniel Esarey",
|
||||
role: "Homeowner",
|
||||
company: "Bowling Green, KY",
|
||||
rating: 5,
|
||||
id: "testimonial-3", name: "Daniel Esarey", role: "Homeowner", company: "Bowling Green, KY", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "testimonial-4",
|
||||
name: "Alex Bello",
|
||||
role: "Property Owner",
|
||||
company: "Covington, KY",
|
||||
rating: 5,
|
||||
id: "testimonial-4", name: "Alex Bello", role: "Property Owner", company: "Covington, KY", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "testimonial-5",
|
||||
name: "Marcus Thompson",
|
||||
role: "Homeowner",
|
||||
company: "Owensboro, KY",
|
||||
rating: 5,
|
||||
id: "testimonial-5", name: "Marcus Thompson", role: "Homeowner", company: "Owensboro, KY", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "testimonial-6",
|
||||
name: "Jennifer Williams",
|
||||
role: "Property Owner",
|
||||
company: "Frankfort, KY",
|
||||
rating: 5,
|
||||
id: "testimonial-6", name: "Jennifer Williams", role: "Property Owner", company: "Frankfort, KY", rating: 5,
|
||||
},
|
||||
]}
|
||||
containerClassName="py-20 lg:py-32"
|
||||
titleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
descriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
textBoxTitleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
textBoxDescriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -172,25 +135,15 @@ export default function HomePage() {
|
||||
animationType="slide-up"
|
||||
negativeCard={{
|
||||
items: [
|
||||
"Outdated roofing materials",
|
||||
"Unprofessional installation",
|
||||
"Uninsured contractors",
|
||||
"Hidden costs and surprises",
|
||||
"Poor customer service",
|
||||
],
|
||||
"Outdated roofing materials", "Unprofessional installation", "Uninsured contractors", "Hidden costs and surprises", "Poor customer service"],
|
||||
}}
|
||||
positiveCard={{
|
||||
items: [
|
||||
"Premium quality materials",
|
||||
"Expert professional crew",
|
||||
"Licensed and fully insured",
|
||||
"Transparent fair pricing",
|
||||
"24/7 customer support",
|
||||
],
|
||||
"Premium quality materials", "Expert professional crew", "Licensed and fully insured", "Transparent fair pricing", "24/7 customer support"],
|
||||
}}
|
||||
containerClassName="py-20 lg:py-32"
|
||||
titleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
descriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
textBoxTitleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
textBoxDescriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -204,12 +157,10 @@ export default function HomePage() {
|
||||
tagAnimation="slide-up"
|
||||
buttons={[
|
||||
{
|
||||
text: "Learn More",
|
||||
href: "/about",
|
||||
},
|
||||
text: "Learn More", href: "/about"},
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-working-roof-with-drill_23-2148748770.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-working-roof-with-drill_23-2148748770.jpg"
|
||||
imageAlt="Professional GP Roofing crew working on roof installation"
|
||||
useInvertedBackground={false}
|
||||
containerClassName="py-20 lg:py-32"
|
||||
@@ -229,37 +180,21 @@ export default function HomePage() {
|
||||
gridVariant="uniform-all-items-equal"
|
||||
metrics={[
|
||||
{
|
||||
id: "metric-homes",
|
||||
value: "500+",
|
||||
title: "Homes Roofed",
|
||||
description: "Complete roofing projects across Kentucky",
|
||||
icon: Home,
|
||||
id: "metric-homes", value: "500+", title: "Homes Roofed", description: "Complete roofing projects across Kentucky", icon: Home,
|
||||
},
|
||||
{
|
||||
id: "metric-years",
|
||||
value: "15",
|
||||
title: "Years Experience",
|
||||
description: "Professional roofing expertise and knowledge",
|
||||
icon: Calendar,
|
||||
id: "metric-years", value: "15", title: "Years Experience", description: "Professional roofing expertise and knowledge", icon: Calendar,
|
||||
},
|
||||
{
|
||||
id: "metric-reviews",
|
||||
value: "98%",
|
||||
title: "Satisfied Customers",
|
||||
description: "5-star ratings and positive recommendations",
|
||||
icon: Star,
|
||||
id: "metric-reviews", value: "98%", title: "Satisfied Customers", description: "5-star ratings and positive recommendations", icon: Star,
|
||||
},
|
||||
{
|
||||
id: "metric-guarantee",
|
||||
value: "10yr",
|
||||
title: "Warranty",
|
||||
description: "Comprehensive coverage on all work",
|
||||
icon: Shield,
|
||||
id: "metric-guarantee", value: "10yr", title: "Warranty", description: "Comprehensive coverage on all work", icon: Shield,
|
||||
},
|
||||
]}
|
||||
containerClassName="py-20 lg:py-32"
|
||||
titleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
descriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
textBoxTitleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
textBoxDescriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -278,39 +213,18 @@ export default function HomePage() {
|
||||
carouselMode="buttons"
|
||||
products={[
|
||||
{
|
||||
id: "project-1",
|
||||
brand: "Residential",
|
||||
name: "Modern Home Roof Replacement",
|
||||
price: "Completed",
|
||||
rating: 5,
|
||||
reviewCount: "Premium Materials",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/tiled-roof-against-blue-sky-with-clouds-idea-background-with-space-text-ecofriendly-traditional-roofs-home_166373-3104.jpg?_wi=1",
|
||||
imageAlt: "Before and after roof replacement project",
|
||||
},
|
||||
id: "project-1", brand: "Residential", name: "Modern Home Roof Replacement", price: "Completed", rating: 5,
|
||||
reviewCount: "Premium Materials", imageSrc: "http://img.b2bpic.net/free-photo/tiled-roof-against-blue-sky-with-clouds-idea-background-with-space-text-ecofriendly-traditional-roofs-home_166373-3104.jpg", imageAlt: "Before and after roof replacement project"},
|
||||
{
|
||||
id: "project-2",
|
||||
brand: "Residential",
|
||||
name: "Storm Damage Restoration",
|
||||
price: "Completed",
|
||||
rating: 5,
|
||||
reviewCount: "Fast Recovery",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-working-roof-medium-shot_23-2149343644.jpg?_wi=1",
|
||||
imageAlt: "Storm damage roof repair completed",
|
||||
},
|
||||
id: "project-2", brand: "Residential", name: "Storm Damage Restoration", price: "Completed", rating: 5,
|
||||
reviewCount: "Fast Recovery", imageSrc: "http://img.b2bpic.net/free-photo/man-working-roof-medium-shot_23-2149343644.jpg", imageAlt: "Storm damage roof repair completed"},
|
||||
{
|
||||
id: "project-3",
|
||||
brand: "Residential",
|
||||
name: "New Construction Roofing",
|
||||
price: "Completed",
|
||||
rating: 5,
|
||||
reviewCount: "Expert Install",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-brown-light-yellow-building-blue-sky_181624-3894.jpg?_wi=1",
|
||||
imageAlt: "New home with completed professional roofing",
|
||||
},
|
||||
id: "project-3", brand: "Residential", name: "New Construction Roofing", price: "Completed", rating: 5,
|
||||
reviewCount: "Expert Install", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-brown-light-yellow-building-blue-sky_181624-3894.jpg", imageAlt: "New home with completed professional roofing"},
|
||||
]}
|
||||
containerClassName="py-20 lg:py-32"
|
||||
titleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
descriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
textBoxTitleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
textBoxDescriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -330,45 +244,27 @@ export default function HomePage() {
|
||||
showCard={true}
|
||||
faqs={[
|
||||
{
|
||||
id: "faq-1",
|
||||
title: "How long does a roof replacement take?",
|
||||
content:
|
||||
"Most residential roof replacements take 1-3 days depending on the size and complexity of your home. Our team works efficiently to minimize disruption while maintaining quality standards.",
|
||||
},
|
||||
id: "faq-1", title: "How long does a roof replacement take?", content:
|
||||
"Most residential roof replacements take 1-3 days depending on the size and complexity of your home. Our team works efficiently to minimize disruption while maintaining quality standards."},
|
||||
{
|
||||
id: "faq-2",
|
||||
title: "What materials do you recommend?",
|
||||
content:
|
||||
"We recommend high-quality asphalt shingles, metal roofing, or premium architectural shingles based on your budget and home style. Each option offers excellent durability and aesthetic appeal.",
|
||||
},
|
||||
id: "faq-2", title: "What materials do you recommend?", content:
|
||||
"We recommend high-quality asphalt shingles, metal roofing, or premium architectural shingles based on your budget and home style. Each option offers excellent durability and aesthetic appeal."},
|
||||
{
|
||||
id: "faq-3",
|
||||
title: "How much does a roof replacement cost?",
|
||||
content:
|
||||
"Roof replacement costs vary based on your home size, materials chosen, and roof complexity. We provide free estimates with no obligation. Most residential roofs range from $5,000 to $15,000.",
|
||||
},
|
||||
id: "faq-3", title: "How much does a roof replacement cost?", content:
|
||||
"Roof replacement costs vary based on your home size, materials chosen, and roof complexity. We provide free estimates with no obligation. Most residential roofs range from $5,000 to $15,000."},
|
||||
{
|
||||
id: "faq-4",
|
||||
title: "Do you offer emergency repair services?",
|
||||
content:
|
||||
"Yes, we provide 24/7 emergency roofing services for storm damage, leaks, and urgent repairs. Call us anytime for immediate assistance and professional damage assessment.",
|
||||
},
|
||||
id: "faq-4", title: "Do you offer emergency repair services?", content:
|
||||
"Yes, we provide 24/7 emergency roofing services for storm damage, leaks, and urgent repairs. Call us anytime for immediate assistance and professional damage assessment."},
|
||||
{
|
||||
id: "faq-5",
|
||||
title: "What warranty do you provide?",
|
||||
content:
|
||||
"All our work is backed by a 10-year comprehensive warranty covering materials and labor. We stand behind our craftsmanship and use only premium materials for lasting protection.",
|
||||
},
|
||||
id: "faq-5", title: "What warranty do you provide?", content:
|
||||
"All our work is backed by a 10-year comprehensive warranty covering materials and labor. We stand behind our craftsmanship and use only premium materials for lasting protection."},
|
||||
{
|
||||
id: "faq-6",
|
||||
title: "Are you licensed and insured?",
|
||||
content:
|
||||
"Yes, we are fully licensed, insured, and bonded. Your home and our team are protected throughout every project. We provide proof of insurance upon request.",
|
||||
},
|
||||
id: "faq-6", title: "Are you licensed and insured?", content:
|
||||
"Yes, we are fully licensed, insured, and bonded. Your home and our team are protected throughout every project. We provide proof of insurance upon request."},
|
||||
]}
|
||||
containerClassName="py-20 lg:py-32"
|
||||
titleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
descriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
textBoxTitleClassName="text-5xl lg:text-6xl font-light mb-6"
|
||||
textBoxDescriptionClassName="text-lg text-gray-600 max-w-2xl mb-12"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -379,17 +275,12 @@ export default function HomePage() {
|
||||
animationType="entrance-slide"
|
||||
buttons={[
|
||||
{
|
||||
text: "Get Free Estimate",
|
||||
href: "/contact",
|
||||
},
|
||||
text: "Get Free Estimate", href: "/contact"},
|
||||
{
|
||||
text: "Call Now",
|
||||
href: "tel:+15025551234",
|
||||
},
|
||||
text: "Call Now", href: "tel:+15025551234"},
|
||||
]}
|
||||
background={{
|
||||
variant: "radial-gradient",
|
||||
}}
|
||||
variant: "radial-gradient"}}
|
||||
useInvertedBackground={true}
|
||||
containerClassName="py-24 lg:py-32"
|
||||
contentClassName="text-center max-w-3xl mx-auto"
|
||||
@@ -406,66 +297,39 @@ export default function HomePage() {
|
||||
logoText="GP Roofing Kentucky"
|
||||
columns={[
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{
|
||||
label: "Home",
|
||||
href: "/",
|
||||
},
|
||||
label: "Home", href: "/"},
|
||||
{
|
||||
label: "About",
|
||||
href: "/about",
|
||||
},
|
||||
label: "About", href: "/about"},
|
||||
{
|
||||
label: "Services",
|
||||
href: "/services",
|
||||
},
|
||||
label: "Services", href: "/services"},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "/contact",
|
||||
},
|
||||
label: "Contact", href: "/contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Services",
|
||||
items: [
|
||||
title: "Services", items: [
|
||||
{
|
||||
label: "Roof Replacement",
|
||||
href: "/services",
|
||||
},
|
||||
label: "Roof Replacement", href: "/services"},
|
||||
{
|
||||
label: "Roof Repair",
|
||||
href: "/services",
|
||||
},
|
||||
label: "Roof Repair", href: "/services"},
|
||||
{
|
||||
label: "New Installation",
|
||||
href: "/services",
|
||||
},
|
||||
label: "New Installation", href: "/services"},
|
||||
{
|
||||
label: "Emergency Service",
|
||||
href: "/contact",
|
||||
},
|
||||
label: "Emergency Service", href: "/contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Contact",
|
||||
items: [
|
||||
title: "Contact", items: [
|
||||
{
|
||||
label: "Call Us",
|
||||
href: "tel:+15025551234",
|
||||
},
|
||||
label: "Call Us", href: "tel:+15025551234"},
|
||||
{
|
||||
label: "Email",
|
||||
href: "mailto:info@gproofingky.com",
|
||||
},
|
||||
label: "Email", href: "mailto:info@gproofingky.com"},
|
||||
{
|
||||
label: "Free Estimate",
|
||||
href: "/contact",
|
||||
},
|
||||
label: "Free Estimate", href: "/contact"},
|
||||
{
|
||||
label: "Reviews",
|
||||
href: "/",
|
||||
},
|
||||
label: "Reviews", href: "/"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
|
||||
Reference in New Issue
Block a user