24 Commits

Author SHA1 Message Date
ed19d6498b Update src/app/page.tsx 2026-02-21 14:34:03 +00:00
4bd99a4c6a Update src/app/shop/page.tsx 2026-02-21 14:33:19 +00:00
49b50c82fa Update src/app/shop/[id]/page.tsx 2026-02-21 14:33:18 +00:00
c602d7a26c Update src/app/page.tsx 2026-02-21 14:33:18 +00:00
747b00d839 Update src/app/layout.tsx 2026-02-21 14:33:17 +00:00
40216b35a7 Update src/app/blog/page.tsx 2026-02-21 14:33:16 +00:00
2362a12910 Update src/app/shop/page.tsx 2026-02-21 14:30:28 +00:00
d44f690532 Update src/app/shop/[id]/page.tsx 2026-02-21 14:30:27 +00:00
2f93c67fb0 Update src/app/page.tsx 2026-02-21 14:30:27 +00:00
5bccdb8433 Update src/app/layout.tsx 2026-02-21 14:30:26 +00:00
2ee0b19982 Update src/app/blog/page.tsx 2026-02-21 14:30:25 +00:00
82e5c7f12a Update src/app/shop/page.tsx 2026-02-21 14:23:36 +00:00
7838024917 Update src/app/shop/[id]/page.tsx 2026-02-21 14:23:36 +00:00
a2ac2dd3f0 Update src/app/page.tsx 2026-02-21 14:23:35 +00:00
47add6a9f4 Update src/app/layout.tsx 2026-02-21 14:23:34 +00:00
c466ffd5f2 Update src/app/blog/page.tsx 2026-02-21 14:23:33 +00:00
1c1597c0b8 Merge version_3 into main
Merge version_3 into main
2026-02-21 14:16:03 +00:00
e6e5c1ed62 Update src/app/shop/page.tsx 2026-02-21 14:15:58 +00:00
693b21ba5f Update src/app/shop/[id]/page.tsx 2026-02-21 14:15:58 +00:00
d237c1406a Update src/app/page.tsx 2026-02-21 14:15:57 +00:00
8fc1133da5 Update src/app/layout.tsx 2026-02-21 14:15:56 +00:00
c715903b30 Update src/app/blog/page.tsx 2026-02-21 14:15:55 +00:00
e56246cab4 Merge version_2 into main
Merge version_2 into main
2026-02-19 12:54:07 +00:00
4c7174208d Merge version_2 into main
Merge version_2 into main
2026-02-19 12:50:13 +00:00
5 changed files with 413 additions and 1601 deletions

View File

@@ -1,6 +1,5 @@
"use client"; "use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import { useBlogPosts } from "@/hooks/useBlogPosts"; import { useBlogPosts } from "@/hooks/useBlogPosts";
@@ -16,6 +15,17 @@ import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
export default function BlogPage() { export default function BlogPage() {
const { posts, isLoading } = useBlogPosts(); const { posts, isLoading } = useBlogPosts();
const navItems = [
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "Blog", id: "/blog" },
{ name: "Features", id: "/#features" },
{ name: "Products", id: "/#products" },
{ name: "Testimonials", id: "/#testimonials" },
{ name: "FAQ", id: "/#faq" },
{ name: "Contact", id: "/#contact" }
];
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="slide-background" defaultButtonVariant="slide-background"
@@ -29,80 +39,76 @@ export default function BlogPage() {
secondaryButtonStyle="layered" secondaryButtonStyle="layered"
headingFontWeight="extrabold" headingFontWeight="extrabold"
> >
<ReactLenis root> <div id="nav" data-section="nav">
<div id="nav" data-section="nav"> <NavbarLayoutFloatingInline
<NavbarLayoutFloatingInline navItems={navItems}
navItems={[ brandName="Biorogo"
{ name: "Home", id: "/" }, button={{ text: "Shop Now", href: "/shop" }}
]} className="py-4 px-6 md:px-8 lg:px-12"
brandName="Biorogo" navItemClassName="text-foreground hover:text-primary-cta"
button={{ text: "Shop Now", href: "/shop" }} buttonClassName=""
className="py-4 px-6 md:px-8 lg:px-12" buttonTextClassName=""
navItemClassName="text-foreground hover:text-primary-cta" />
buttonClassName="" </div>
buttonTextClassName=""
{isLoading ? (
<div className="w-content-width mx-auto py-20 text-center">
<p className="text-foreground">Loading posts...</p>
</div>
) : (
<div id="blog" data-section="blog">
<BlogCardTwo
blogs={posts}
title="Latest Articles"
description="Insights and updates from our team"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
carouselMode="buttons"
/> />
</div> </div>
)}
{isLoading ? ( <div id="footer" data-section="footer">
<div className="w-content-width mx-auto py-20 text-center"> <FooterBaseCard
<p className="text-foreground">Loading posts...</p> logoText="Biorogo"
</div> columns={[
) : ( {
<div id="blog" data-section="blog"> title: "Shop", items: [
<BlogCardTwo { label: "All Cups", href: "/shop" },
blogs={posts} { label: "Ceramic", href: "/shop" },
title="Latest Articles" { label: "Glassware", href: "/shop" },
description="Insights and updates from our team" { label: "Travel Mugs", href: "/shop" },
animationType="slide-up" ],
textboxLayout="default" },
useInvertedBackground={false} {
carouselMode="buttons" title: "Company", items: [
/> { label: "About Us", href: "/#features" },
</div> { label: "Testimonials", href: "/#testimonials" },
)} { label: "FAQ", href: "/#faq" },
],
<div id="footer" data-section="footer"> },
<FooterBaseCard {
logoText="Biorogo" title: "Support", items: [
columns={[ { label: "Contact Us", href: "/#contact" },
{ { label: "Shipping", href: "/shipping" },
title: "Shop", items: [ { label: "Returns", href: "/returns" },
{ label: "All Cups", href: "/#products" }, { label: "Sitemap", href: "/sitemap" },
{ label: "Ceramic", href: "/#products" }, ],
{ label: "Glassware", href: "/#products" }, },
{ label: "Travel Mugs", href: "/#products" }, ]}
], copyrightText="© 2024 Biorogo. All rights reserved."
}, onPrivacyClick={() => console.log('Privacy policy clicked')}
{ ariaLabel="Site footer for Biorogo"
title: "Company", items: [ className="py-16 md:py-20"
{ label: "About Us", href: "/#features" }, cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
{ label: "Testimonials", href: "/#testimonials" }, logoTextClassName="text-foreground text-3xl font-extrabold"
{ label: "FAQ", href: "/#faq" }, columnTitleClassName="text-foreground text-lg font-semibold"
], columnItemClassName="text-foreground/80 hover:text-primary-cta"
}, copyrightTextClassName="text-foreground/60 text-sm"
{ privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
title: "Support", items: [ />
{ label: "Contact Us", href: "/#contact" }, </div>
{ label: "Shipping", href: "/shipping" },
{ label: "Returns", href: "/returns" },
{ label: "Sitemap", href: "/sitemap" },
],
},
]}
copyrightText="© 2024 Biorogo. All rights reserved."
onPrivacyClick={() => console.log('Privacy policy clicked')}
ariaLabel="Site footer for Biorogo"
className="py-16 md:py-20"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
logoTextClassName="text-foreground text-3xl font-extrabold"
columnTitleClassName="text-foreground text-lg font-semibold"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/60 text-sm"
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/>
</div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ import ContactSplit from '@/components/sections/contact/ContactSplit';
import FaqDouble from '@/components/sections/faq/FaqDouble'; import FaqDouble from '@/components/sections/faq/FaqDouble';
import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven'; import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'; import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi'; import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia';
import ProductCardThree from '@/components/sections/product/ProductCardThree'; import ProductCardThree from '@/components/sections/product/ProductCardThree';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive'; import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
@@ -27,7 +27,7 @@ export default function LandingPage() {
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[{ name: "Features", id: "features" }, { name: "Products", id: "products" }, { name: "Testimonials", id: "testimonials" }, { name: "FAQ", id: "faq" }, { name: "Contact", id: "contact" }]} navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }, { name: "Blog", id: "/blog" }, { name: "Features", id: "features" }, { name: "Products", id: "products" }, { name: "Testimonials", id: "testimonials" }, { name: "FAQ", id: "faq" }, { name: "Contact", id: "contact" }]}
brandName="Biorogo" brandName="Biorogo"
button={{ text: "Shop Now", href: "#products" }} button={{ text: "Shop Now", href: "#products" }}
className="py-4 px-6 md:px-8 lg:px-12" className="py-4 px-6 md:px-8 lg:px-12"
@@ -36,22 +36,23 @@ export default function LandingPage() {
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplitKpi <HeroSplitDualMedia
title="Elevate Your Daily Rituals with Biorogo Cups" title="Elevate Your Daily Rituals with Biorogo's Crafted Cups"
description="Discover our curated collection of beautifully designed, sustainable, and handcrafted cups for every occasion. Experience the perfect blend of aesthetics and functionality." description="Discover our beautifully designed, sustainable, and handcrafted cups for every occasion. Experience the perfect blend of aesthetics and functionality tailored for your daily joy."
background={{ variant: 'plain' }} background={{ variant: 'plain' }}
kpis={[{ value: "1000+", label: "Happy Customers" }, { value: "50+", label: "Unique Designs" }, { value: "Eco-Friendly", label: "Materials" }]}
enableKpiAnimation={true}
tag="Artistry in Every Sip" tag="Artistry in Every Sip"
tagIcon={Sparkles} tagIcon={Sparkles}
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[{ text: "Explore Collection", href: "#products" }, { text: "Learn More", href: "#features" }]} buttons={[{ text: "Explore Collection", href: "#products" }, { text: "Learn More", href: "#features" }]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_34my1kGeblbsCcwUUCcjBY9WFkg/uploaded-1771505618512-apxd95pq.mp4" mediaItems={[
imageAlt="Collection of elegant Biorogo cups" { imageSrc: "https://images.unsplash.com/photo-1579294246101-526487e47a50?q=80&w=2940&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Coffee being poured into a Biorogo cup" },
{ imageSrc: "https://images.unsplash.com/photo-1549488339-a99f1807d476?q=80&w=2940&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Person holding a handcrafted Biorogo mug" }
]}
mediaAnimation="opacity" mediaAnimation="opacity"
rating={5}
ratingText="Loved by Thousands of Customers"
ariaLabel="Welcome to Biorogo Cups" ariaLabel="Welcome to Biorogo Cups"
imagePosition="right"
titleClassName="text-foreground text-4xl sm:text-5xl md:text-6xl lg:text-7xl font-extrabold" titleClassName="text-foreground text-4xl sm:text-5xl md:text-6xl lg:text-7xl font-extrabold"
descriptionClassName="text-foreground/80 text-lg md:text-xl" descriptionClassName="text-foreground/80 text-lg md:text-xl"
tagClassName="text-accent text-sm md:text-base" tagClassName="text-accent text-sm md:text-base"
@@ -66,7 +67,7 @@ export default function LandingPage() {
features={[ features={[
{ id: 1, title: "Artisan Craftsmanship", description: "Each Biorogo cup is meticulously handcrafted by skilled artisans, ensuring unique character and superior quality that stands the test of time.", imageSrc: "https://img.b2bpic.net/free-photo/couple-with-brown-aprons-making-vase_1157-30724.jpg", imageAlt: "Hands shaping clay on a pottery wheel." }, { id: 1, title: "Artisan Craftsmanship", description: "Each Biorogo cup is meticulously handcrafted by skilled artisans, ensuring unique character and superior quality that stands the test of time.", imageSrc: "https://img.b2bpic.net/free-photo/couple-with-brown-aprons-making-vase_1157-30724.jpg", imageAlt: "Hands shaping clay on a pottery wheel." },
{ id: 2, title: "Sustainable Materials", description: "We prioritize the planet by sourcing only eco-friendly and sustainably harvested materials, offering you beautiful products with a minimal environmental footprint.", imageSrc: "https://img.b2bpic.net/free-photo/close-up-couple-holding-cup-coffee_23-2147918181.jpg", imageAlt: "Green leaves growing out of a recycled cup." }, { id: 2, title: "Sustainable Materials", description: "We prioritize the planet by sourcing only eco-friendly and sustainably harvested materials, offering you beautiful products with a minimal environmental footprint.", imageSrc: "https://img.b2bpic.net/free-photo/close-up-couple-holding-cup-coffee_23-2147918181.jpg", imageAlt: "Green leaves growing out of a recycled cup." },
{ id: 3, title: "Thoughtful Design", description: "Our designs blend modern aesthetics with ergonomic comfort, making every sip an experience. From minimalist elegance to vibrant patterns, there's a Biorogo cup for every style.", imageSrc: "https://img.b2bpic.net/free-photo/three-cups-coffee-wooden-board_114579-52730.jpg", imageAlt: "A collection of stylish, modern designed cups." } { id: 3, title: "Thoughtful Design", description: "Our designs blend modern aesthetics with ergonomic comfort, making every sip an experience. From minimalist elegance to vibrant patterns, there's a Biorogo cup for every style.", imageSrc: "https://img.b2bpic.net/free-photo/three-cups-coffee-wooden-board_114579-52730.jpg?_wi=1", imageAlt: "A collection of stylish, modern designed cups." }
]} ]}
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -83,10 +84,10 @@ export default function LandingPage() {
<div id="products" data-section="products"> <div id="products" data-section="products">
<ProductCardThree <ProductCardThree
products={[ products={[
{ id: "1", name: "Minimalist Ceramic Mug", price: "$24.99", imageSrc: "https://img.b2bpic.net/free-photo/hot-espresso-tea-coffee-food_1203-4245.jpg", imageAlt: "A simple white ceramic mug" }, { id: "1", name: "Minimalist Ceramic Mug", price: "$24.99", imageSrc: "https://img.b2bpic.net/free-photo/hot-espresso-tea-coffee-food_1203-4245.jpg?_wi=1", imageAlt: "A simple white ceramic mug" },
{ id: "2", name: "Eco-Friendly Glass Tumbler", price: "$19.99", imageSrc: "https://img.b2bpic.net/free-photo/coffee-cups-table_93675-130857.jpg", imageAlt: "A clear, eco-friendly glass tumbler" }, { id: "2", name: "Eco-Friendly Glass Tumbler", price: "$19.99", imageSrc: "https://img.b2bpic.net/free-photo/coffee-cups-table_93675-130857.jpg?_wi=1", imageAlt: "A clear, eco-friendly glass tumbler" },
{ id: "3", name: "Bamboo Travel Cup", price: "$29.99", imageSrc: "https://img.b2bpic.net/free-photo/three-cups-coffee-wooden-board_114579-52730.jpg", imageAlt: "A reusable bamboo travel cup with lid" }, { id: "3", name: "Bamboo Travel Cup", price: "$29.99", imageSrc: "https://img.b2bpic.net/free-photo/three-cups-coffee-wooden-board_114579-52730.jpg?_wi=2", imageAlt: "A reusable bamboo travel cup with lid" },
{ id: "4", name: "Artisan Espresso Cup Set", price: "$39.99", imageSrc: "https://img.b2bpic.net/free-photo/upside-down-cups-rack_53876-63375.jpg", imageAlt: "A small, artisan-crafted espresso cup" } { id: "4", name: "Artisan Espresso Cup Set", price: "$39.99", imageSrc: "https://img.b2bpic.net/free-photo/upside-down-cups-rack_53876-63375.jpg?_wi=1", imageAlt: "A small, artisan-crafted espresso cup" }
]} ]}
carouselMode="buttons" carouselMode="buttons"
gridVariant="four-items-2x2-equal-grid" gridVariant="four-items-2x2-equal-grid"
@@ -109,10 +110,10 @@ export default function LandingPage() {
<div id="testimonials" data-section="testimonials"> <div id="testimonials" data-section="testimonials">
<TestimonialCardFive <TestimonialCardFive
testimonials={[ testimonials={[
{ id: "1", name: "Sarah L., Coffee Enthusiast", date: "Date: October 26, 2023", title: "My new favorite mug!", quote: "The craftsmanship of my Biorogo mug is exceptional. It keeps my coffee warm longer and feels so comfortable in hand. Truly elevates my morning ritual.", tag: "Ceramic Collection", avatarSrc: "https://img.b2bpic.net/free-photo/portrait-young-smiling-pretty-girl-plaid-shirt-posing_114579-70643.jpg", avatarAlt: "Sarah L. avatar", imageSrc: "https://img.b2bpic.net/free-photo/hot-espresso-tea-coffee-food_1203-4245.jpg", imageAlt: "Minimalist ceramic mug" }, { id: "1", name: "Sarah L., Coffee Enthusiast", date: "Date: October 26, 2023", title: "My new favorite mug!", quote: "The craftsmanship of my Biorogo mug is exceptional. It keeps my coffee warm longer and feels so comfortable in hand. Truly elevates my morning ritual.", tag: "Ceramic Collection", avatarSrc: "https://img.b2bpic.net/free-photo/portrait-young-smiling-pretty-girl-plaid-shirt-posing_114579-70643.jpg", avatarAlt: "Sarah L. avatar", imageSrc: "https://img.b2bpic.net/free-photo/hot-espresso-tea-coffee-food_1203-4245.jpg?_wi=2", imageAlt: "Minimalist ceramic mug" },
{ id: "2", name: "Mark T., Eco-Conscious Shopper", date: "Date: November 15, 2023", title: "Stylish and sustainable", quote: "I love my Biorogo glass tumbler. It's perfect for my iced coffees and I feel good knowing it's made from recycled materials. Plus, it looks great!", tag: "Glassware Line", avatarSrc: "https://img.b2bpic.net/free-photo/young-woman-green-cozy-large-knitted-sweater-cute-smiling-with-crossed-hands_343596-7420.jpg", avatarAlt: "Mark T. avatar", imageSrc: "https://img.b2bpic.net/free-photo/coffee-cups-table_93675-130857.jpg", imageAlt: "Eco-friendly glass tumbler" }, { id: "2", name: "Mark T., Eco-Conscious Shopper", date: "Date: November 15, 2023", title: "Stylish and sustainable", quote: "I love my Biorogo glass tumbler. It's perfect for my iced coffees and I feel good knowing it's made from recycled materials. Plus, it looks great!", tag: "Glassware Line", avatarSrc: "https://img.b2bpic.net/free-photo/young-woman-green-cozy-large-knitted-sweater-cute-smiling-with-crossed-hands_343596-7420.jpg", avatarAlt: "Mark T. avatar", imageSrc: "https://img.b2bpic.net/free-photo/coffee-cups-table_93675-130857.jpg?_wi=2", imageAlt: "Eco-friendly glass tumbler" },
{ id: "3", name: "Emily R., Daily Commuter", date: "Date: December 01, 2023", title: "Travel cup essential", quote: "The bamboo travel cup is a game-changer. It's lightweight, spill-proof, and keeps my tea hot during my busy commute. Highly recommend!", tag: "Travel Gear", avatarSrc: "https://img.b2bpic.net/free-photo/close-up-confident-corporate-woman-professional-entrepreneur-smiling-cross-arms-chest-smiling-enthusiastic-standing-white-background_1258-85600.jpg", avatarAlt: "Emily R. avatar", imageSrc: "https://img.b2bpic.net/free-photo/three-cups-coffee-wooden-board_114579-52730.jpg", imageAlt: "Bamboo travel cup" }, { id: "3", name: "Emily R., Daily Commuter", date: "Date: December 01, 2023", title: "Travel cup essential", quote: "The bamboo travel cup is a game-changer. It's lightweight, spill-proof, and keeps my tea hot during my busy commute. Highly recommend!", tag: "Travel Gear", avatarSrc: "https://img.b2bpic.net/free-photo/close-up-confident-corporate-woman-professional-entrepreneur-smiling-cross-arms-chest-smiling-enthusiastic-standing-white-background_1258-85600.jpg", avatarAlt: "Emily R. avatar", imageSrc: "https://img.b2bpic.net/free-photo/three-cups-coffee-wooden-board_114579-52730.jpg?_wi=3", imageAlt: "Bamboo travel cup" },
{ id: "4", name: "David K., Home Barista", date: "Date: January 10, 2024", title: "Perfect espresso experience", quote: "The artisan espresso cups are beautiful and truly enhance the coffee experience. The quality is evident, and they're a joy to use daily.", tag: "Espresso Series", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-face-gorgeous-latin-american-woman_1262-5766.jpg", avatarAlt: "David K. avatar", imageSrc: "https://img.b2bpic.net/free-photo/upside-down-cups-rack_53876-63375.jpg", imageAlt: "Artisan espresso cup" } { id: "4", name: "David K., Home Barista", date: "Date: January 10, 2024", title: "Perfect espresso experience", quote: "The artisan espresso cups are beautiful and truly enhance the coffee experience. The quality is evident, and they're a joy to use daily.", tag: "Espresso Series", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-face-gorgeous-latin-american-woman_1262-5766.jpg", avatarAlt: "David K. avatar", imageSrc: "https://img.b2bpic.net/free-photo/upside-down-cups-rack_53876-63375.jpg?_wi=2", imageAlt: "Artisan espresso cup" }
]} ]}
title="What Our Customers Say" title="What Our Customers Say"
description="Hear from the Biorogo community about their favorite cups and why they love them." description="Hear from the Biorogo community about their favorite cups and why they love them."

View File

@@ -2,9 +2,8 @@
import { use, useCallback } from "react"; import { use, useCallback } from "react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard"; import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard";
import ProductCart from "@/components/ecommerce/cart/ProductCart"; import ProductCart from "@/components/ecommerce/cart/ProductCart";
import { useProductDetail } from "@/hooks/useProductDetail"; import { useProductDetail } from "@/hooks/useProductDetail";
@@ -44,6 +43,17 @@ export default function ProductPage({ params }: ProductPageProps) {
const { buyNow, checkout, isLoading: isCheckoutLoading } = useCheckout(); const { buyNow, checkout, isLoading: isCheckoutLoading } = useCheckout();
const navItems = [
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "Blog", id: "/blog" },
{ name: "Features", id: "/#features" },
{ name: "Products", id: "/#products" },
{ name: "Testimonials", id: "/#testimonials" },
{ name: "FAQ", id: "/#faq" },
{ name: "Contact", id: "/#contact" }
];
const handleAddToCart = useCallback(() => { const handleAddToCart = useCallback(() => {
const item = createCartItem(); const item = createCartItem();
if (item) { if (item) {
@@ -80,12 +90,9 @@ export default function ProductPage({ params }: ProductPageProps) {
secondaryButtonStyle="layered" secondaryButtonStyle="layered"
headingFontWeight="extrabold" headingFontWeight="extrabold"
> >
<ReactLenis root> <div id="nav" data-section="nav">
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={navItems}
{ name: "Home", id: "/" },
]}
brandName="Biorogo" brandName="Biorogo"
button={{ text: "Cart", onClick: () => setCartOpen(true) }} button={{ text: "Cart", onClick: () => setCartOpen(true) }}
className="py-4 px-6 md:px-8 lg:px-12" className="py-4 px-6 md:px-8 lg:px-12"
@@ -93,33 +100,32 @@ export default function ProductPage({ params }: ProductPageProps) {
buttonClassName="" buttonClassName=""
buttonTextClassName="" buttonTextClassName=""
/> />
</div> </div>
<div id="loading-indicator" data-section="loading-indicator"> <div id="loading-indicator" data-section="loading-indicator">
<main className="min-h-screen flex items-center justify-center pt-20"> <main className="min-h-screen flex items-center justify-center pt-20">
<p className="text-foreground">Loading product...</p> <p className="text-foreground">Loading product...</p>
</main> </main>
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBaseCard <FooterBaseCard
logoText="Biorogo" logoText="Biorogo"
columns={[ columns={[
{ title: "Shop", items: [{ label: "All Cups", href: "/#products" }, { label: "Ceramic", href: "/#products" }, { label: "Glassware", href: "/#products" }, { label: "Travel Mugs", href: "/#products" }] }, { title: "Shop", items: [{ label: "All Cups", href: "/shop" }, { label: "Ceramic", href: "/shop" }, { label: "Glassware", href: "/shop" }, { label: "Travel Mugs", href: "/shop" }] },
{ title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] }, { title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] },
{ title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] } { title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] }
]} ]}
copyrightText="© 2024 Biorogo. All rights reserved." copyrightText="© 2024 Biorogo. All rights reserved."
onPrivacyClick={() => console.log('Privacy policy clicked')} onPrivacyClick={() => console.log('Privacy policy clicked')}
ariaLabel="Site footer for Biorogo" ariaLabel="Site footer for Biorogo"
className="py-16 md:py-20" className="py-16 md:py-20"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20" cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
logoTextClassName="text-foreground text-3xl font-extrabold" logoTextClassName="text-foreground text-3xl font-extrabold"
columnTitleClassName="text-foreground text-lg font-semibold" columnTitleClassName="text-foreground text-lg font-semibold"
columnItemClassName="text-foreground/80 hover:text-primary-cta" columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/60 text-sm" copyrightTextClassName="text-foreground/60 text-sm"
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta" privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/> />
</div> </div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }
@@ -138,54 +144,50 @@ export default function ProductPage({ params }: ProductPageProps) {
secondaryButtonStyle="layered" secondaryButtonStyle="layered"
headingFontWeight="extrabold" headingFontWeight="extrabold"
> >
<ReactLenis root> <div id="nav" data-section="nav">
<div id="navbar" data-section="navbar"> <NavbarLayoutFloatingInline
<NavbarLayoutFloatingInline navItems={navItems}
navItems={[ brandName="Biorogo"
{ name: "Home", id: "/" }, button={{ text: "Cart", onClick: () => setCartOpen(true) }}
]} className="py-4 px-6 md:px-8 lg:px-12"
brandName="Biorogo" navItemClassName="text-foreground hover:text-primary-cta"
button={{ text: "Cart", onClick: () => setCartOpen(true) }} buttonClassName=""
className="py-4 px-6 md:px-8 lg:px-12" buttonTextClassName=""
navItemClassName="text-foreground hover:text-primary-cta" />
buttonClassName="" </div>
buttonTextClassName="" <div id="product-not-found" data-section="product-not-found">
/> <main className="min-h-screen flex items-center justify-center pt-20">
</div> <div className="text-center">
<div id="product-not-found" data-section="product-not-found"> <p className="text-foreground mb-4">Product not found</p>
<main className="min-h-screen flex items-center justify-center pt-20"> <button
<div className="text-center"> onClick={() => router.push("/shop")}
<p className="text-foreground mb-4">Product not found</p> className="primary-button px-6 py-2 rounded-theme"
<button >
onClick={() => router.push("/shop")} Back to Shop
className="primary-button px-6 py-2 rounded-theme" </button>
> </div>
Back to Shop </main>
</button> </div>
</div> <div id="footer" data-section="footer">
</main> <FooterBaseCard
</div> logoText="Biorogo"
<div id="footer" data-section="footer"> columns={[
<FooterBaseCard { title: "Shop", items: [{ label: "All Cups", href: "/shop" }, { label: "Ceramic", href: "/shop" }, { label: "Glassware", href: "/shop" }, { label: "Travel Mugs", href: "/shop" }] },
logoText="Biorogo" { title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] },
columns={[ { title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] }
{ title: "Shop", items: [{ label: "All Cups", href: "/#products" }, { label: "Ceramic", href: "/#products" }, { label: "Glassware", href: "/#products" }, { label: "Travel Mugs", href: "/#products" }] }, ]}
{ title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] }, copyrightText="© 2024 Biorogo. All rights reserved."
{ title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] } onPrivacyClick={() => console.log('Privacy policy clicked')}
]} ariaLabel="Site footer for Biorogo"
copyrightText="© 2024 Biorogo. All rights reserved." className="py-16 md:py-20"
onPrivacyClick={() => console.log('Privacy policy clicked')} cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
ariaLabel="Site footer for Biorogo" logoTextClassName="text-foreground text-3xl font-extrabold"
className="py-16 md:py-20" columnTitleClassName="text-foreground text-lg font-semibold"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20" columnItemClassName="text-foreground/80 hover:text-primary-cta"
logoTextClassName="text-foreground text-3xl font-extrabold" copyrightTextClassName="text-foreground/60 text-sm"
columnTitleClassName="text-foreground text-lg font-semibold" privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
columnItemClassName="text-foreground/80 hover:text-primary-cta" />
copyrightTextClassName="text-foreground/60 text-sm" </div>
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/>
</div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }
@@ -203,12 +205,9 @@ export default function ProductPage({ params }: ProductPageProps) {
secondaryButtonStyle="layered" secondaryButtonStyle="layered"
headingFontWeight="extrabold" headingFontWeight="extrabold"
> >
<ReactLenis root> <div id="nav" data-section="nav">
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={navItems}
{ name: "Home", id: "/" },
]}
brandName="Biorogo" brandName="Biorogo"
button={{ text: "Cart", onClick: () => setCartOpen(true) }} button={{ text: "Cart", onClick: () => setCartOpen(true) }}
className="py-4 px-6 md:px-8 lg:px-12" className="py-4 px-6 md:px-8 lg:px-12"
@@ -216,64 +215,63 @@ export default function ProductPage({ params }: ProductPageProps) {
buttonClassName="" buttonClassName=""
buttonTextClassName="" buttonTextClassName=""
/> />
</div> </div>
<div id="product-detail-card" data-section="product-detail-card"> <div id="product-detail-card" data-section="product-detail-card">
<ProductDetailCard <ProductDetailCard
layout="page" layout="page"
name={product.name} name={product.name}
price={product.price} price={product.price}
salePrice={meta.salePrice} salePrice={meta.salePrice}
rating={product.rating || 0} rating={product.rating || 0}
description={product.description} description={product.description}
images={images} images={images}
variants={variants.length > 0 ? variants : undefined} variants={variants.length > 0 ? variants : undefined}
quantity={quantityVariant} quantity={quantityVariant}
ribbon={meta.ribbon} ribbon={meta.ribbon}
inventoryStatus={meta.inventoryStatus} inventoryStatus={meta.inventoryStatus}
inventoryQuantity={meta.inventoryQuantity} inventoryQuantity={meta.inventoryQuantity}
sku={meta.sku} sku={meta.sku}
buttons={[ buttons={[
{ text: "Add To Cart", onClick: handleAddToCart }, { text: "Add To Cart", onClick: handleAddToCart },
{ text: "Buy Now", onClick: handleBuyNow }, { text: "Buy Now", onClick: handleBuyNow },
]}
/>
</div>
<div id="product-cart" data-section="product-cart">
<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">
<FooterBaseCard
logoText="Biorogo"
columns={[
{ title: "Shop", items: [{ label: "All Cups", href: "/shop" }, { label: "Ceramic", href: "/shop" }, { label: "Glassware", href: "/shop" }, { label: "Travel Mugs", href: "/shop" }] },
{ title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] },
{ title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] }
]} ]}
copyrightText="© 2024 Biorogo. All rights reserved."
onPrivacyClick={() => console.log('Privacy policy clicked')}
ariaLabel="Site footer for Biorogo"
className="py-16 md:py-20"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
logoTextClassName="text-foreground text-3xl font-extrabold"
columnTitleClassName="text-foreground text-lg font-semibold"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/60 text-sm"
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/> />
</div> </div>
<div id="product-cart" data-section="product-cart">
<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">
<FooterBaseCard
logoText="Biorogo"
columns={[
{ title: "Shop", items: [{ label: "All Cups", href: "/#products" }, { label: "Ceramic", href: "/#products" }, { label: "Glassware", href: "/#products" }, { label: "Travel Mugs", href: "/#products" }] },
{ title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] },
{ title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] }
]}
copyrightText="© 2024 Biorogo. All rights reserved."
onPrivacyClick={() => console.log('Privacy policy clicked')}
ariaLabel="Site footer for Biorogo"
className="py-16 md:py-20"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
logoTextClassName="text-foreground text-3xl font-extrabold"
columnTitleClassName="text-foreground text-lg font-semibold"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/60 text-sm"
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/>
</div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -1,8 +1,7 @@
"use client"; "use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog"; import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
import { useProductCatalog } from "@/hooks/useProductCatalog"; import { useProductCatalog } from "@/hooks/useProductCatalog";
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'; import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
@@ -16,6 +15,17 @@ export default function ShopPage() {
filters, filters,
} = useProductCatalog({ basePath: "/shop" }); } = useProductCatalog({ basePath: "/shop" });
const navItems = [
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "Blog", id: "/blog" },
{ name: "Features", id: "/#features" },
{ name: "Products", id: "/#products" },
{ name: "Testimonials", id: "/#testimonials" },
{ name: "FAQ", id: "/#faq" },
{ name: "Contact", id: "/#contact" }
];
if (isLoading) { if (isLoading) {
return ( return (
<ThemeProvider <ThemeProvider
@@ -30,46 +40,42 @@ export default function ShopPage() {
secondaryButtonStyle="layered" secondaryButtonStyle="layered"
headingFontWeight="extrabold" headingFontWeight="extrabold"
> >
<ReactLenis root> <div id="nav" data-section="nav">
<div id="navbar" data-section="navbar"> <NavbarLayoutFloatingInline
<NavbarLayoutFloatingInline navItems={navItems}
navItems={[ brandName="Biorogo"
{ name: "Home", id: "/" }, button={{ text: "Cart", onClick: () => {} }}
]} className="py-4 px-6 md:px-8 lg:px-12"
brandName="Biorogo" navItemClassName="text-foreground hover:text-primary-cta"
button={{ text: "Cart", onClick: () => {} }} buttonClassName=""
className="py-4 px-6 md:px-8 lg:px-12" buttonTextClassName=""
navItemClassName="text-foreground hover:text-primary-cta" />
buttonClassName="" </div>
buttonTextClassName="" <div id="loading-indicator" data-section="loading-indicator">
/> <main className="min-h-screen flex items-center justify-center pt-20">
</div> <p className="text-foreground">Loading products...</p>
<div id="loading-indicator" data-section="loading-indicator"> </main>
<main className="min-h-screen flex items-center justify-center pt-20"> </div>
<p className="text-foreground">Loading products...</p> <div id="footer" data-section="footer">
</main> <FooterBaseCard
</div> logoText="Biorogo"
<div id="footer" data-section="footer"> columns={[
<FooterBaseCard { title: "Shop", items: [{ label: "All Cups", href: "/shop" }, { label: "Ceramic", href: "/shop" }, { label: "Glassware", href: "/shop" }, { label: "Travel Mugs", href: "/shop" }] },
logoText="Biorogo" { title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] },
columns={[ { title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] }
{ title: "Shop", items: [{ label: "All Cups", href: "/#products" }, { label: "Ceramic", href: "/#products" }, { label: "Glassware", href: "/#products" }, { label: "Travel Mugs", href: "/#products" }] }, ]}
{ title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] }, copyrightText="© 2024 Biorogo. All rights reserved."
{ title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] } onPrivacyClick={() => console.log('Privacy policy clicked')}
]} ariaLabel="Site footer for Biorogo"
copyrightText="© 2024 Biorogo. All rights reserved." className="py-16 md:py-20"
onPrivacyClick={() => console.log('Privacy policy clicked')} cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
ariaLabel="Site footer for Biorogo" logoTextClassName="text-foreground text-3xl font-extrabold"
className="py-16 md:py-20" columnTitleClassName="text-foreground text-lg font-semibold"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20" columnItemClassName="text-foreground/80 hover:text-primary-cta"
logoTextClassName="text-foreground text-3xl font-extrabold" copyrightTextClassName="text-foreground/60 text-sm"
columnTitleClassName="text-foreground text-lg font-semibold" privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
columnItemClassName="text-foreground/80 hover:text-primary-cta" />
copyrightTextClassName="text-foreground/60 text-sm" </div>
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/>
</div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }
@@ -87,12 +93,9 @@ export default function ShopPage() {
secondaryButtonStyle="layered" secondaryButtonStyle="layered"
headingFontWeight="extrabold" headingFontWeight="extrabold"
> >
<ReactLenis root> <div id="nav" data-section="nav">
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={navItems}
{ name: "Home", id: "/" },
]}
brandName="Biorogo" brandName="Biorogo"
button={{ text: "Cart", onClick: () => {} }} button={{ text: "Cart", onClick: () => {} }}
className="py-4 px-6 md:px-8 lg:px-12" className="py-4 px-6 md:px-8 lg:px-12"
@@ -100,39 +103,38 @@ export default function ShopPage() {
buttonClassName="" buttonClassName=""
buttonTextClassName="" buttonTextClassName=""
/> />
</div> </div>
<div id="product-catalog" data-section="product-catalog"> <div id="product-catalog" data-section="product-catalog">
<ProductCatalog <ProductCatalog
layout="page" layout="page"
products={products} products={products}
searchValue={search} searchValue={search}
onSearchChange={setSearch} onSearchChange={setSearch}
searchPlaceholder="Search products..." searchPlaceholder="Search products..."
filters={filters} filters={filters}
emptyMessage="No products found" emptyMessage="No products found"
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="Biorogo"
columns={[
{ title: "Shop", items: [{ label: "All Cups", href: "/shop" }, { label: "Ceramic", href: "/shop" }, { label: "Glassware", href: "/shop" }, { label: "Travel Mugs", href: "/shop" }] },
{ title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] },
{ title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] }
]}
copyrightText="© 2024 Biorogo. All rights reserved."
onPrivacyClick={() => console.log('Privacy policy clicked')}
ariaLabel="Site footer for Biorogo"
className="py-16 md:py-20"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
logoTextClassName="text-foreground text-3xl font-extrabold"
columnTitleClassName="text-foreground text-lg font-semibold"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/60 text-sm"
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/> />
</div> </div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="Biorogo"
columns={[
{ title: "Shop", items: [{ label: "All Cups", href: "/#products" }, { label: "Ceramic", href: "/#products" }, { label: "Glassware", href: "/#products" }, { label: "Travel Mugs", href: "/#products" }] },
{ title: "Company", items: [{ label: "About Us", href: "/#features" }, { label: "Testimonials", href: "/#testimonials" }, { label: "FAQ", href: "/#faq" }] },
{ title: "Support", items: [{ label: "Contact Us", href: "/#contact" }, { label: "Shipping", href: "/shipping" }, { label: "Returns", href: "/returns" }, { label: "Sitemap", href: "/sitemap" }] }
]}
copyrightText="© 2024 Biorogo. All rights reserved."
onPrivacyClick={() => console.log('Privacy policy clicked')}
ariaLabel="Site footer for Biorogo"
className="py-16 md:py-20"
cardClassName="bg-card rounded-t-3xl shadow-lg border-t border-l border-r border-accent/20"
logoTextClassName="text-foreground text-3xl font-extrabold"
columnTitleClassName="text-foreground text-lg font-semibold"
columnItemClassName="text-foreground/80 hover:text-primary-cta"
copyrightTextClassName="text-foreground/60 text-sm"
privacyButtonClassName="text-foreground/60 text-sm hover:text-primary-cta"
/>
</div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }