Merge version_1 into main #1
@@ -29,11 +29,10 @@ export default function BlogPage() {
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "#services" },
|
||||
{ name: "Why Us", id: "#why-us" },
|
||||
{ name: "Promise", id: "#promise" },
|
||||
{ name: "FAQ", id: "#faq" },
|
||||
{ name: "Contact", id: "#contact" },
|
||||
{ name: "Services", id: "/#services" },
|
||||
{ name: "Why Us", id: "/#why-us" },
|
||||
{ name: "Shop", id: "/shop" },
|
||||
{ name: "Contact", id: "/#contact" },
|
||||
]}
|
||||
brandName="Johns Plumbing"
|
||||
/>
|
||||
@@ -63,8 +62,8 @@ export default function BlogPage() {
|
||||
<FooterLogoEmphasis
|
||||
logoText="Johns Plumbing"
|
||||
columns={[
|
||||
{ items: [{ label: "Services", href: "#services" }, { label: "Why Johns", href: "#why-us" }, { label: "Our Promise", href: "#promise" }] },
|
||||
{ items: [{ label: "FAQ", href: "#faq" }, { label: "Book Service", href: "#contact" }, { label: "Call Now", href: "tel:(Your Phone Number)" }] },
|
||||
{ items: [{ label: "Services", href: "/#services" }, { label: "Why Johns", href: "/#why-us" }, { label: "Our Promise", href: "/#promise" }] },
|
||||
{ items: [{ label: "FAQ", href: "/#faq" }, { label: "Book Service", href: "/#contact" }, { label: "Call Now", href: "tel:(Your Phone Number)" }] },
|
||||
{ items: [{ label: "Email Us", href: "mailto:(Your Email)" }, { label: "Licensed & Insured", href: "#" }] },
|
||||
]}
|
||||
ariaLabel="Site Footer - Johns Plumbing"
|
||||
|
||||
@@ -24,14 +24,14 @@ export default function LandingPage() {
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<main className="flex flex-col items-center justify-center w-full">
|
||||
<div id="nav" data-section="nav" className="w-full">
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[
|
||||
{ name: "Services", id: "#services" },
|
||||
{ name: "Why Us", id: "#why-us" },
|
||||
{ name: "Promise", id: "#promise" },
|
||||
{ name: "FAQ", id: "#faq" },
|
||||
{ name: "Blog", id: "/blog" },
|
||||
{ name: "Shop", id: "/shop" },
|
||||
{ name: "Contact", id: "#contact" },
|
||||
]}
|
||||
brandName="Johns Plumbing"
|
||||
@@ -70,7 +70,8 @@ export default function LandingPage() {
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Eisa and Almond (Customer)", role: "Happy Homeowner", company: "Satisfied Customer", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/builder-man-wearing-construction-uniform-standing-with-arms-crossed-with-confident-smile-isolated-orange-wall_141793-14478.jpg", imageAlt: "Eisa and Almond, happy customers"},
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/builder-man-wearing-construction-uniform-standing-with-arms-crossed-with-confident-smile-isolated-orange-wall_141793-14478.jpg", imageAlt: "Eisa and Almond, happy customers"
|
||||
},
|
||||
]}
|
||||
kpiItems={[
|
||||
{ value: "5", label: "Star Rating" },
|
||||
@@ -90,11 +91,14 @@ export default function LandingPage() {
|
||||
description="Precision. Professionalism. Speed."
|
||||
features={[
|
||||
{
|
||||
id: "01", title: "Repairs", description: "Fast diagnosis and expert repairs for leaks, clogs, broken pipes, and fixtures. We fix it right the first time.", imageSrc: "https://img.b2bpic.net/free-photo/female-plumber-working-fix-problems-client-s-house_23-2150990725.jpg", imageAlt: "Plumbing repair tools"},
|
||||
id: "01", title: "Repairs", description: "Fast diagnosis and expert repairs for leaks, clogs, broken pipes, and fixtures. We fix it right the first time.", imageSrc: "https://img.b2bpic.net/free-photo/female-plumber-working-fix-problems-client-s-house_23-2150990725.jpg", imageAlt: "Plumbing repair tools"
|
||||
},
|
||||
{
|
||||
id: "02", title: "Installations", description: "High-end fixture installs done cleanly and professionally. Faucets, water heaters, toilets, and more.", imageSrc: "https://img.b2bpic.net/free-photo/man-white-terry-bathrobe-filling-bathtub-with-water_259150-59739.jpg", imageAlt: "New faucet installation"},
|
||||
id: "02", title: "Installations", description: "High-end fixture installs done cleanly and professionally. Faucets, water heaters, toilets, and more.", imageSrc: "https://img.b2bpic.net/free-photo/man-white-terry-bathrobe-filling-bathtub-with-water_259150-59739.jpg", imageAlt: "New faucet installation"
|
||||
},
|
||||
{
|
||||
id: "03", title: "Emergency Service", description: "When something goes wrong, we move fast. Quick response. Immediate solutions.", imageSrc: "https://img.b2bpic.net/free-photo/male-worker-operating-machinery-factory_107420-96043.jpg", imageAlt: "Emergency plumbing service"},
|
||||
id: "03", title: "Emergency Service", description: "When something goes wrong, we move fast. Quick response. Immediate solutions.", imageSrc: "https://img.b2bpic.net/free-photo/male-worker-operating-machinery-factory_107420-96043.jpg", imageAlt: "Emergency plumbing service"
|
||||
},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
@@ -210,7 +214,6 @@ export default function LandingPage() {
|
||||
className="mt-auto"
|
||||
/>
|
||||
</div>
|
||||
</main>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use client";
|
||||
"use client";
|
||||
|
||||
import { Suspense, use, useCallback } from "react";
|
||||
import { useRouter } from "next/navigation";
|
||||
@@ -88,12 +88,17 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<div id="navbar" data-section="navbar" className="relative w-full">
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Shop", id: "/shop" }]}
|
||||
brandName="Johns Plumbing"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
<button
|
||||
onClick={() => setCartOpen(true)}
|
||||
className="absolute top-0 right-0 m-4 z-[60] px-4 py-2 bg-primary-cta text-primary-cta-text rounded-md hover:opacity-90 transition-opacity"
|
||||
>
|
||||
Cart
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{isLoading ? (
|
||||
@@ -161,8 +166,8 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
<FooterLogoEmphasis
|
||||
logoText="Johns Plumbing"
|
||||
columns={[
|
||||
{ items: [{ label: "Services", href: "#services" }, { label: "Why Johns", href: "#why-us" }, { label: "Our Promise", href: "#promise" }] },
|
||||
{ items: [{ label: "FAQ", href: "#faq" }, { label: "Book Service", href: "#contact" }, { label: "Call Now", href: "tel:(Your Phone Number)" }] },
|
||||
{ items: [{ label: "Services", href: "/#services" }, { label: "Why Johns", href: "/#why-us" }, { label: "Our Promise", href: "/#promise" }] },
|
||||
{ items: [{ label: "FAQ", href: "/#faq" }, { label: "Book Service", href: "/#contact" }, { label: "Call Now", href: "tel:(Your Phone Number)" }] },
|
||||
{ items: [{ label: "Email Us", href: "mailto:(Your Email)" }, { label: "Licensed & Insured", href: "#" }] }
|
||||
]}
|
||||
ariaLabel="Site Footer - Johns Plumbing"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use client";
|
||||
"use client";
|
||||
|
||||
import { Suspense, useCallback } from "react";
|
||||
import ReactLenis from "lenis/react";
|
||||
@@ -55,12 +55,17 @@ function ShopPageContent() {
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<div id="navbar" data-section="navbar" className="relative w-full">
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Shop", id: "/shop" }]}
|
||||
brandName="Johns Plumbing"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
<button
|
||||
onClick={() => setCartOpen(true)}
|
||||
className="absolute top-0 right-0 m-4 z-[60] px-4 py-2 bg-primary-cta text-primary-cta-text rounded-md hover:opacity-90 transition-opacity"
|
||||
>
|
||||
Cart
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{isLoading ? (
|
||||
@@ -103,8 +108,8 @@ function ShopPageContent() {
|
||||
<FooterLogoEmphasis
|
||||
logoText="Johns Plumbing"
|
||||
columns={[
|
||||
{ items: [{ label: "Services", href: "#services" }, { label: "Why Johns", href: "#why-us" }, { label: "Our Promise", href: "#promise" }] },
|
||||
{ items: [{ label: "FAQ", href: "#faq" }, { label: "Book Service", href: "#contact" }, { label: "Call Now", href: "tel:(Your Phone Number)" }] },
|
||||
{ items: [{ label: "Services", href: "/#services" }, { label: "Why Johns", href: "/#why-us" }, { label: "Our Promise", href: "/#promise" }] },
|
||||
{ items: [{ label: "FAQ", href: "/#faq" }, { label: "Book Service", href: "/#contact" }, { label: "Call Now", href: "tel:(Your Phone Number)" }] },
|
||||
{ items: [{ label: "Email Us", href: "mailto:(Your Email)" }, { label: "Licensed & Insured", href: "#" }] }
|
||||
]}
|
||||
ariaLabel="Site Footer - Johns Plumbing"
|
||||
|
||||
Reference in New Issue
Block a user