-
+
+
+
@@ -98,17 +85,11 @@ export default function LandingPage() {
useInvertedBackground={true}
features={[
{
- id: "feature-1", title: "Locally Sourced Ingredients", description: "We partner with local farms and suppliers to bring you the freshest, highest-quality ingredients for our baked goods.", tag: "Fresh & Local", imageSrc: getAssetUrl("features-section-localIngredients"),
- imageAlt: "Farmers market produce and fresh ingredients"
- },
+ id: "feature-1", title: "Locally Sourced Ingredients", description: "We partner with local farms and suppliers to bring you the freshest, highest-quality ingredients for our baked goods.", tag: "Fresh & Local", imageSrc: "https://img.b2bpic.net/free-photo/organic-foods-fresh-organic-food-local-farmers-market-farmers-markets-are-traditional-way-selling-agricultural-products_1391-373.jpg", imageAlt: "farmers market local ingredients fresh produce organic foods"},
{
- id: "feature-2", title: "Traditional Techniques", description: "Our bakers use time-tested methods passed down through generations to create authentic flavors and textures.", tag: "Time-Honored", imageSrc: getAssetUrl("features-section-traditionalTechniques"),
- imageAlt: "Baker kneading dough with traditional tools"
- },
+ id: "feature-2", title: "Traditional Techniques", description: "Our bakers use time-tested methods passed down through generations to create authentic flavors and textures.", tag: "Time-Honored", imageSrc: "https://img.b2bpic.net/free-photo/painting-inspiration-supplies-placed-ready-be-painted-canvas_482257-115978.jpg", imageAlt: "traditional baking wooden rolling pin clay pot artisan techniques"},
{
- id: "feature-3", title: "Daily Freshness", description: "Each item is baked fresh daily, ensuring peak flavor and quality when you enjoy it at home or in our cozy shop.", tag: "Made Fresh Daily", imageSrc: getAssetUrl("features-section-dailyFreshness"),
- imageAlt: "Freshly baked bread and pastries displayed"
- }
+ id: "feature-3", title: "Daily Freshness", description: "Each item is baked fresh daily, ensuring peak flavor and quality when you enjoy it at home or in our cozy shop.", tag: "Made Fresh Daily", imageSrc: "https://img.b2bpic.net/free-photo/cup-milky-cappuccino-with-cookie-blue-table_114579-4248.jpg", imageAlt: "fresh baked goods croissants rustic tray daily freshness"},
]}
/>
@@ -120,24 +101,16 @@ export default function LandingPage() {
gridVariant="bento-grid"
animationType="slide-up"
textboxLayout="default"
- useInvertedBackground={false}
+ useInvertedBackground={true}
products={[
{
- id: "croissant", name: "Butter Croissant", price: "$3.50", imageSrc: getAssetUrl("products-section-croissant"),
- imageAlt: "Delicious butter croissant with golden layers"
- },
+ id: "croissant", name: "Butter Croissant", price: "$3.50", imageSrc: "https://img.b2bpic.net/free-photo/wooden-cutting-board-with-powdered-cacao-cookie_114579-52662.jpg", imageAlt: "croissant buttery pastry flaky layers wooden surface"},
{
- id: "sourdough", name: "Sourdough Bread", price: "$5.00", imageSrc: getAssetUrl("products-section-sourdough"),
- imageAlt: "Freshly baked sourdough loaf with rustic crust"
- },
+ id: "sourdough", name: "Sourdough Bread", price: "$5.00", imageSrc: "https://img.b2bpic.net/free-photo/close-up-fresh-bread-wooden-board_23-2148613571.jpg", imageAlt: "sourdough bread artisan bread crusty exterior soft interior"},
{
- id: "chocolate-chip", name: "Chocolate Chip Cookie", price: "$2.50", imageSrc: getAssetUrl("products-section-chocolateChip"),
- imageAlt: "Warm chocolate chip cookie with gooey center"
- },
+ id: "chocolate-chip", name: "Chocolate Chip Cookie", price: "$2.50", imageSrc: "https://img.b2bpic.net/free-photo/plate-with-fresh-cookies-from-oven_23-2148837150.jpg", imageAlt: "chocolate chip cookies warm baked goods wooden board homemade treats"},
{
- id: "blueberry-muffin", name: "Blueberry Muffin", price: "$3.00", imageSrc: getAssetUrl("products-section-blueberryMuffin"),
- imageAlt: "Soft blueberry muffin with fresh berries on top"
- }
+ id: "blueberry-muffin", name: "Blueberry Muffin", price: "$3.00", imageSrc: "https://img.b2bpic.net/free-photo/muffins-with-black-currant_661915-152.jpg", imageAlt: "blueberry muffins fresh baked goods ceramic plate fruit muffins"},
]}
/>
@@ -147,24 +120,16 @@ export default function LandingPage() {
testimonials={[
{
id: "testimonial-1", name: "Sarah Johnson", role: "Local Food Blogger", company: "Bite & Sip", rating: 5,
- imageSrc: getAssetUrl("testimonials-section-testimonial1-image"),
- imageAlt: "Sarah Johnson, local food blogger, enjoying a fresh croissant"
- },
+ imageSrc: "https://img.b2bpic.net/free-photo/beautiful-girls-buys-buns-bakery_1157-24661.jpg", imageAlt: "customer enjoying pastry cozy bakery happy customer fresh baked goods"},
{
id: "testimonial-2", name: "Michael Torres", role: "Community Chef", company: "Urban Kitchen", rating: 5,
- imageSrc: getAssetUrl("testimonials-section-testimonial2-image"),
- imageAlt: "Michael Torres, community chef, savoring a slice of homemade sourdough"
- },
+ imageSrc: "https://img.b2bpic.net/free-photo/high-angle-parents-teaching-girl-cook_23-2148542888.jpg", imageAlt: "family bakery visit children with pastries local community happy family"},
{
id: "testimonial-3", name: "Emma Richardson", role: "Artisan Bread Enthusiast", company: "The Bread Collective", rating: 5,
- imageSrc: getAssetUrl("testimonials-section-testimonial3-image"),
- imageAlt: "Emma Richardson, artisan bread enthusiast, holding a warm baguette"
- },
+ imageSrc: "https://img.b2bpic.net/free-photo/tea-time-cafe_1098-14163.jpg", imageAlt: "elderly customer warm croissant cozy seating retired customer"},
{
id: "testimonial-4", name: "David Chen", role: "Local Business Owner", company: "Cozy Corner Café", rating: 5,
- imageSrc: getAssetUrl("testimonials-section-testimonial4-image"),
- imageAlt: "David Chen, local business owner, sharing a pastry with his family"
- }
+ imageSrc: "https://img.b2bpic.net/free-photo/smiling-girl-with-curly-hair-listening-music-sitting-restaurant_651396-865.jpg", imageAlt: "young professional coffee and pastry rustic table workplace cafe"},
]}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
@@ -173,9 +138,7 @@ export default function LandingPage() {
tag="Customer Favorites"
tagIcon={Star}
tagAnimation="blur-reveal"
- buttons={[
- { text: "View All Reviews", href: "#" }
- ]}
+ buttons={[{ text: "View All Reviews", href: "#" }]}
buttonAnimation="opacity"
textboxLayout="default"
useInvertedBackground={true}
@@ -188,20 +151,15 @@ export default function LandingPage() {
description="Find answers to common questions about our artisanal baked goods, ordering process, and bakery experience."
faqs={[
{
- id: "faq-1", title: "What makes your baked goods special?", content: "Our baked goods are crafted using traditional methods and high-quality ingredients sourced from local farms. Each item is made fresh daily with care and attention to detail."
- },
+ id: "faq-1", title: "What makes your baked goods special?", content: "Our baked goods are crafted using traditional methods and high-quality ingredients sourced from local farms. Each item is made fresh daily with care and attention to detail."},
{
- id: "faq-2", title: "How do I place an order?", content: "You can place orders online through our website or by calling us directly. We also offer custom orders for special occasions and events."
- },
+ id: "faq-2", title: "How do I place an order?", content: "You can place orders online through our website or by calling us directly. We also offer custom orders for special occasions and events."},
{
- id: "faq-3", title: "Do you offer gluten-free options?", content: "Yes, we have a selection of gluten-free breads and pastries available. Please inform us of any allergies when placing your order."
- },
+ id: "faq-3", title: "Do you offer gluten-free options?", content: "Yes, we have a selection of gluten-free breads and pastries available. Please inform us of any allergies when placing your order."},
{
- id: "faq-4", title: "What are your hours of operation?", content: "We're open Tuesday through Sunday from 7:00 AM to 6:00 PM. Closed on Mondays for fresh ingredient preparation."
- },
+ id: "faq-4", title: "What are your hours of operation?", content: "We're open Tuesday through Sunday from 7:00 AM to 6:00 PM. Closed on Mondays for fresh ingredient preparation."},
{
- id: "faq-5", title: "Can I customize my order?", content: "Absolutely! We love creating custom cakes, pastries, and breads for birthdays, weddings, and corporate events. Contact us for more details."
- }
+ id: "faq-5", title: "Can I customize my order?", content: "Absolutely! We love creating custom cakes, pastries, and breads for birthdays, weddings, and corporate events. Contact us for more details."},
]}
faqsAnimation="slide-up"
textboxLayout="inline-image"
@@ -211,7 +169,7 @@ export default function LandingPage() {
tagAnimation="slide-up"
buttons={[
{ text: "View All Products", href: "#products-section" },
- { text: "Contact Us", href: "#contact-section" }
+ { text: "Contact Us", href: "#contact-section" },
]}
buttonAnimation="slide-up"
/>
@@ -224,61 +182,48 @@ export default function LandingPage() {
inputs={[
{ name: "name", type: "text", placeholder: "Your Name", required: true },
{ name: "email", type: "email", placeholder: "Your Email", required: true },
- { name: "phone", type: "tel", placeholder: "Your Phone Number" }
+ { name: "phone", type: "tel", placeholder: "Your Phone Number" },
]}
- textarea={{
- name: "message", placeholder: "Your Message", rows: 4,
- required: true
- }}
+ textarea={{ name: "message", placeholder: "Your Message", rows: 4, required: true }}
useInvertedBackground={true}
- imageSrc={getAssetUrl("contact-section-imageSrc")}
- imageAlt="Cozy bakery interior with warm lighting and fresh pastries displayed on wooden shelves"
+ imageSrc="https://img.b2bpic.net/free-photo/welcome-open-sign-hanging_23-2149168995.jpg"
+ imageAlt="bakery storefront inviting window handwritten sign warm atmosphere"
mediaAnimation="slide-up"
mediaPosition="right"
buttonText="Send Your Sweet Message"
ariaLabel="Contact section"
- className="py-16"
- containerClassName="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"
- contentClassName="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center"
- formCardClassName="bg-white rounded-2xl shadow-lg p-8"
- titleClassName="text-3xl md:text-4xl font-bold text-gray-900 mb-4"
- descriptionClassName="text-lg text-gray-600 mb-6"
- buttonClassName="bg-amber-600 hover:bg-amber-700 text-white font-semibold py-3 px-6 rounded-lg transition duration-300 ease-in-out transform hover:scale-105"
- buttonTextClassName="flex items-center justify-center"
- mediaWrapperClassName="relative overflow-hidden rounded-2xl"
- mediaClassName="w-full h-full object-cover"
/>
);
-}
\ No newline at end of file
+ }
+
+ return (
+
+ );
+}
+
+export default function ProductDetailPage({
+ params,
+}: {
+ params: Promise<{ id: string }>;
+}) {
+ const { id } = use(params);
+ const navItems = [
+ { name: "Home", id: "/" },
+ { name: "Blog", id: "/blog" },
+ { name: "Shop", id: "/shop" },
+ ];
+
+ return (
+
+
+
+
+
+ Loading...}>
+
+
+
+
+ );
+}
diff --git a/src/app/shop/page.tsx b/src/app/shop/page.tsx
index 37dae47..f9e5bd5 100644
--- a/src/app/shop/page.tsx
+++ b/src/app/shop/page.tsx
@@ -8,93 +8,63 @@ import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog
import { useProductCatalog } from "@/hooks/useProductCatalog";
function ShopPageContent() {
- const {
- products,
- isLoading,
- search,
- setSearch,
- filters,
- cartOpen,
- setCartOpen,
- } = useProductCatalog({ basePath: "/shop" });
+ const {
+ products,
+ isLoading,
+ search,
+ setSearch,
+ category,
+ setCategory,
+ sort,
+ setSort,
+ filters,
+ categories,
+ } = useProductCatalog();
- if (isLoading) {
- return (
-
-
-
- setCartOpen(true) }}
- />
-
-
- Loading products...
-
-
-
- );
- }
-
- return (
-
-
-
- setCartOpen(true) }}
- />
-
-
-
-
- );
+ return (
+
+ );
}
export default function ShopPage() {
- return (
-
-
+ const navItems = [
+ { name: "Home", id: "/" },
+ { name: "Blog", id: "/blog" },
+ { name: "Shop", id: "/shop" },
+ ];
+
+ return (
+
+
+
+
+
+ Loading shop...}>
+
- );
-}
\ No newline at end of file
+
+
+ );
+}