Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0458b22699 | |||
| 4297e34f5d | |||
| 9e4fbe287a |
@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|||||||
import Tag from "@/tag/Tag";
|
import Tag from "@/tag/Tag";
|
||||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||||
import { Public_Sans } from "next/font/google";
|
import { Public_Sans } from "next/font/google";
|
||||||
|
import { Libre_Baskerville } from "next/font/google";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -21,13 +22,13 @@ export const metadata: Metadata = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const publicSans = Public_Sans({
|
|
||||||
variable: "--font-public-sans",
|
const libreBaskerville = Libre_Baskerville({
|
||||||
subsets: ["latin"],
|
variable: "--font-libre-baskerville", subsets: ["latin"],
|
||||||
|
weight: ["400", "700"],
|
||||||
});
|
});
|
||||||
const inter = Inter({
|
const inter = Inter({
|
||||||
variable: "--font-inter",
|
variable: "--font-inter", subsets: ["latin"],
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
@@ -38,7 +39,7 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${publicSans.variable} ${inter.variable} antialiased`}>
|
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
|
||||||
<Tag />
|
<Tag />
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
|
|||||||
193
src/app/page.tsx
193
src/app/page.tsx
@@ -30,25 +30,15 @@ export default function LandingPage() {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{
|
||||||
name: "Home",
|
name: "Home", id: "/"},
|
||||||
id: "/",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "About",
|
name: "About", id: "#about"},
|
||||||
id: "#about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Services",
|
name: "Services", id: "#services"},
|
||||||
id: "#services",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Testimonials",
|
name: "Testimonials", id: "#testimonials"},
|
||||||
id: "#testimonials",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Contact",
|
name: "Contact", id: "#contact"},
|
||||||
id: "#contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="Papas Plumbing"
|
brandName="Papas Plumbing"
|
||||||
/>
|
/>
|
||||||
@@ -60,35 +50,21 @@ export default function LandingPage() {
|
|||||||
description="Papas Plumbing delivers honest, expert solutions for every plumbing challenge—from emergency repairs to luxury installations. Serving families with transparent pricing and same-day service."
|
description="Papas Plumbing delivers honest, expert solutions for every plumbing challenge—from emergency repairs to luxury installations. Serving families with transparent pricing and same-day service."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Schedule Your Service Today",
|
text: "Schedule Your Service Today", href: "#contact"},
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
slides={[
|
slides={[
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/modern-bathroom-with-big-mirror_1203-1497.jpg",
|
imageSrc: "http://img.b2bpic.net/free-photo/modern-bathroom-with-big-mirror_1203-1497.jpg", imageAlt: "Luxury home plumbing"},
|
||||||
imageAlt: "Luxury home plumbing",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721552.jpg",
|
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721552.jpg", imageAlt: "Professional plumbing service"},
|
||||||
imageAlt: "Professional plumbing service",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/spring-faucet-led-strip-blue-kitchen_169016-69053.jpg",
|
imageSrc: "http://img.b2bpic.net/free-photo/spring-faucet-led-strip-blue-kitchen_169016-69053.jpg", imageAlt: "Luxury kitchen fixtures"},
|
||||||
imageAlt: "Luxury kitchen fixtures",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-carpenter-working-with-experienced-man_329181-15627.jpg",
|
imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-carpenter-working-with-experienced-man_329181-15627.jpg", imageAlt: "Emergency repair services"},
|
||||||
imageAlt: "Emergency repair services",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/person-white-bathrobe-filling-bath-with-water_259150-59743.jpg",
|
imageSrc: "http://img.b2bpic.net/free-photo/person-white-bathrobe-filling-bath-with-water_259150-59743.jpg", imageAlt: "High-end piping systems"},
|
||||||
imageAlt: "High-end piping systems",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/working-day-two-indian-men-discussing-something-looking-involved_259150-59414.jpg",
|
imageSrc: "http://img.b2bpic.net/free-photo/working-day-two-indian-men-discussing-something-looking-involved_259150-59414.jpg", imageAlt: "Family-trusted plumbing team"},
|
||||||
imageAlt: "Family-trusted plumbing team",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -98,10 +74,7 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
title="Family-Owned, Expert-Driven"
|
title="Family-Owned, Expert-Driven"
|
||||||
description={[
|
description={[
|
||||||
"For generations, Papas Plumbing has been the standard for reliability and excellence in local plumbing services.",
|
"For generations, Papas Plumbing has been the standard for reliability and excellence in local plumbing services.", "Our team of licensed experts combines deep technical knowledge with a family-oriented approach, ensuring every customer feels heard and valued.", "We focus on transparency in pricing and delivering the highest quality work, whether it’s a simple faucet replacement or a complete home installation."]}
|
||||||
"Our team of licensed experts combines deep technical knowledge with a family-oriented approach, ensuring every customer feels heard and valued.",
|
|
||||||
"We focus on transparency in pricing and delivering the highest quality work, whether it’s a simple faucet replacement or a complete home installation.",
|
|
||||||
]}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -113,23 +86,11 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
title: "Emergency Repairs",
|
title: "Emergency Repairs", description: "Rapid response to burst pipes, severe leaks, and plumbing emergencies around the clock.", imageSrc: "http://img.b2bpic.net/free-photo/plumber-covering-his-mouth_1368-772.jpg", imageAlt: "Emergency plumbing"},
|
||||||
description: "Rapid response to burst pipes, severe leaks, and plumbing emergencies around the clock.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/plumber-covering-his-mouth_1368-772.jpg",
|
|
||||||
imageAlt: "Emergency plumbing",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Water Heater Solutions",
|
title: "Water Heater Solutions", description: "Full-service installation and maintenance of high-efficiency water heating systems.", imageSrc: "http://img.b2bpic.net/free-photo/modern-autonomous-heating-system-boiler-room_169016-51414.jpg", imageAlt: "Water heater service"},
|
||||||
description: "Full-service installation and maintenance of high-efficiency water heating systems.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/modern-autonomous-heating-system-boiler-room_169016-51414.jpg",
|
|
||||||
imageAlt: "Water heater service",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Advanced Drain Cleaning",
|
title: "Advanced Drain Cleaning", description: "Professional-grade drain cleaning services to keep your system flowing freely and efficiently.", imageSrc: "http://img.b2bpic.net/free-photo/man-drying-glass-with-kitchen-towel-by-black-faucet-drying-dishes_169016-69554.jpg", imageAlt: "Drain cleaning"},
|
||||||
description: "Professional-grade drain cleaning services to keep your system flowing freely and efficiently.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/man-drying-glass-with-kitchen-towel-by-black-faucet-drying-dishes_169016-69554.jpg",
|
|
||||||
imageAlt: "Drain cleaning",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Comprehensive Plumbing Services"
|
title="Comprehensive Plumbing Services"
|
||||||
description="We offer a wide range of plumbing services designed to maintain your home’s systems to the highest standards."
|
description="We offer a wide range of plumbing services designed to maintain your home’s systems to the highest standards."
|
||||||
@@ -144,20 +105,11 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
metrics={[
|
metrics={[
|
||||||
{
|
{
|
||||||
id: "m1",
|
id: "m1", value: "15+", description: "Years of Service"},
|
||||||
value: "15+",
|
|
||||||
description: "Years of Service",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "m2",
|
id: "m2", value: "5k+", description: "Successful Repairs"},
|
||||||
value: "5k+",
|
|
||||||
description: "Successful Repairs",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "m3",
|
id: "m3", value: "99%", description: "Client Satisfaction"},
|
||||||
value: "99%",
|
|
||||||
description: "Client Satisfaction",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Trust Through Numbers"
|
title="Trust Through Numbers"
|
||||||
description="Results that speak for themselves."
|
description="Results that speak for themselves."
|
||||||
@@ -171,59 +123,28 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "t1",
|
id: "t1", name: "Sarah Jenkins", role: "Homeowner", company: "Local Community", rating: 5,
|
||||||
name: "Sarah Jenkins",
|
imageSrc: "http://img.b2bpic.net/free-photo/happy-elder-woman-kitchen-holding-tablet_23-2148419314.jpg"},
|
||||||
role: "Homeowner",
|
|
||||||
company: "Local Community",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-elder-woman-kitchen-holding-tablet_23-2148419314.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "t2",
|
id: "t2", name: "Michael Roberts", role: "Homeowner", company: "Local Community", rating: 5,
|
||||||
name: "Michael Roberts",
|
imageSrc: "http://img.b2bpic.net/free-photo/pleased-young-male-builder-wearing-uniform-safety-helmet-showing-handshakes-gesture-purple_141793-74804.jpg"},
|
||||||
role: "Homeowner",
|
|
||||||
company: "Local Community",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/pleased-young-male-builder-wearing-uniform-safety-helmet-showing-handshakes-gesture-purple_141793-74804.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "t3",
|
id: "t3", name: "Emily Chen", role: "Homeowner", company: "Local Community", rating: 5,
|
||||||
name: "Emily Chen",
|
imageSrc: "http://img.b2bpic.net/free-photo/father-holding-child-while-kitchen-with-copy-space_23-2148463645.jpg"},
|
||||||
role: "Homeowner",
|
|
||||||
company: "Local Community",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/father-holding-child-while-kitchen-with-copy-space_23-2148463645.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "t4",
|
id: "t4", name: "David Thorne", role: "Homeowner", company: "Local Community", rating: 5,
|
||||||
name: "David Thorne",
|
imageSrc: "http://img.b2bpic.net/free-photo/female-plumber-working-fix-problems-client-s-house_23-2150990733.jpg"},
|
||||||
role: "Homeowner",
|
|
||||||
company: "Local Community",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/female-plumber-working-fix-problems-client-s-house_23-2150990733.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "t5",
|
id: "t5", name: "Jessica Moore", role: "Business Owner", company: "Local Cafe", rating: 5,
|
||||||
name: "Jessica Moore",
|
imageSrc: "http://img.b2bpic.net/free-photo/serviceman-does-checkup-client-car_482257-76119.jpg"},
|
||||||
role: "Business Owner",
|
|
||||||
company: "Local Cafe",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/serviceman-does-checkup-client-car_482257-76119.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
kpiItems={[
|
kpiItems={[
|
||||||
{
|
{
|
||||||
value: "4.9/5",
|
value: "4.9/5", label: "Avg Rating"},
|
||||||
label: "Avg Rating",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
value: "100%",
|
value: "100%", label: "Verified"},
|
||||||
label: "Verified",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
value: "24/7",
|
value: "24/7", label: "Available"},
|
||||||
label: "Available",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Trusted by Local Families"
|
title="Trusted by Local Families"
|
||||||
description="Don't just take our word for it—read what our valued clients say."
|
description="Don't just take our word for it—read what our valued clients say."
|
||||||
@@ -234,16 +155,13 @@ export default function LandingPage() {
|
|||||||
<ContactCTA
|
<ContactCTA
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{
|
||||||
variant: "plain",
|
variant: "plain"}}
|
||||||
}}
|
|
||||||
tag="Get in touch"
|
tag="Get in touch"
|
||||||
title="Ready for Plumbing Help?"
|
title="Ready for Plumbing Help?"
|
||||||
description="Schedule a service or consultation today and experience the Papas Plumbing difference."
|
description="Schedule a service or consultation today and experience the Papas Plumbing difference."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Book Your Appointment Now",
|
text: "Book Your Appointment Now", href: "tel:+18005550199"},
|
||||||
href: "tel:+18005550199",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -252,50 +170,31 @@ export default function LandingPage() {
|
|||||||
<FooterBase
|
<FooterBase
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
title: "Services",
|
title: "Services", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "Emergency Repairs",
|
label: "Emergency Repairs", href: "#services"},
|
||||||
href: "#services",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Water Heaters",
|
label: "Water Heaters", href: "#services"},
|
||||||
href: "#services",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Drain Cleaning",
|
label: "Drain Cleaning", href: "#services"},
|
||||||
href: "#services",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Company",
|
title: "Company", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "About Us",
|
label: "About Us", href: "#about"},
|
||||||
href: "#about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Reviews",
|
label: "Reviews", href: "#testimonials"},
|
||||||
href: "#testimonials",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Contact",
|
label: "Contact", href: "#contact"},
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Legal",
|
title: "Legal", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "Privacy Policy",
|
label: "Privacy Policy", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Terms of Service",
|
label: "Terms of Service", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
@@ -306,4 +205,4 @@ export default function LandingPage() {
|
|||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -24,5 +24,5 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-family: var(--font-public-sans), sans-serif;
|
font-family: var(--font-libre-baskerville), serif;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user