Merge version_1 into main #2

Merged
bender merged 4 commits from version_1 into main 2026-02-23 15:18:26 +00:00
4 changed files with 211 additions and 214 deletions

View File

@@ -10,6 +10,23 @@ import BlogCardThree from '@/components/sections/blog/BlogCardThree';
export default function BlogPage() {
const { posts, isLoading } = useBlogPosts();
const navItems = [
{ name: "Home", id: "/" },
{ name: "About", id: "/#about" },
{ name: "Products", id: "/#products" },
{ name: "Testimonials", id: "/#testimonials" },
{ name: "FAQ", id: "/#faq" },
{ name: "Shop", id: "/shop" },
{ name: "Blog", id: "/blog" },
];
const footerColumns = [
{ title: "Shop", items: [{ label: "Bouquets", href: "/#products" }, { label: "Seasonal", href: "/#products" }, { label: "Our Shop", href: "/shop" }] },
{ title: "Studio", items: [{ label: "About Us", href: "/#about" }, { label: "FAQ", href: "/#faq" }, { label: "Contact", href: "/#contact" }] },
{ title: "Resources", items: [{ label: "Blog", href: "/blog" }] },
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
];
return (
<ThemeProvider
defaultButtonVariant="text-shift"
@@ -26,15 +43,9 @@ export default function BlogPage() {
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "About", id: "about" },
{ name: "Products", id: "products" },
{ name: "Testimonials", id: "testimonials" },
{ name: "FAQ", id: "faq" },
]}
navItems={navItems}
brandName="Balala"
button={{ text: "Contact Us", href: "contact" }}
button={{ text: "Contact Us", href: "/#contact" }}
className="py-4 px-6"
navItemClassName="text-foreground hover:text-primary-cta"
buttonClassName="bg-primary-cta text-primary-cta-text"
@@ -61,28 +72,7 @@ export default function BlogPage() {
<div id="footer" data-section="footer">
<FooterSimple
columns={[
{
title: "Shop", items: [
{ label: "Bouquets", href: "products" },
{ label: "Seasonal", href: "products" },
{ label: "Custom Orders", href: "contact" },
],
},
{
title: "Studio", items: [
{ label: "About Us", href: "about" },
{ label: "FAQ", href: "faq" },
{ label: "Contact", href: "contact" },
],
},
{
title: "Legal", items: [
{ label: "Privacy Policy", href: "privacy" },
{ label: "Terms of Service", href: "terms" },
],
},
]}
columns={footerColumns}
bottomLeftText="© 2024 Balala Flowers Studio. All rights reserved."
bottomRightText="Crafted with passion by Balala"
columnTitleClassName="text-foreground"

View File

@@ -11,6 +11,23 @@ import ContactText from '@/components/sections/contact/ContactText';
import FooterSimple from '@/components/sections/footer/FooterSimple';
export default function LandingPage() {
const navItems = [
{ name: "Home", id: "/" },
{ name: "About", id: "/#about" },
{ name: "Products", id: "/#products" },
{ name: "Testimonials", id: "/#testimonials" },
{ name: "FAQ", id: "/#faq" },
{ name: "Shop", id: "/shop" },
{ name: "Blog", id: "/blog" },
];
const footerColumns = [
{ title: "Shop", items: [{ label: "Bouquets", href: "/#products" }, { label: "Seasonal", href: "/#products" }, { label: "Our Shop", href: "/shop" }] },
{ title: "Studio", items: [{ label: "About Us", href: "/#about" }, { label: "FAQ", href: "/#faq" }, { label: "Contact", href: "/#contact" }] },
{ title: "Resources", items: [{ label: "Blog", href: "/blog" }] },
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
];
return (
<ThemeProvider
defaultButtonVariant="text-shift"
@@ -24,175 +41,163 @@ export default function LandingPage() {
secondaryButtonStyle="glass"
headingFontWeight="bold"
>
<main>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Products", id: "products" },
{ name: "Testimonials", id: "testimonials" },
{ name: "FAQ", id: "faq" },
]}
brandName="Balala"
button={{ text: "Contact Us", href: "contact" }}
className="py-4 px-6"
navItemClassName="text-foreground hover:text-primary-cta"
buttonClassName="bg-primary-cta text-primary-cta-text"
buttonTextClassName="font-semibold"
/>
</div>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={navItems}
brandName="Balala"
button={{ text: "Contact Us", href: "/#contact" }}
className="py-4 px-6"
navItemClassName="text-foreground hover:text-primary-cta"
buttonClassName="bg-primary-cta text-primary-cta-text"
buttonTextClassName="font-semibold"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardGallery
title="Balala Flowers Studio"
description="Crafting exquisite floral arrangements for every occasion, bringing beauty and joy to your special moments."
background={{ variant: "plain" }}
tag="Your Floral Journey Starts Here"
buttons={[
{ text: "Shop Now", href: "products" },
{ text: "Learn More", href: "about" },
]}
mediaItems={[
{ imageSrc: "https://img.b2bpic.net/free-photo/elegant-bouquet-pink-white-roses-with-lilies_9975-133063.jpg?_wi=1", imageAlt: "A vibrant, artfully arranged bouquet of fresh flowers" },
{ imageSrc: "https://img.b2bpic.net/free-photo/vertical-closeup-shot-beautiful-wedding-bouquet-with-gorgeous-white-roses_181624-15923.jpg?_wi=1", imageAlt: "Elegant white wedding flowers and decor" },
{ imageSrc: "https://img.b2bpic.net/free-photo/woman-holding-bouquet-yellow-orange-dahliason-light-background_169016-39443.jpg", imageAlt: "A modern, colorful floral arrangement with unique blooms" },
]}
mediaAnimation="slide-up"
tagAnimation="slide-up"
buttonAnimation="slide-up"
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardGallery
title="Balala Flowers Studio"
description="Crafting exquisite floral arrangements for every occasion, bringing beauty and joy to your special moments."
background={{ variant: "plain" }}
tag="Your Floral Journey Starts Here"
buttons={[
{ text: "Shop Now", href: "/#products" },
{ text: "Learn More", href: "/#about" },
]}
mediaItems={[
{ imageSrc: "https://img.b2bpic.net/free-photo/elegant-bouquet-pink-white-roses-with-lilies_9975-133063.jpg", imageAlt: "A vibrant, artfully arranged bouquet of fresh flowers" },
{ imageSrc: "https://img.b2bpic.net/free-photo/vertical-closeup-shot-beautiful-wedding-bouquet-with-gorgeous-white-roses_181624-15923.jpg", imageAlt: "Elegant white wedding flowers and decor" },
{ imageSrc: "https://img.b2bpic.net/free-photo/woman-holding-bouquet-yellow-orange-dahliason-light-background_169016-39443.jpg", imageAlt: "A modern, colorful floral arrangement with unique blooms" },
]}
mediaAnimation="slide-up"
tagAnimation="slide-up"
buttonAnimation="slide-up"
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
/>
</div>
<div id="about" data-section="about">
<SplitAbout
title="About Our Studio"
description="At Balala, we believe in the power of flowers to express emotion, celebrate milestones, and transform spaces. Our passion for floristry drives us to create unique, breathtaking arrangements tailored to your vision."
bulletPoints={[
{ title: "Artistic Design", description: "Every bouquet is a unique work of art, handcrafted with precision and creativity." },
{ title: "Freshness Guaranteed", description: "We source only the freshest, highest quality blooms for lasting beauty." },
{ title: "Personalized Service", description: "Dedicated to understanding your needs and bringing your floral dreams to life." },
]}
mediaAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={true}
imageSrc="https://img.b2bpic.net/free-photo/flowers-florist-atelier_23-2147761223.jpg"
imageAlt="Interior of a modern, elegant flower studio with various floral arrangements and tools."
imagePosition="right"
buttons={[{ text: "Our Story", href: "about-details" }]}
tag="Our Passion, Your Joy"
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
bulletTitleClassName="text-foreground"
bulletDescriptionClassName="text-foreground"
/>
</div>
<div id="about" data-section="about">
<SplitAbout
title="About Our Studio"
description="At Balala, we believe in the power of flowers to express emotion, celebrate milestones, and transform spaces. Our passion for floristry drives us to create unique, breathtaking arrangements tailored to your vision."
bulletPoints={[
{ title: "Artistic Design", description: "Every bouquet is a unique work of art, handcrafted with precision and creativity." },
{ title: "Freshness Guaranteed", description: "We source only the freshest, highest quality blooms for lasting beauty." },
{ title: "Personalized Service", description: "Dedicated to understanding your needs and bringing your floral dreams to life." },
]}
mediaAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={true}
imageSrc="https://img.b2bpic.net/free-photo/flowers-florist-atelier_23-2147761223.jpg"
imageAlt="Interior of a modern, elegant flower studio with various floral arrangements and tools."
imagePosition="right"
buttons={[{ text: "Our Story", href: "/#about" }]}
tag="Our Passion, Your Joy"
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
bulletTitleClassName="text-foreground"
bulletDescriptionClassName="text-foreground"
/>
</div>
<div id="products" data-section="products">
<ProductCardOne
title="Our Latest Bouquets"
description="Discover our curated collection of fresh, seasonal, and timeless floral designs perfect for any occasion."
products={[
{ id: "1", name: "Classic Red Roses", price: "$75", imageSrc: "https://img.b2bpic.net/free-photo/girlfriend-standing-living-room-filled-with-romantic-gifts_482257-77346.jpg", imageAlt: "A lush bouquet of vibrant red roses." },
{ id: "2", name: "Elegant White Lilies", price: "$60", imageSrc: "https://img.b2bpic.net/free-photo/vase-flower_1203-3117.jpg", imageAlt: "A sophisticated arrangement of white lilies." },
{ id: "3", name: "Seasonal Mix", price: "$85", imageSrc: "https://img.b2bpic.net/free-photo/beautiful-bunch-flowers-wooden-background-horizontal-view-from_1220-1133.jpg", imageAlt: "A colorful bouquet of mixed seasonal flowers." },
]}
animationType="slide-up"
gridVariant="three-columns-all-equal-width"
textboxLayout="default"
useInvertedBackground={false}
tag="Shop Our Collection"
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
cardNameClassName="text-foreground"
cardPriceClassName="text-primary-cta"
/>
</div>
<div id="products" data-section="products">
<ProductCardOne
title="Our Latest Bouquets"
description="Discover our curated collection of fresh, seasonal, and timeless floral designs perfect for any occasion."
products={[
{ id: "1", name: "Classic Red Roses", price: "$75", imageSrc: "https://img.b2bpic.net/free-photo/girlfriend-standing-living-room-filled-with-romantic-gifts_482257-77346.jpg", imageAlt: "A lush bouquet of vibrant red roses." },
{ id: "2", name: "Elegant White Lilies", price: "$60", imageSrc: "https://img.b2bpic.net/free-photo/vase-flower_1203-3117.jpg", imageAlt: "A sophisticated arrangement of white lilies." },
{ id: "3", name: "Seasonal Mix", price: "$85", imageSrc: "https://img.b2bpic.net/free-photo/beautiful-bunch-flowers-wooden-background-horizontal-view-from_1220-1133.jpg", imageAlt: "A colorful bouquet of mixed seasonal flowers." },
]}
animationType="slide-up"
gridVariant="three-columns-all-equal-width"
textboxLayout="default"
useInvertedBackground={false}
tag="Shop Our Collection"
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
cardNameClassName="text-foreground"
cardPriceClassName="text-primary-cta"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFive
title="What Our Customers Say"
description="Hear from our delighted clients who have experienced the magic of Balala's floral artistry."
testimonials={[
{ id: "1", name: "Elena R., Event Planner", date: "Date: October 15, 2024", title: "Absolutely stunning arrangements!", quote: "Balala exceeded all expectations for our corporate event. The floral designs were breathtaking and perfectly complemented the venue. Highly recommend their professional and creative team!", tag: "Event Floral", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-woman-sitting-cafe-with-closed-laptop_1262-1151.jpg", imageSrc: "https://img.b2bpic.net/free-photo/beautiful-woman-arranging-flowers-presented-by-her-husbant-home-happy-joyful_158595-7957.jpg", imageAlt: "A customer holding a beautiful bouquet of flowers." },
{ id: "2", name: "Mark T., Happy Husband", date: "Date: September 28, 2024", title: "My wife loved her anniversary bouquet!", quote: "The anniversary bouquet from Balala was absolutely gorgeous and lasted so long. The online ordering was seamless, and delivery was prompt. A truly special gift!", tag: "Anniversary Gift", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageSrc: "https://img.b2bpic.net/free-photo/woman-holding-red-roses-bouquet-with-hearts-decoration-laughing-room-filled-with-luxury-presents-valentines-day-romantic-date-excited-blonde-girl-with-expensive-flowers-sitting_482257-51716.jpg", imageAlt: "Flowers delivered to a home, sitting on a table." },
{ id: "3", name: "Sarah J., Wedding Client", date: "Date: August 01, 2024", title: "Dream wedding flowers!", quote: "Balala brought my wedding floral vision to life flawlessly. Every detail was perfect, from my bridal bouquet to the table centerpieces. They made our day even more beautiful.", tag: "Wedding Floral", avatarSrc: "https://img.b2bpic.net/free-photo/front-view-smiley-woman-home_23-2150062545.jpg", imageSrc: "https://img.b2bpic.net/free-photo/vertical-closeup-shot-beautiful-wedding-bouquet-with-gorgeous-white-roses_181624-15923.jpg?_wi=2", imageAlt: "Wedding flowers on a table." },
{ id: "4", name: "David K., Local Business Owner", date: "Date: July 10, 2024", title: "Fresh, beautiful flowers weekly.", quote: "We use Balala for our weekly office floral arrangements, and they always deliver fresh, vibrant, and unique designs. It adds such a lovely touch to our workspace.", tag: "Corporate Service", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-african-american-man-posing-library_74855-1619.jpg", imageSrc: "https://img.b2bpic.net/free-photo/elegant-bouquet-pink-white-roses-with-lilies_9975-133063.jpg?_wi=2", imageAlt: "A bouquet of flowers in an office setting." },
]}
textboxLayout="default"
useInvertedBackground={true}
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
cardTagClassName="text-primary-cta"
cardTitleClassName="text-foreground"
cardQuoteClassName="text-foreground"
cardNameClassName="text-foreground"
cardDateClassName="text-foreground"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFive
title="What Our Customers Say"
description="Hear from our delighted clients who have experienced the magic of Balala's floral artistry."
testimonials={[
{ id: "1", name: "Elena R., Event Planner", date: "Date: October 15, 2024", title: "Absolutely stunning arrangements!", quote: "Balala exceeded all expectations for our corporate event. The floral designs were breathtaking and perfectly complemented the venue. Highly recommend their professional and creative team!", tag: "Event Floral", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-woman-sitting-cafe-with-closed-laptop_1262-1151.jpg", imageSrc: "https://img.b2bpic.net/free-photo/beautiful-woman-arranging-flowers-presented-by-her-husbant-home-happy-joyful_158595-7957.jpg", imageAlt: "A customer holding a beautiful bouquet of flowers." },
{ id: "2", name: "Mark T., Happy Husband", date: "Date: September 28, 2024", title: "My wife loved her anniversary bouquet!", quote: "The anniversary bouquet from Balala was absolutely gorgeous and lasted so long. The online ordering was seamless, and delivery was prompt. A truly special gift!", tag: "Anniversary Gift", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageSrc: "https://img.b2bpic.net/free-photo/woman-holding-red-roses-bouquet-with-hearts-decoration-laughing-room-filled-with-luxury-presents-valentines-day-romantic-date-excited-blonde-girl-with-expensive-flowers-sitting_482257-51716.jpg", imageAlt: "Flowers delivered to a home, sitting on a table." },
{ id: "3", name: "Sarah J., Wedding Client", date: "Date: August 01, 2024", title: "Dream wedding flowers!", quote: "Balala brought my wedding floral vision to life flawlessly. Every detail was perfect, from my bridal bouquet to the table centerpieces. They made our day even more beautiful.", tag: "Wedding Floral", avatarSrc: "https://img.b2bpic.net/free-photo/front-view-smiley-woman-home_23-2150062545.jpg", imageSrc: "https://img.b2bpic.net/free-photo/vertical-closeup-shot-beautiful-wedding-bouquet-with-gorgeous-white-roses_181624-15923.jpg", imageAlt: "Wedding flowers on a table." },
{ id: "4", name: "David K., Local Business Owner", date: "Date: July 10, 2024", title: "Fresh, beautiful flowers weekly.", quote: "We use Balala for our weekly office floral arrangements, and they always deliver fresh, vibrant, and unique designs. It adds such a lovely touch to our workspace.", tag: "Corporate Service", avatarSrc: "https://img.b2bpic.net/free-photo/smiling-african-american-man-posing-library_74855-1619.jpg", imageSrc: "https://img.b2bpic.net/free-photo/elegant-bouquet-pink-white-roses-with-lilies_9975-133063.jpg", imageAlt: "A bouquet of flowers in an office setting." },
]}
textboxLayout="default"
useInvertedBackground={true}
titleClassName="text-foreground"
descriptionClassName="text-foreground"
tagClassName="text-primary-cta"
cardTagClassName="text-primary-cta"
cardTitleClassName="text-foreground"
cardQuoteClassName="text-foreground"
cardNameClassName="text-foreground"
cardDateClassName="text-foreground"
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
sideTitle="Common Questions"
sideDescription="Find answers to frequently asked questions about our services, products, and ordering process."
faqs={[
{ id: "1", title: "How do I place an order?", content: "You can place an order directly through our website, by phone, or by visiting our studio during business hours. Our online shop offers a seamless experience." },
{ id: "2", title: "Do you offer custom arrangements?", content: "Yes, we specialize in custom floral designs! Please contact us with your specific needs, occasion, and preferences, and our florists will create something unique for you." },
{ id: "3", title: "What is your delivery policy?", content: "We offer local delivery within a 20-mile radius of our studio. Delivery fees vary based on location. Same-day delivery might be available for orders placed before noon." },
{ id: "4", title: "Can I send flowers anonymously?", content: "Yes, you can! We respect your privacy. Just make sure to note 'Anonymous' in the special instructions during checkout, and we will not disclose your identity." },
{ id: "5", title: "How do I care for my flowers?", content: "To ensure your flowers last longer, change the water daily, re-cut stems every two days, and keep them away from direct sunlight and heat sources. We include care instructions with every order." },
]}
faqsAnimation="slide-up"
textPosition="left"
useInvertedBackground={false}
animationType="smooth"
sideTitleClassName="text-foreground"
sideDescriptionClassName="text-foreground"
accordionTitleClassName="text-foreground"
accordionIconClassName="text-foreground"
accordionContentClassName="text-foreground"
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
sideTitle="Common Questions"
sideDescription="Find answers to frequently asked questions about our services, products, and ordering process."
faqs={[
{ id: "1", title: "How do I place an order?", content: "You can place an order directly through our website, by phone, or by visiting our studio during business hours. Our online shop offers a seamless experience." },
{ id: "2", title: "Do you offer custom arrangements?", content: "Yes, we specialize in custom floral designs! Please contact us with your specific needs, occasion, and preferences, and our florists will create something unique for you." },
{ id: "3", title: "What is your delivery policy?", content: "We offer local delivery within a 20-mile radius of our studio. Delivery fees vary based on location. Same-day delivery might be available for orders placed before noon." },
{ id: "4", title: "Can I send flowers anonymously?", content: "Yes, you can! We respect your privacy. Just make sure to note 'Anonymous' in the special instructions during checkout, and we will not disclose your identity." },
{ id: "5", title: "How do I care for my flowers?", content: "To ensure your flowers last longer, change the water daily, re-cut stems every two days, and keep them away from direct sunlight and heat sources. We include care instructions with every order." },
]}
faqsAnimation="slide-up"
textPosition="left"
useInvertedBackground={false}
animationType="smooth"
sideTitleClassName="text-foreground"
sideDescriptionClassName="text-foreground"
accordionTitleClassName="text-foreground"
accordionIconClassName="text-foreground"
accordionContentClassName="text-foreground"
/>
</div>
<div id="contact" data-section="contact">
<ContactText
text="Ready to infuse your world with natural beauty? Connect with us for bespoke floral designs and exceptional service."
animationType="background-highlight"
buttons={[
{ text: "Get in Touch", href: "#contact-form" },
{ text: "Visit Our Studio", href: "#location" },
]}
background={{ variant: "plain" }}
useInvertedBackground={true}
textClassName="text-foreground"
buttonClassName="bg-primary-cta text-primary-cta-text"
buttonTextClassName="font-semibold"
/>
</div>
<div id="contact" data-section="contact">
<ContactText
text="Ready to infuse your world with natural beauty? Connect with us for bespoke floral designs and exceptional service."
animationType="background-highlight"
buttons={[
{ text: "Get in Touch", href: "#contact-form" },
{ text: "Visit Our Studio", href: "#location" },
]}
background={{ variant: "plain" }}
useInvertedBackground={true}
textClassName="text-foreground"
buttonClassName="bg-primary-cta text-primary-cta-text"
buttonTextClassName="font-semibold"
/>
</div>
<div id="footer" data-section="footer">
<FooterSimple
columns={[
{ title: "Shop", items: [{ label: "Bouquets", href: "products" }, { label: "Seasonal", href: "products" }, { label: "Custom Orders", href: "contact" }] },
{ title: "Studio", items: [{ label: "About Us", href: "about" }, { label: "FAQ", href: "faq" }, { label: "Contact", href: "contact" }] },
{ title: "Legal", items: [{ label: "Privacy Policy", href: "privacy" }, { label: "Terms of Service", href: "terms" }] },
]}
bottomLeftText="© 2024 Balala Flowers Studio. All rights reserved."
bottomRightText="Crafted with passion by Balala"
columnTitleClassName="text-foreground"
columnItemClassName="text-foreground hover:text-primary-cta"
bottomLeftTextClassName="text-foreground"
bottomRightTextClassName="text-foreground"
dividerClassName="bg-accent"
/>
</div>
</main>
<div id="footer" data-section="footer">
<FooterSimple
columns={footerColumns}
bottomLeftText="© 2024 Balala Flowers Studio. All rights reserved."
bottomRightText="Crafted with passion by Balala"
columnTitleClassName="text-foreground"
columnItemClassName="text-foreground hover:text-primary-cta"
bottomLeftTextClassName="text-foreground"
bottomRightTextClassName="text-foreground"
dividerClassName="bg-accent"
/>
</div>
</ThemeProvider>
);
}

View File

@@ -1,10 +1,10 @@
use client";
"use client";
import { Suspense, use, useCallback } from "react";
import { useRouter } from "next/navigation";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterSimple from '@/components/sections/footer/FooterSimple';
import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard";
import ProductCart from "@/components/ecommerce/cart/ProductCart";
@@ -75,15 +75,16 @@ function ProductPageContent({ params }: ProductPageProps) {
}, [cartItems, checkout, getCheckoutItems]);
const navbarProps = {
navItems: [{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }],
navItems: [{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }, { name: "Blog", id: "/blog" }],
brandName: "Balala", className: "py-4 px-6", navItemClassName: "text-foreground hover:text-primary-cta", buttonClassName: "bg-primary-cta text-primary-cta-text", buttonTextClassName: "font-semibold"
};
const footerProps = {
columns: [
{ title: "Shop", items: [{ label: "Bouquets", href: "products" }, { label: "Seasonal", href: "products" }, { label: "Custom Orders", href: "contact" }] },
{ title: "Studio", items: [{ label: "About Us", href: "about" }, { label: "FAQ", href: "faq" }, { label: "Contact", href: "contact" }] },
{ title: "Legal", items: [{ label: "Privacy Policy", href: "privacy" }, { label: "Terms of Service", href: "terms" }] }
{ title: "Shop", items: [{ label: "Bouquets", href: "/#products" }, { label: "Seasonal", href: "/#products" }, { label: "Our Shop", href: "/shop" }] },
{ title: "Studio", items: [{ label: "About Us", href: "/#about" }, { label: "FAQ", href: "/#faq" }, { label: "Contact", href: "/#contact" }] },
{ title: "Resources", items: [{ label: "Blog", href: "/blog" }] },
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
],
bottomLeftText: "© 2024 Balala Flowers Studio. All rights reserved.", bottomRightText: "Crafted with passion by Balala", columnTitleClassName: "text-foreground", columnItemClassName: "text-foreground hover:text-primary-cta", bottomLeftTextClassName: "text-foreground", bottomRightTextClassName: "text-foreground", dividerClassName: "bg-accent"
};
@@ -104,10 +105,10 @@ function ProductPageContent({ params }: ProductPageProps) {
headingFontWeight="bold"
>
<ReactLenis root>
<div id="navbar" data-section="navbar">
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
{...navbarProps}
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
/>
</div>
<main className="min-h-screen flex items-center justify-center pt-20">
@@ -136,10 +137,10 @@ function ProductPageContent({ params }: ProductPageProps) {
headingFontWeight="bold"
>
<ReactLenis root>
<div id="navbar" data-section="navbar">
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
{...navbarProps}
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
/>
</div>
<main className="min-h-screen flex items-center justify-center pt-20">
@@ -175,10 +176,10 @@ function ProductPageContent({ params }: ProductPageProps) {
headingFontWeight="bold"
>
<ReactLenis root>
<div id="navbar" data-section="navbar">
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
{...navbarProps}
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
/>
</div>
<div id="product-detail-card" data-section="product-detail-card">

View File

@@ -1,9 +1,9 @@
use client";
"use client";
import { Suspense, useCallback } from "react";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterSimple from '@/components/sections/footer/FooterSimple';
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
import ProductCart from "@/components/ecommerce/cart/ProductCart";
@@ -40,15 +40,16 @@ function ShopPageContent() {
}, [cartItems, checkout, getCheckoutItems]);
const navbarProps = {
navItems: [{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }],
navItems: [{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }, { name: "Blog", id: "/blog" }],
brandName: "Balala", className: "py-4 px-6", navItemClassName: "text-foreground hover:text-primary-cta", buttonClassName: "bg-primary-cta text-primary-cta-text", buttonTextClassName: "font-semibold"
};
const footerProps = {
columns: [
{ title: "Shop", items: [{ label: "Bouquets", href: "products" }, { label: "Seasonal", href: "products" }, { label: "Custom Orders", href: "contact" }] },
{ title: "Studio", items: [{ label: "About Us", href: "about" }, { label: "FAQ", href: "faq" }, { label: "Contact", href: "contact" }] },
{ title: "Legal", items: [{ label: "Privacy Policy", href: "privacy" }, { label: "Terms of Service", href: "terms" }] }
{ title: "Shop", items: [{ label: "Bouquets", href: "/#products" }, { label: "Seasonal", href: "/#products" }, { label: "Our Shop", href: "/shop" }] },
{ title: "Studio", items: [{ label: "About Us", href: "/#about" }, { label: "FAQ", href: "/#faq" }, { label: "Contact", href: "/#contact" }] },
{ title: "Resources", items: [{ label: "Blog", href: "/blog" }] },
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
],
bottomLeftText: "© 2024 Balala Flowers Studio. All rights reserved.", bottomRightText: "Crafted with passion by Balala", columnTitleClassName: "text-foreground", columnItemClassName: "text-foreground hover:text-primary-cta", bottomLeftTextClassName: "text-foreground", bottomRightTextClassName: "text-foreground", dividerClassName: "bg-accent"
};
@@ -68,10 +69,10 @@ function ShopPageContent() {
headingFontWeight="bold"
>
<ReactLenis root>
<div id="navbar" data-section="navbar">
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
{...navbarProps}
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
/>
</div>
<main className="min-h-screen flex items-center justify-center pt-20">
@@ -99,10 +100,10 @@ function ShopPageContent() {
headingFontWeight="bold"
>
<ReactLenis root>
<div id="navbar" data-section="navbar">
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
{...navbarProps}
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
/>
</div>
<div id="product-catalog" data-section="product-catalog">