|
|
|
|
@@ -9,10 +9,14 @@ import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonia
|
|
|
|
|
import MediaAbout from '@/components/sections/about/MediaAbout';
|
|
|
|
|
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
|
|
|
|
import PricingCardThree from '@/components/sections/pricing/PricingCardThree';
|
|
|
|
|
import ProductCardOne from '@/components/sections/product/ProductCardOne';
|
|
|
|
|
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
|
|
|
|
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
|
|
|
|
|
|
|
|
|
|
export default function LandingPage() {
|
|
|
|
|
const handleQuantityChange = (id: string, quantity: number) => {
|
|
|
|
|
console.log(`Setting product ${id} to ${quantity} lbs`);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<ThemeProvider
|
|
|
|
|
defaultButtonVariant="elastic-effect"
|
|
|
|
|
@@ -27,228 +31,106 @@ export default function LandingPage() {
|
|
|
|
|
headingFontWeight="extrabold"
|
|
|
|
|
>
|
|
|
|
|
<ReactLenis root>
|
|
|
|
|
<div id="nav" data-section="nav">
|
|
|
|
|
<NavbarStyleApple
|
|
|
|
|
navItems={[
|
|
|
|
|
{
|
|
|
|
|
name: "Home", id: "hero"},
|
|
|
|
|
{
|
|
|
|
|
name: "About", id: "about"},
|
|
|
|
|
{
|
|
|
|
|
name: "Products", id: "products"},
|
|
|
|
|
{
|
|
|
|
|
name: "Catering", id: "pricing"},
|
|
|
|
|
{
|
|
|
|
|
name: "Contact", id: "contact"},
|
|
|
|
|
]}
|
|
|
|
|
brandName="Artisanal Bakes"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="nav" data-section="nav">
|
|
|
|
|
<NavbarStyleApple
|
|
|
|
|
navItems={[
|
|
|
|
|
{ name: "Home", id: "hero" },
|
|
|
|
|
{ name: "About", id: "about" },
|
|
|
|
|
{ name: "Products", id: "products" },
|
|
|
|
|
{ name: "Catering", id: "pricing" },
|
|
|
|
|
{ name: "Contact", id: "contact" },
|
|
|
|
|
]}
|
|
|
|
|
brandName="Artisanal Bakes"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="hero" data-section="hero">
|
|
|
|
|
<HeroSplitTestimonial
|
|
|
|
|
useInvertedBackground={true}
|
|
|
|
|
background={{
|
|
|
|
|
variant: "gradient-bars"}}
|
|
|
|
|
title="Artisanal Baking, Elevated Every Day"
|
|
|
|
|
description="Handcrafted pastries and custom cakes made from premium ingredients. Order online or visit us for an exceptional tasting experience."
|
|
|
|
|
testimonials={[
|
|
|
|
|
{
|
|
|
|
|
name: "Clara J.", handle: "@foodie", testimonial: "The best sourdough in the city. Truly artisan.", rating: 5,
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/delicious-homemade-bread-table_23-2148361967.jpg?_wi=1", imageAlt: "elegant bakery bread display warm"},
|
|
|
|
|
{
|
|
|
|
|
name: "Mark S.", handle: "@eventpro", testimonial: "Exquisite custom cakes, our event was perfect.", rating: 5,
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/chef-using-flour-knead-dough-so-it-won-t-stick-hands_23-2148742217.jpg?_wi=1", imageAlt: "elegant bakery bread display warm"},
|
|
|
|
|
{
|
|
|
|
|
name: "Elena R.", handle: "@gourmet", testimonial: "The attention to detail in their pastries is unreal.", rating: 5,
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/delicious-baked-pastry-bangle-formed-inside-pan-bright-pastry-cookie-biscuit-sweet-sugar_140725-32072.jpg?_wi=1", imageAlt: "elegant bakery bread display warm"},
|
|
|
|
|
{
|
|
|
|
|
name: "Tom D.", handle: "@local", testimonial: "Always fresh, always beautiful. Highly recommended.", rating: 5,
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=1", imageAlt: "elegant bakery bread display warm"},
|
|
|
|
|
{
|
|
|
|
|
name: "Sarah P.", handle: "@pastryfan", testimonial: "The almond croissants are life-changing.", rating: 5,
|
|
|
|
|
imageSrc: "http://img.b2bpic.net/free-photo/top-view-french-macarons-with-roses-pink-table-cake-biscuit-sugar-sweet_140725-28587.jpg?_wi=1", imageAlt: "elegant bakery bread display warm"},
|
|
|
|
|
]}
|
|
|
|
|
imageSrc="http://img.b2bpic.net/free-photo/delicious-homemade-bread-table_23-2148361967.jpg?_wi=2"
|
|
|
|
|
mediaAnimation="blur-reveal"
|
|
|
|
|
avatars={[
|
|
|
|
|
{
|
|
|
|
|
src: "http://img.b2bpic.net/free-photo/loaf-bread-female-hands-supermarket_169016-36167.jpg", alt: "Loaf of bread in female hands in a supermarket"},
|
|
|
|
|
{
|
|
|
|
|
src: "http://img.b2bpic.net/free-photo/bakery_23-2148011503.jpg", alt: "Bakery interior display"},
|
|
|
|
|
{
|
|
|
|
|
src: "http://img.b2bpic.net/free-photo/girl-offering-bread-tray_23-2147984953.jpg", alt: "Girl offering bread tray"},
|
|
|
|
|
{
|
|
|
|
|
src: "http://img.b2bpic.net/free-photo/close-up-hands-making-dough_23-2148544734.jpg", alt: "Close-up hands making dough"},
|
|
|
|
|
{
|
|
|
|
|
src: "http://img.b2bpic.net/free-photo/ethnic-young-woman-holding-cup-white-background_23-2148180704.jpg", alt: "Portrait happy customer cafe"},
|
|
|
|
|
]}
|
|
|
|
|
avatarText="Join 5,000+ satisfied customers"
|
|
|
|
|
marqueeItems={[
|
|
|
|
|
{
|
|
|
|
|
type: "text", text: "Artisan Sourdough"},
|
|
|
|
|
{
|
|
|
|
|
type: "text", text: "Premium Ingredients"},
|
|
|
|
|
{
|
|
|
|
|
type: "text", text: "Handcrafted Daily"},
|
|
|
|
|
{
|
|
|
|
|
type: "text", text: "Custom Cake Designs"},
|
|
|
|
|
{
|
|
|
|
|
type: "text", text: "Freshly Baked"},
|
|
|
|
|
]}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="hero" data-section="hero">
|
|
|
|
|
<HeroSplitTestimonial
|
|
|
|
|
title="Artisanal Baking, Elevated Every Day"
|
|
|
|
|
description="Handcrafted pastries and custom cakes made from premium ingredients. Order online or visit us for an exceptional tasting experience."
|
|
|
|
|
testimonials={[]}
|
|
|
|
|
background={{ variant: "plain" }}
|
|
|
|
|
imageSrc="http://img.b2bpic.net/free-photo/delicious-homemade-bread-table_23-2148361967.jpg?_wi=2"
|
|
|
|
|
mediaAnimation="blur-reveal"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="about" data-section="about">
|
|
|
|
|
<MediaAbout
|
|
|
|
|
useInvertedBackground={false}
|
|
|
|
|
title="Craftsmanship at Our Core"
|
|
|
|
|
description="We believe that the best baked goods start with patience, quality ingredients, and traditional techniques. Every pastry is a testament to our passion."
|
|
|
|
|
imageSrc="http://img.b2bpic.net/free-photo/chef-using-flour-knead-dough-so-it-won-t-stick-hands_23-2148742217.jpg?_wi=2"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="about" data-section="about">
|
|
|
|
|
<MediaAbout
|
|
|
|
|
title="Craftsmanship at Our Core"
|
|
|
|
|
description="We believe that the best baked goods start with patience, quality ingredients, and traditional techniques. Every pastry is a testament to our passion."
|
|
|
|
|
imageSrc="http://img.b2bpic.net/free-photo/chef-using-flour-knead-dough-so-it-won-t-stick-hands_23-2148742217.jpg?_wi=2"
|
|
|
|
|
useInvertedBackground={false}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="products" data-section="products">
|
|
|
|
|
<ProductCardOne
|
|
|
|
|
textboxLayout="default"
|
|
|
|
|
gridVariant="four-items-2x2-equal-grid"
|
|
|
|
|
animationType="slide-up"
|
|
|
|
|
useInvertedBackground={true}
|
|
|
|
|
products={[
|
|
|
|
|
{
|
|
|
|
|
id: "1", name: "Classic Croissant", price: "$4.50", imageSrc: "http://img.b2bpic.net/free-photo/delicious-baked-pastry-bangle-formed-inside-pan-bright-pastry-cookie-biscuit-sweet-sugar_140725-32072.jpg?_wi=2"},
|
|
|
|
|
{
|
|
|
|
|
id: "2", name: "Artisan Sourdough", price: "$8.00", imageSrc: "http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=2"},
|
|
|
|
|
{
|
|
|
|
|
id: "3", name: "Fruit Tart", price: "$6.50", imageSrc: "http://img.b2bpic.net/free-photo/top-view-french-macarons-with-roses-pink-table-cake-biscuit-sugar-sweet_140725-28587.jpg?_wi=2"},
|
|
|
|
|
{
|
|
|
|
|
id: "4", name: "Almond Pastry", price: "$5.00", imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-food-basket_23-2149629043.jpg"},
|
|
|
|
|
{
|
|
|
|
|
id: "5", name: "Rye Bread", price: "$7.50", imageSrc: "http://img.b2bpic.net/free-photo/top-view-bread-wheat_23-2148288071.jpg"},
|
|
|
|
|
{
|
|
|
|
|
id: "6", name: "Chocolate Éclair", price: "$5.50", imageSrc: "http://img.b2bpic.net/free-photo/chocolate-vanilla-cheesecake-with-figs-top-view_114579-16295.jpg"},
|
|
|
|
|
]}
|
|
|
|
|
title="Our Signature Collection"
|
|
|
|
|
description="From daily breads to decadent custom desserts, explore our premium selection."
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="products" data-section="products">
|
|
|
|
|
<ProductCardThree
|
|
|
|
|
title="Custom Order Form"
|
|
|
|
|
description="Select your items and weight. Orders are limited to 3lbs max for custom designs."
|
|
|
|
|
gridVariant="four-items-2x2-equal-grid"
|
|
|
|
|
animationType="slide-up"
|
|
|
|
|
useInvertedBackground={true}
|
|
|
|
|
textboxLayout="default"
|
|
|
|
|
products={[
|
|
|
|
|
{ id: "1", name: "Custom Cake Base", price: "$50", imageSrc: "http://img.b2bpic.net/free-photo/delicious-baked-pastry-bangle-formed-inside-pan-bright-pastry-cookie-biscuit-sweet-sugar_140725-32072.jpg?_wi=2", onQuantityChange: (q) => handleQuantityChange("1", q) },
|
|
|
|
|
{ id: "2", name: "Specialty Filling", price: "$10", imageSrc: "http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=2", onQuantityChange: (q) => handleQuantityChange("2", q) },
|
|
|
|
|
]}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="testimonials" data-section="testimonials">
|
|
|
|
|
<TestimonialCardFive
|
|
|
|
|
textboxLayout="split"
|
|
|
|
|
useInvertedBackground={false}
|
|
|
|
|
testimonials={[
|
|
|
|
|
{
|
|
|
|
|
id: "1", name: "Clara J.", date: "2024", title: "Regular Visitor", quote: "The best sourdough in the city.", tag: "Artisan", avatarSrc: "http://img.b2bpic.net/free-photo/ethnic-young-woman-holding-cup-white-background_23-2148180704.jpg", imageSrc: "http://img.b2bpic.net/free-photo/delicious-homemade-bread-table_23-2148361967.jpg?_wi=3", imageAlt: "portrait happy customer cafe"},
|
|
|
|
|
{
|
|
|
|
|
id: "2", name: "Mark S.", date: "2024", title: "Corporate Client", quote: "Exquisite cakes, reliable service.", tag: "Events", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-woman-office-suit-sitting-outdoors-looking-confident_1258-123395.jpg", imageSrc: "http://img.b2bpic.net/free-photo/chef-using-flour-knead-dough-so-it-won-t-stick-hands_23-2148742217.jpg?_wi=3", imageAlt: "portrait happy customer cafe"},
|
|
|
|
|
{
|
|
|
|
|
id: "3", name: "Elena R.", date: "2024", title: "Fanatic", quote: "The detail in their pastries is unreal.", tag: "Bakery", avatarSrc: "http://img.b2bpic.net/free-photo/fresh-croissant-front-woman-holding-smart-phone-with-blank-white-screen_23-2148027954.jpg", imageSrc: "http://img.b2bpic.net/free-photo/delicious-baked-pastry-bangle-formed-inside-pan-bright-pastry-cookie-biscuit-sweet-sugar_140725-32072.jpg?_wi=3", imageAlt: "portrait happy customer cafe"},
|
|
|
|
|
{
|
|
|
|
|
id: "4", name: "Tom D.", date: "2024", title: "Local", quote: "Always fresh, always beautiful.", tag: "Fresh", avatarSrc: "http://img.b2bpic.net/free-photo/smiley-colleagues-work-break-time_23-2149308456.jpg", imageSrc: "http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=3", imageAlt: "portrait happy customer cafe"},
|
|
|
|
|
{
|
|
|
|
|
id: "5", name: "Sarah P.", date: "2024", title: "Foodie", quote: "The almond croissants are life-changing.", tag: "Treat", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-waitress-holding-tray-muffins-counter_107420-12318.jpg", imageSrc: "http://img.b2bpic.net/free-photo/top-view-french-macarons-with-roses-pink-table-cake-biscuit-sugar-sweet_140725-28587.jpg?_wi=3", imageAlt: "portrait happy customer cafe"},
|
|
|
|
|
]}
|
|
|
|
|
title="Loved by Our Community"
|
|
|
|
|
description="Discover why our patrons choose us for their daily delights."
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="testimonials" data-section="testimonials">
|
|
|
|
|
<TestimonialCardFive
|
|
|
|
|
textboxLayout="split"
|
|
|
|
|
useInvertedBackground={false}
|
|
|
|
|
testimonials={[]}
|
|
|
|
|
title="Loved by Our Community"
|
|
|
|
|
description="Discover why our patrons choose us for their daily delights."
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="faq" data-section="faq">
|
|
|
|
|
<FaqSplitMedia
|
|
|
|
|
textboxLayout="default"
|
|
|
|
|
useInvertedBackground={true}
|
|
|
|
|
faqs={[
|
|
|
|
|
{
|
|
|
|
|
id: "1", title: "Do you accept custom cake orders?", content: "Yes, we require at least 48 hours notice for custom cakes."},
|
|
|
|
|
{
|
|
|
|
|
id: "2", title: "Are your ingredients organic?", content: "We prioritize organic and locally sourced ingredients whenever possible."},
|
|
|
|
|
{
|
|
|
|
|
id: "3", title: "Do you offer gluten-free options?", content: "We have a limited selection of gluten-friendly items."},
|
|
|
|
|
]}
|
|
|
|
|
imageSrc="http://img.b2bpic.net/free-photo/delicious-products-arrangement-bakery_23-2150273131.jpg"
|
|
|
|
|
title="Frequently Asked Questions"
|
|
|
|
|
description="Have questions about our catering, ingredients, or online orders?"
|
|
|
|
|
faqsAnimation="slide-up"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="faq" data-section="faq">
|
|
|
|
|
<FaqSplitMedia
|
|
|
|
|
textboxLayout="default"
|
|
|
|
|
useInvertedBackground={true}
|
|
|
|
|
faqs={[]}
|
|
|
|
|
title="Frequently Asked Questions"
|
|
|
|
|
description="Have questions about our catering, ingredients, or online orders?"
|
|
|
|
|
faqsAnimation="slide-up"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="pricing" data-section="pricing">
|
|
|
|
|
<PricingCardThree
|
|
|
|
|
animationType="slide-up"
|
|
|
|
|
textboxLayout="default"
|
|
|
|
|
useInvertedBackground={false}
|
|
|
|
|
plans={[
|
|
|
|
|
{
|
|
|
|
|
id: "basic", price: "$150", name: "Breakfast Tray", features: [
|
|
|
|
|
"12 Assorted Pastries", "Coffee Service"],
|
|
|
|
|
buttons: [
|
|
|
|
|
{
|
|
|
|
|
text: "Inquire"},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: "pro", price: "$300", name: "Event Package", features: [
|
|
|
|
|
"24 Pastries", "Cake Service", "Setup"],
|
|
|
|
|
buttons: [
|
|
|
|
|
{
|
|
|
|
|
text: "Inquire"},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: "elite", price: "$500", name: "Full Service", features: [
|
|
|
|
|
"Unlimited Selection", "Delivery", "Setup"],
|
|
|
|
|
buttons: [
|
|
|
|
|
{
|
|
|
|
|
text: "Inquire"},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
]}
|
|
|
|
|
title="Catering Packages"
|
|
|
|
|
description="Perfect for office meetings or elegant social events."
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="pricing" data-section="pricing">
|
|
|
|
|
<PricingCardThree
|
|
|
|
|
animationType="slide-up"
|
|
|
|
|
textboxLayout="default"
|
|
|
|
|
useInvertedBackground={false}
|
|
|
|
|
plans={[]}
|
|
|
|
|
title="Catering Packages"
|
|
|
|
|
description="Perfect for office meetings or elegant social events."
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="contact" data-section="contact">
|
|
|
|
|
<ContactSplitForm
|
|
|
|
|
useInvertedBackground={true}
|
|
|
|
|
title="Visit or Order With Us"
|
|
|
|
|
description="Drop us a note for inquiries or catering requests."
|
|
|
|
|
inputs={[
|
|
|
|
|
{
|
|
|
|
|
name: "name", type: "text", placeholder: "Name"},
|
|
|
|
|
{
|
|
|
|
|
name: "email", type: "email", placeholder: "Email"},
|
|
|
|
|
]}
|
|
|
|
|
textarea={{
|
|
|
|
|
name: "message", placeholder: "Your message"}}
|
|
|
|
|
imageSrc="http://img.b2bpic.net/free-photo/view-beautiful-woman-looking-away-with-coffee_197531-33702.jpg"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="contact" data-section="contact">
|
|
|
|
|
<ContactSplitForm
|
|
|
|
|
useInvertedBackground={true}
|
|
|
|
|
title="Visit or Order With Us"
|
|
|
|
|
description="Drop us a note for inquiries or catering requests."
|
|
|
|
|
inputs={[
|
|
|
|
|
{ name: "name", type: "text", placeholder: "Name" },
|
|
|
|
|
{ name: "email", type: "email", placeholder: "Email" },
|
|
|
|
|
]}
|
|
|
|
|
textarea={{ name: "message", placeholder: "Your message" }}
|
|
|
|
|
imageSrc="http://img.b2bpic.net/free-photo/view-beautiful-woman-looking-away-with-coffee_197531-33702.jpg"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="footer" data-section="footer">
|
|
|
|
|
<FooterBaseCard
|
|
|
|
|
logoText="Artisanal Bakes"
|
|
|
|
|
columns={[
|
|
|
|
|
{
|
|
|
|
|
title: "Navigate", items: [
|
|
|
|
|
{
|
|
|
|
|
label: "Products", href: "#products"},
|
|
|
|
|
{
|
|
|
|
|
label: "About", href: "#about"},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "Legal", items: [
|
|
|
|
|
{
|
|
|
|
|
label: "Privacy", href: "#"},
|
|
|
|
|
{
|
|
|
|
|
label: "Terms", href: "#"},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
]}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="footer" data-section="footer">
|
|
|
|
|
<FooterBaseCard
|
|
|
|
|
logoText="Artisanal Bakes"
|
|
|
|
|
columns={[]}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</ReactLenis>
|
|
|
|
|
</ThemeProvider>
|
|
|
|
|
);
|
|
|
|
|
|