Merge version_1 into main #2
@@ -45,15 +45,15 @@ export default function BlogPage() {
|
||||
<div id="blog" data-section="blog">
|
||||
<BlogCardThree
|
||||
blogs={posts}
|
||||
title="Roofing Insights & Updates"
|
||||
description="Expert advice, industry updates, and maintenance tips from Hi Tech Roofing professionals"
|
||||
tag="Blog"
|
||||
title="Latest Roofing Insights"
|
||||
description="Stay informed with expert advice and industry updates from Hi Tech Roofing"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
carouselMode="buttons"
|
||||
animationType="slide-up"
|
||||
tagAnimation="opacity"
|
||||
buttonAnimation="opacity"
|
||||
carouselMode="buttons"
|
||||
tag="Blog"
|
||||
tagAnimation="slide-up"
|
||||
uniformGridCustomHeightClasses="min-h-[600px]"
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
@@ -61,12 +61,8 @@ export default function BlogPage() {
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{
|
||||
label: "Privacy Policy", href: "#"
|
||||
}}
|
||||
rightLink={{
|
||||
label: "Terms of Service", href: "#"
|
||||
}}
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Terms of Service", href: "#" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
|
||||
@@ -10,12 +10,14 @@ const karla = Karla({
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Hi Tech Roofing Services Co. | Premium Roofing, Fair Pricing", description: "Fast, honest roofing solutions for homes, commercial properties & HOAs. Leak repairs, replacements, tile & flat roofing. Same-day callbacks. Fair pricing.", keywords: "roofing company, roof repair, roof replacement, tile roofing, flat roofing, commercial roofing, HOA roofing, leak detection", openGraph: {
|
||||
title: "Hi Tech Roofing Services Co.", description: "Premium roofing solutions with fast turnarounds and honest pricing.", siteName: "Hi Tech Roofing Services Co.", type: "website", images: [{
|
||||
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/a-stunning-golden-hour-photograph-of-a-l-1771515367817-2f97ca75.png", alt: "Premium residential roof installation"
|
||||
}]
|
||||
title: "Hi Tech Roofing Services Co.", description: "Premium roofing solutions with fast turnarounds and honest pricing.", siteName: "Hi Tech Roofing Services Co.", type: "website", images: [
|
||||
{
|
||||
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/a-stunning-golden-hour-photograph-of-a-l-1771515002192-9e4a5fe8.png", alt: "Premium residential roof installation"
|
||||
}
|
||||
]
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "Hi Tech Roofing Services Co.", description: "Premium roofing solutions with fast turnarounds and honest pricing.", images: ["https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/a-stunning-golden-hour-photograph-of-a-l-1771515367817-2f97ca75.png"]
|
||||
card: "summary_large_image", title: "Hi Tech Roofing Services Co.", description: "Premium roofing solutions with fast turnarounds and honest pricing.", images: ["https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/a-stunning-golden-hour-photograph-of-a-l-1771515002192-9e4a5fe8.png"]
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"use client"
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||
@@ -11,7 +11,7 @@ import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { Award, CheckCircle, Shield, Zap } from "lucide-react";
|
||||
|
||||
export default function RoofingPage() {
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-stagger"
|
||||
@@ -33,7 +33,9 @@ export default function RoofingPage() {
|
||||
{ name: "Why Hi Tech", id: "why-hitech" },
|
||||
{ name: "Reviews", id: "testimonials" }
|
||||
]}
|
||||
button={{ text: "Get a Quote", href: "contact" }}
|
||||
button={{
|
||||
text: "Get a Quote", href: "contact"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -45,7 +47,7 @@ export default function RoofingPage() {
|
||||
{ text: "Get a Free Estimate", href: "contact" },
|
||||
{ text: "Call Now", href: "tel:+1-800-ROOFING" }
|
||||
]}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/a-stunning-golden-hour-photograph-of-a-l-1771515367817-2f97ca75.png"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/a-stunning-golden-hour-photograph-of-a-l-1771515002192-9e4a5fe8.png"
|
||||
imageAlt="Luxury residential roof with premium tile work in golden hour lighting"
|
||||
showDimOverlay={true}
|
||||
/>
|
||||
@@ -111,7 +113,7 @@ export default function RoofingPage() {
|
||||
title: "Trusted Long-Term Partner", description: "Relied upon by property managers, HOAs, and contractors for consistent, reliable service.", icon: Shield
|
||||
}
|
||||
]}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/professional-team-photograph-showing-a-d-1771515407671-de4afa1f.png"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/professional-team-photograph-showing-a-d-1771515042421-967c77e6.png"
|
||||
imageAlt="Hi Tech Roofing professional team in branded uniforms"
|
||||
mediaAnimation="slide-up"
|
||||
imagePosition="right"
|
||||
@@ -128,16 +130,16 @@ export default function RoofingPage() {
|
||||
animationType="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Sarah Johnson", role: "Homeowner", testimonial: "Punctual, fast, great team, honest owner—all that work done in one day. Exactly what they promised.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-satisfied-middl-1771515419535-d62f1084.png", imageAlt: "Sarah Johnson portrait"
|
||||
id: "1", name: "Sarah Johnson", role: "Homeowner", testimonial: "Punctual, fast, great team, honest owner—all that work done in one day. Exactly what they promised.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-satisfied-middl-1771515054639-dc60fdd7.png", imageAlt: "Sarah Johnson portrait"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Michael Chen", role: "Property Manager", testimonial: "Professional and efficiently takes care of our problems immediately. Honest and fair in pricing. We call them first.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-professional-pr-1771515425745-d8102a4a.png", imageAlt: "Michael Chen portrait"
|
||||
id: "2", name: "Michael Chen", role: "Property Manager", testimonial: "Professional and efficiently takes care of our problems immediately. Honest and fair in pricing. We call them first.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-professional-pr-1771515060766-2f419412.png", imageAlt: "Michael Chen portrait"
|
||||
},
|
||||
{
|
||||
id: "3", name: "David Rodriguez", role: "Contractor", testimonial: "I manage a strip mall. If there's a roof issue, I just call Jonathan. He responds quickly, does it correctly, at a reasonable price.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-satisfied-contr-1771515431387-0ef936c6.png", imageAlt: "David Rodriguez portrait"
|
||||
id: "3", name: "David Rodriguez", role: "Contractor", testimonial: "I manage a strip mall. If there's a roof issue, I just call Jonathan. He responds quickly, does it correctly, at a reasonable price.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-satisfied-contr-1771515067528-c72421f7.png", imageAlt: "David Rodriguez portrait"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Jessica Martinez", role: "HOA Board Member", testimonial: "Responsive, professional, and fair. They understand the unique needs of managing multiple properties. Highly recommended.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-commercial-prop-1771515437499-00e406ff.png", imageAlt: "Jessica Martinez portrait"
|
||||
id: "4", name: "Jessica Martinez", role: "HOA Board Member", testimonial: "Responsive, professional, and fair. They understand the unique needs of managing multiple properties. Highly recommended.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/portrait-photograph-of-a-commercial-prop-1771515073661-ec86f9c3.png", imageAlt: "Jessica Martinez portrait"
|
||||
}
|
||||
]}
|
||||
carouselMode="buttons"
|
||||
@@ -159,7 +161,7 @@ export default function RoofingPage() {
|
||||
required: true
|
||||
}}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/photograph-of-a-beautiful-residential-ho-1771515444586-7c4e9491.png"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_39pJKepCsOyl3oUi8wZV0jRLiBo/photograph-of-a-beautiful-residential-ho-1771515081101-db0af504.png"
|
||||
imageAlt="Completed premium roof installation"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
@@ -170,8 +172,12 @@ export default function RoofingPage() {
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Terms of Service", href: "#" }}
|
||||
leftLink={{
|
||||
text: "Privacy Policy", href: "#"
|
||||
}}
|
||||
rightLink={{
|
||||
text: "Terms of Service", href: "#"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
|
||||
@@ -82,27 +82,27 @@ export default function ProductPage({ params }: ProductPageProps) {
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Services","id":"services"},
|
||||
{"name":"Why Hi Tech","id":"why-hitech"},
|
||||
{"name":"Reviews","id":"testimonials"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Why Hi Tech", id: "why-hitech" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Shop", id: "/shop" }
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<main className="min-h-screen flex items-center justify-center pt-20">
|
||||
<p className="text-foreground">Loading product...</p>
|
||||
</main>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{"label":"Privacy Policy","href":"#"}}
|
||||
rightLink={{"label":"Terms of Service","href":"#"}}
|
||||
/>
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Terms of Service", href: "#" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
@@ -128,11 +128,11 @@ export default function ProductPage({ params }: ProductPageProps) {
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Services","id":"services"},
|
||||
{"name":"Why Hi Tech","id":"why-hitech"},
|
||||
{"name":"Reviews","id":"testimonials"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Why Hi Tech", id: "why-hitech" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Shop", id: "/shop" }
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
@@ -149,11 +149,11 @@ export default function ProductPage({ params }: ProductPageProps) {
|
||||
</div>
|
||||
</main>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{"label":"Privacy Policy","href":"#"}}
|
||||
rightLink={{"label":"Terms of Service","href":"#"}}
|
||||
/>
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Terms of Service", href: "#" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
@@ -175,60 +175,60 @@ export default function ProductPage({ params }: ProductPageProps) {
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Services","id":"services"},
|
||||
{"name":"Why Hi Tech","id":"why-hitech"},
|
||||
{"name":"Reviews","id":"testimonials"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Why Hi Tech", id: "why-hitech" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Shop", id: "/shop" }
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<div id="productDetailCard" data-section="productDetailCard">
|
||||
<ProductDetailCard
|
||||
layout="page"
|
||||
name={product.name}
|
||||
price={product.price}
|
||||
salePrice={meta.salePrice}
|
||||
rating={product.rating || 0}
|
||||
description={product.description}
|
||||
images={images}
|
||||
variants={variants.length > 0 ? variants : undefined}
|
||||
quantity={quantityVariant}
|
||||
ribbon={meta.ribbon}
|
||||
inventoryStatus={meta.inventoryStatus}
|
||||
inventoryQuantity={meta.inventoryQuantity}
|
||||
sku={meta.sku}
|
||||
buttons={[
|
||||
{ text: "Add To Cart", onClick: handleAddToCart },
|
||||
{ text: "Buy Now", onClick: handleBuyNow },
|
||||
]}
|
||||
/>
|
||||
<ProductDetailCard
|
||||
layout="page"
|
||||
name={product.name}
|
||||
price={product.price}
|
||||
salePrice={meta.salePrice}
|
||||
rating={product.rating || 0}
|
||||
description={product.description}
|
||||
images={images}
|
||||
variants={variants.length > 0 ? variants : undefined}
|
||||
quantity={quantityVariant}
|
||||
ribbon={meta.ribbon}
|
||||
inventoryStatus={meta.inventoryStatus}
|
||||
inventoryQuantity={meta.inventoryQuantity}
|
||||
sku={meta.sku}
|
||||
buttons={[
|
||||
{ text: "Add To Cart", onClick: handleAddToCart },
|
||||
{ text: "Buy Now", onClick: handleBuyNow },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<div id="productCart" data-section="productCart">
|
||||
<ProductCart
|
||||
isOpen={cartOpen}
|
||||
onClose={() => setCartOpen(false)}
|
||||
items={cartItems}
|
||||
onQuantityChange={updateQuantity}
|
||||
onRemove={removeItem}
|
||||
total={`$${cartTotal}`}
|
||||
buttons={[
|
||||
{
|
||||
text: isCheckoutLoading ? "Processing..." : "Check Out", onClick: handleCheckout,
|
||||
},
|
||||
]}
|
||||
/>
|
||||
<ProductCart
|
||||
isOpen={cartOpen}
|
||||
onClose={() => setCartOpen(false)}
|
||||
items={cartItems}
|
||||
onQuantityChange={updateQuantity}
|
||||
onRemove={removeItem}
|
||||
total={`$${cartTotal}`}
|
||||
buttons={[
|
||||
{
|
||||
text: isCheckoutLoading ? "Processing..." : "Check Out", onClick: handleCheckout,
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{"label":"Privacy Policy","href":"#"}}
|
||||
rightLink={{"label":"Terms of Service","href":"#"}}
|
||||
/>
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Terms of Service", href: "#" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
|
||||
@@ -32,27 +32,27 @@ export default function ShopPage() {
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Services","id":"services"},
|
||||
{"name":"Why Hi Tech","id":"why-hitech"},
|
||||
{"name":"Reviews","id":"testimonials"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => console.log("cart") }}
|
||||
/>
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Why Hi Tech", id: "why-hitech" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Shop", id: "/shop" }
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => console.log("cart") }}
|
||||
/>
|
||||
</div>
|
||||
<main className="min-h-screen flex items-center justify-center pt-20">
|
||||
<p className="text-foreground">Loading products...</p>
|
||||
</main>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{"label":"Privacy Policy","href":"#"}}
|
||||
rightLink={{"label":"Terms of Service","href":"#"}}
|
||||
/>
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Terms of Service", href: "#" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
@@ -74,35 +74,35 @@ export default function ShopPage() {
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Services","id":"services"},
|
||||
{"name":"Why Hi Tech","id":"why-hitech"},
|
||||
{"name":"Reviews","id":"testimonials"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => console.log("cart") }}
|
||||
/>
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Hi Tech Roofing"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Why Hi Tech", id: "why-hitech" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Shop", id: "/shop" }
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => console.log("cart") }}
|
||||
/>
|
||||
</div>
|
||||
<div id="productCatalog" data-section="productCatalog">
|
||||
<ProductCatalog
|
||||
layout="page"
|
||||
products={products}
|
||||
searchValue={search}
|
||||
onSearchChange={setSearch}
|
||||
searchPlaceholder="Search products..."
|
||||
filters={filters}
|
||||
emptyMessage="No products found"
|
||||
/>
|
||||
<ProductCatalog
|
||||
layout="page"
|
||||
products={products}
|
||||
searchValue={search}
|
||||
onSearchChange={setSearch}
|
||||
searchPlaceholder="Search products..."
|
||||
filters={filters}
|
||||
emptyMessage="No products found"
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{"label":"Privacy Policy","href":"#"}}
|
||||
rightLink={{"label":"Terms of Service","href":"#"}}
|
||||
/>
|
||||
<FooterLogoReveal
|
||||
logoText="Hi Tech Roofing Services Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Terms of Service", href: "#" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
|
||||
Reference in New Issue
Block a user