Update src/app/shop/page.tsx

This commit is contained in:
2026-02-23 12:20:57 +00:00
parent 41c4d02822
commit 15ee3d69e1

View File

@@ -1,13 +1,22 @@
"use client";
import { Suspense } from "react";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import Link from 'next/link';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
import { useProductCatalog } from "@/hooks/useProductCatalog";
const navItems = [
{ name: "Home", id: "/" },
{ name: "About", id: "/#about" },
{ name: "Features", id: "/#features" },
{ name: "Testimonials", id: "/#testimonials" },
{ name: "FAQ", id: "/#faq" },
{ name: "Contact", id: "/#contact" },
];
function ShopPageContent() {
const {
products,
@@ -17,54 +26,6 @@ function ShopPageContent() {
filters,
} = useProductCatalog({ basePath: "/shop" });
if (isLoading) {
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="background-highlight"
borderRadius="pill"
contentWidth="mediumSmall"
sizing="largeSmall"
background="blurBottom"
cardStyle="soft-shadow"
primaryButtonStyle="double-inset"
secondaryButtonStyle="layered"
headingFontWeight="extrabold"
>
<ReactLenis root>
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingOverlay
brandName="Find Me"
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "shop" }, { name: "About", id: "about" }, { name: "Features", id: "features" }, { name: "Testimonials", id: "testimonials" }, { name: "FAQ", id: "faq" }, { name: "Contact", id: "contact" }]}
className="bg-card/80 backdrop-blur-md"
buttonClassName="bg-primary-cta text-primary-cta-text"
buttonTextClassName="font-semibold"
button={{ text: "Cart", onClick: () => { } }}
/>
</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">
<FooterMedia
imageSrc="https://img.b2bpic.net/free-vector/pink-silk-background_1048-401.jpg?_wi=3"
imageAlt="Abstract luxury texture background with soft gradients"
columns={[{ title: "Shop", items: [{ label: "New Arrivals", href: "#shop" }, { label: "Best Sellers", href: "#shop" }, { label: "Discovery Sets", href: "#shop" }] }, { title: "Company", items: [{ label: "About Us", href: "#about" }, { label: "Our Promise", href: "#features" }, { label: "Contact", href: "#contact" }] }, { title: "Support", items: [{ label: "FAQ", href: "#faq" }, { label: "Shipping", href: "#" }, { label: "Returns", href: "#" }] }]}
logoText="Find Me"
copyrightText="© 2024 Find Me. All rights reserved."
useInvertedBackground={false}
className="bg-card"
logoTextClassName="text-foreground"
columnTitleClassName="text-foreground"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/70"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
@@ -78,17 +39,21 @@ function ShopPageContent() {
secondaryButtonStyle="layered"
headingFontWeight="extrabold"
>
<ReactLenis root>
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingOverlay
brandName="Find Me"
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "shop" }, { name: "About", id: "about" }, { name: "Features", id: "features" }, { name: "Testimonials", id: "testimonials" }, { name: "FAQ", id: "faq" }, { name: "Contact", id: "contact" }]}
className="bg-card/80 backdrop-blur-md"
buttonClassName="bg-primary-cta text-primary-cta-text"
buttonTextClassName="font-semibold"
button={{ text: "Cart", onClick: () => { } }}
/>
</div>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName="Find Me"
navItems={navItems}
className="bg-card/80 backdrop-blur-md"
buttonClassName="bg-primary-cta text-primary-cta-text"
buttonTextClassName="font-semibold"
button={{ text: "Cart", onClick: () => { } }}
/>
</div>
{isLoading ? (
<main className="min-h-screen flex items-center justify-center pt-20">
<p className="text-foreground">Loading products...</p>
</main>
) : (
<div id="product-catalog" data-section="product-catalog">
<ProductCatalog
layout="page"
@@ -100,22 +65,21 @@ function ShopPageContent() {
emptyMessage="No products found"
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="https://img.b2bpic.net/free-vector/pink-silk-background_1048-401.jpg?_wi=4"
imageAlt="Abstract luxury texture background with soft gradients"
columns={[{ title: "Shop", items: [{ label: "New Arrivals", href: "#shop" }, { label: "Best Sellers", href: "#shop" }, { label: "Discovery Sets", href: "#shop" }] }, { title: "Company", items: [{ label: "About Us", href: "#about" }, { label: "Our Promise", href: "#features" }, { label: "Contact", href: "#contact" }] }, { title: "Support", items: [{ label: "FAQ", href: "#faq" }, { label: "Shipping", href: "#" }, { label: "Returns", href: "#" }] }]}
logoText="Find Me"
copyrightText="© 2024 Find Me. All rights reserved."
useInvertedBackground={false}
className="bg-card"
logoTextClassName="text-foreground"
columnTitleClassName="text-foreground"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/70"
/>
</div>
</ReactLenis>
)}
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="https://img.b2bpic.net/free-vector/pink-silk-background_1048-401.jpg"
imageAlt="Abstract luxury texture background with soft gradients"
columns={[{ title: "Shop", items: [{ label: "New Arrivals", href: "/#shop" }, { label: "Best Sellers", href: "/#shop" }, { label: "Discovery Sets", href: "/#shop" }] }, { title: "Company", items: [{ label: "About Us", href: "/#about" }, { label: "Our Promise", href: "/#features" }, { label: "Contact", href: "/#contact" }] }, { title: "Support", items: [{ label: "FAQ", href: "/#faq" }, { label: "Shipping", href: "#" }, { label: "Returns", href: "#" }] }]}
logoText="Find Me"
copyrightText="© 2024 Find Me. All rights reserved."
className="bg-card"
logoTextClassName="text-foreground"
columnTitleClassName="text-foreground"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/70"
/>
</div>
</ThemeProvider>
);
}