3 Commits

Author SHA1 Message Date
0458b22699 Update src/app/styles/base.css 2026-04-09 21:53:26 +00:00
4297e34f5d Update src/app/page.tsx 2026-04-09 21:53:25 +00:00
9e4fbe287a Update src/app/layout.tsx 2026-04-09 21:53:25 +00:00
3 changed files with 54 additions and 154 deletions

View File

@@ -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

View File

@@ -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 its 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 its 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 homes systems to the highest standards." description="We offer a wide range of plumbing services designed to maintain your homes 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>
); );
} }

View File

@@ -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;
} }