Merge version_2 into main #2

Merged
bender merged 3 commits from version_2 into main 2026-03-04 22:30:37 +00:00
3 changed files with 38 additions and 25 deletions

View File

@@ -22,24 +22,26 @@ const dmSans = DM_Sans({
export const metadata: Metadata = {
title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Expert sealcoating and paving services. Licensed, insured, and trusted since 2010. Free estimates available for residential and commercial properties.", keywords: "sealcoating, paving, asphalt repair, driveway sealing, parking lot paving, asphalt maintenance", metadataBase: new URL("https://jplsealcoating.com"),
alternates: {
canonical: "https://jplsealcoating.com"},
canonical: "https://jplsealcoating.com"
},
openGraph: {
title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Protect your asphalt with expert sealcoating and paving services. Get your free estimate today!", url: "https://jplsealcoating.com", siteName: "JPL Sealcoating", type: "website", images: [
{
url: "http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg", alt: "JPL Sealcoating Professional Services"},
],
url: "http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg", alt: "JPL Sealcoating Professional Services"
}
]
},
twitter: {
card: "summary_large_image", title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Expert asphalt services. Licensed & Insured. Free estimates available.", images: ["http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg"],
card: "summary_large_image", title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Expert asphalt services. Licensed & Insured. Free estimates available.", images: ["http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg"]
},
robots: {
index: true,
follow: true,
},
follow: true
}
};
export default function RootLayout({
children,
children
}: Readonly<{
children: React.ReactNode;
}>) {

View File

@@ -142,16 +142,20 @@ export default function LandingPage() {
testimonials={[
{
id: "1", name: "Michael Johnson", role: "Property Owner", company: "Johnson Estate", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1"},
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1"
},
{
id: "2", name: "Sarah Williams", role: "Business Manager", company: "Commerce Plaza", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2"},
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2"
},
{
id: "3", name: "Robert Martinez", role: "Facilities Director", company: "Industrial Complex", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3"},
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3"
},
{
id: "4", name: "Jennifer Davis", role: "Homeowner", company: "Residential Client", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=4"},
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=4"
},
]}
kpiItems={[
{ value: "500+", label: "Projects Completed" },
@@ -174,7 +178,8 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
names={[
"National Asphalt Association", "Sealcoating Contractors Association", "Construction Quality Certified", "Professional Paving Institute", "Licensed & Insured", "Environmental Protection Certified", "ISO 9001 Certified"]}
"National Asphalt Association", "Sealcoating Contractors Association", "Construction Quality Certified", "Professional Paving Institute", "Licensed & Insured", "Environmental Protection Certified", "ISO 9001 Certified"
]}
speed={40}
showCard={true}
buttons={[{ text: "Learn About Our Certifications", href: "contact" }]}
@@ -194,17 +199,23 @@ export default function LandingPage() {
faqsAnimation="slide-up"
faqs={[
{
id: "1", title: "How often should I have my asphalt sealcoated?", content: "We recommend sealcoating every 2-3 years to maintain optimal protection. The frequency depends on your climate, traffic volume, and current condition. We can provide a customized maintenance schedule during your free inspection."},
id: "1", title: "How often should I have my asphalt sealcoated?", content: "We recommend sealcoating every 2-3 years to maintain optimal protection. The frequency depends on your climate, traffic volume, and current condition. We can provide a customized maintenance schedule during your free inspection."
},
{
id: "2", title: "How long does sealcoating last?", content: "Professional sealcoating typically lasts 2-3 years with proper maintenance. The durability depends on weather conditions, UV exposure, and traffic. We use premium materials that maximize longevity and protection."},
id: "2", title: "How long does sealcoating last?", content: "Professional sealcoating typically lasts 2-3 years with proper maintenance. The durability depends on weather conditions, UV exposure, and traffic. We use premium materials that maximize longevity and protection."
},
{
id: "3", title: "Can you repair cracks in my asphalt?", content: "Yes! We offer comprehensive crack repair services using industry-leading materials. Our crack filling prevents water infiltration and stops small problems from becoming major repairs, extending your pavement's lifespan significantly."},
id: "3", title: "Can you repair cracks in my asphalt?", content: "Yes! We offer comprehensive crack repair services using industry-leading materials. Our crack filling prevents water infiltration and stops small problems from becoming major repairs, extending your pavement's lifespan significantly."
},
{
id: "4", title: "Do you offer free estimates?", content: "Absolutely! We provide free, no-obligation estimates for all our services. Our experienced team will assess your property, discuss options, and provide transparent pricing so you know exactly what to expect."},
id: "4", title: "Do you offer free estimates?", content: "Absolutely! We provide free, no-obligation estimates for all our services. Our experienced team will assess your property, discuss options, and provide transparent pricing so you know exactly what to expect."
},
{
id: "5", title: "Are you licensed and insured?", content: "Yes, JPL Sealcoating is fully licensed and insured. We maintain comprehensive liability coverage to protect both our clients and our team. Your property is in safe, professional hands."},
id: "5", title: "Are you licensed and insured?", content: "Yes, JPL Sealcoating is fully licensed and insured. We maintain comprehensive liability coverage to protect both our clients and our team. Your property is in safe, professional hands."
},
{
id: "6", title: "How weather affects sealcoating application?", content: "We follow strict weather guidelines to ensure quality results. Sealcoating requires proper temperature and humidity conditions. We plan applications strategically and provide detailed care instructions for freshly sealed surfaces."},
id: "6", title: "How weather affects sealcoating application?", content: "We follow strict weather guidelines to ensure quality results. Sealcoating requires proper temperature and humidity conditions. We plan applications strategically and provide detailed care instructions for freshly sealed surfaces."
},
]}
animationType="smooth"
/>

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #fcf6ec;
--card: #f3ede2;
--foreground: #2e2521;
--primary-cta: #2e2521;
--background: #1a1a1a;
--card: #2a2a2a;
--foreground: #ffff00;
--primary-cta: #ffff00;
--primary-cta-text: #fcf6ec;
--secondary-cta: #ffffff;
--secondary-cta: #333333;
--secondary-cta-text: #2e2521;
--accent: #b2a28b;
--background-accent: #b2a28b;
--accent: #ffcc00;
--background-accent: #ffff00;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);