28 Commits

Author SHA1 Message Date
3e30d96568 Merge version_14_1780587851932 into main
Merge version_14_1780587851932 into main
2026-06-04 15:44:48 +00:00
kudinDmitriyUp
f92c053d9a Bob AI (stub): remove all sections except hero and contact form 2026-06-04 15:44:45 +00:00
8bf9127975 Merge version_13_1780587774200 into main
Merge version_13_1780587774200 into main
2026-06-04 15:43:33 +00:00
kudinDmitriyUp
e706c96446 Bob AI (stub): remove all sections except hero and contact form 2026-06-04 15:43:30 +00:00
56a01645f1 Merge version_12_1780587609768 into main
Merge version_12_1780587609768 into main
2026-06-04 15:41:32 +00:00
kudinDmitriyUp
532ed40610 Bob AI: Reorder the 'case-studies-cards' section to appear before th 2026-06-04 15:40:56 +00:00
c2646d5c11 Merge version_11_1780587441025 into main
Merge version_11_1780587441025 into main
2026-06-04 15:39:11 +00:00
kudinDmitriyUp
548163a783 Bob AI: Added newsletter signup section 2026-06-04 15:38:07 +00:00
58750c9da9 Merge version_10_1780574979157 into main
Merge version_10_1780574979157 into main
2026-06-04 12:11:10 +00:00
kudinDmitriyUp
10de60098f Bob AI: Added Pricing section with highlighted cards 2026-06-04 12:10:22 +00:00
ea8d03e0ec Merge version_9_1780574627751 into main
Merge version_9_1780574627751 into main
2026-06-04 12:06:08 +00:00
kudinDmitriyUp
6beb29ee23 Bob AI: Introduce a dedicated Case Studies section to showcase in-de 2026-06-04 12:05:26 +00:00
7b8ba995cd Merge version_8_1780517966951 into main
Merge version_8_1780517966951 into main
2026-06-03 20:20:44 +00:00
kudinDmitriyUp
a11568b7c7 Bob AI: Added How It Works section to outline onboarding steps 2026-06-03 20:20:04 +00:00
0194a09ddb Merge version_7_1780492634052 into main
Merge version_7_1780492634052 into main
2026-06-03 13:19:00 +00:00
kudinDmitriyUp
014fb1ff2b Bob AI: Fixed hero section layout and implemented expanding image ga 2026-06-03 13:18:06 +00:00
b7103e9b8b Merge version_6_1780492427454 into main
Merge version_6_1780492427454 into main
2026-06-03 13:16:22 +00:00
kudinDmitriyUp
cf066a66a8 Bob AI: Rewrite the main headline in the Home section to be more ben 2026-06-03 13:15:43 +00:00
5b56576767 Merge version_5_1780491317611 into main
Merge version_5_1780491317611 into main
2026-06-03 12:56:40 +00:00
kudinDmitriyUp
8876fb18b1 Bob AI: when on the book now page, links in the navbar should naviga 2026-06-03 12:56:04 +00:00
5a65e07558 Merge version_4_1780491205123 into main
Merge version_4_1780491205123 into main
2026-06-03 12:54:31 +00:00
kudinDmitriyUp
092d712508 Bob AI: Populate src/pages/BookNowPage.tsx (snippet builder, 2 sections) 2026-06-03 12:54:25 +00:00
kudinDmitriyUp
7883b32660 Bob AI: Add book-now page 2026-06-03 12:54:08 +00:00
d166f7f52b Merge version_3_1780490790011 into main
Merge version_3_1780490790011 into main
2026-06-03 12:50:13 +00:00
kudinDmitriyUp
884cfded40 Bob AI: fix build errors (attempt 1) 2026-06-03 12:49:37 +00:00
kudinDmitriyUp
feb3ec0d67 Bob AI: make images in the hero section expand on click in a popup a 2026-06-03 12:48:50 +00:00
d9678c8a75 Merge version_2_1780490661426 into main
Merge version_2_1780490661426 into main
2026-06-03 12:45:29 +00:00
kudinDmitriyUp
9eeb8a9c16 Bob AI: Added more images to the hero section 2026-06-03 12:44:51 +00:00
17 changed files with 498 additions and 276 deletions

View File

@@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
import HomePage from './pages/HomePage';
import BookNowPage from "@/pages/BookNowPage";
export default function App() {
return (
<Routes>
<Route element={<Layout />}>
<Route path="/" element={<HomePage />} />
<Route path="/book-now" element={<BookNowPage />} />
</Route>
</Routes>
);

View File

@@ -9,32 +9,34 @@ export default function Layout() {
const navItems = [
{
"name": "Home",
"href": "#home"
"href": "/#home"
},
{
"name": "About Us",
"href": "#about"
"href": "/#about"
},
{
"name": "Products",
"href": "#products"
"href": "/#products"
},
{
"name": "Why Us",
"href": "#why-us"
"href": "/#why-us"
},
{
"name": "Testimonials",
"href": "#testimonials"
"href": "/#testimonials"
},
{
"name": "FAQ",
"href": "#faq"
"href": "/#faq"
},
{
"name": "Social Proof",
"href": "#social-proof"
}
"href": "/#social-proof"
},
{ name: "Book Now", href: "/book-now" },
];
return (
@@ -44,7 +46,7 @@ export default function Layout() {
<NavbarCentered
ctaButton={{
text: "Order Now",
href: "#contact",
href: "/#contact",
}}
logo="Brand"
navItems={navItems} />
@@ -60,11 +62,11 @@ export default function Layout() {
items: [
{
label: "About Us",
href: "#about",
href: "/#about",
},
{
label: "Our Menu",
href: "#products",
href: "/#products",
},
{
label: "Custom Orders",
@@ -81,11 +83,11 @@ export default function Layout() {
items: [
{
label: "FAQ",
href: "#faq",
href: "/#faq",
},
{
label: "Contact Us",
href: "#contact",
href: "/#contact",
},
{
label: "Shipping & Delivery",

23
src/pages/BookNowPage.tsx Normal file
View File

@@ -0,0 +1,23 @@
import Button from "@/components/ui/Button";
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import ScrollReveal from "@/components/ui/ScrollReveal";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
export default function BookNowPage() {
return (
<>
<div data-webild-section="HeroSplit"><section aria-label="Hero section" className="relative flex items-center h-fit md:h-svh pt-25 pb-20 md:py-0"><HeroBackgroundSlot /><div className="flex flex-col md:flex-row items-center gap-12 md:gap-20 w-content-width mx-auto"><div className="w-full md:w-1/2"><div className="flex flex-col items-center md:items-start gap-3"><div className="px-3 py-1 mb-1 text-sm card rounded w-fit"><p>Book Now</p></div><TextAnimation text="Schedule Your Service with Brand Today" variant="fade-blur" gradientText={true} tag="h1" className="text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-center md:text-left text-balance" /><TextAnimation text="Experience the convenience of booking your next appointment online. Our straightforward process ensures you can secure your preferred time quickly and efficiently, getting you closer to the service you need. Start now and take the first step." variant="fade-blur" gradientText={false} tag="p" className="md:max-w-8/10 text-lg md:text-xl leading-snug text-center md:text-left text-balance" /><div className="flex flex-wrap max-md:justify-center gap-3 mt-2 md:mt-3"><Button text="Book Now" href="#booking-form" variant="primary" /><Button text="View Services" href="/services" variant="secondary" animationDelay={0.1} /></div></div></div><ScrollReveal variant="fade-blur" delay={0.2} className="w-full md:w-1/2 h-100 md:h-[65vh] md:max-h-[75svh] p-2 xl:p-3 2xl:p-4 card rounded overflow-hidden"><ImageOrVideo imageSrc="https://img.freepik.com/premium-photo/young-woman-using-laptop-booking-online-appointment-clinic-modern-office_236854-47007.jpg" /></ScrollReveal></div></section></div>
<div data-webild-section="ContactSplitForm"><ContactSplitForm
tag="Book Now"
title="Schedule Your Service Today"
description="Ready to experience our services? Use the form below to book your appointment quickly and conveniently. We look forward to serving you."
inputs={[{"name":"fullName","type":"text","placeholder":"Your Full Name","required":true},{"name":"email","type":"email","placeholder":"Your Email Address","required":true},{"name":"phone","type":"tel","placeholder":"Your Phone Number","required":true},{"name":"service","type":"text","placeholder":"Preferred Service (e.g., Consultation)","required":true}]}
textarea={{"name":"message","placeholder":"Any specific requests or questions?","rows":4,"required":false}}
buttonText="Confirm Booking"
imageSrc="https://img.freepik.com/premium-photo/businesswoman-using-laptop-making-online-appointment-booking-calendar-schedule-management-concept_31965-10336.jpg"
/></div>
</>
);
}

View File

@@ -1,268 +1,38 @@
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import FeaturesRevealCardsBentoSharp from '@/components/sections/features/FeaturesRevealCardsBentoSharp';
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
import React from 'react';
import HomeSection from './HomePage/sections/Home';
import AboutSection from './HomePage/sections/About';
import ProductsSection from './HomePage/sections/Products';
import HowItWorksSection from './HomePage/sections/HowItWorks';
import WhyUsSection from './HomePage/sections/WhyUs';
import TestimonialsSection from './HomePage/sections/Testimonials';
import SocialProofSection from './HomePage/sections/SocialProof';
import PricingSection from './HomePage/sections/Pricing';
import FaqSection from './HomePage/sections/Faq';
import NewsletterSection from './HomePage/sections/Newsletter';
import CaseStudiesCardsSection from './HomePage/sections/CaseStudiesCards';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage() {
{/* webild-stub @2026-06-04T15:44:44.030Z: remove all sections except hero and contact form */}
{/* webild-stub @2026-06-04T15:43:28.905Z: remove all sections except hero and contact form */}
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="home" data-section="home">
<SectionErrorBoundary name="home">
<HeroTiltedCards
tag="Welcome to Our Bakery"
title="Freshly Baked, Made Daily, Just for You"
description="Handcrafted pastries, custom cakes, and artisan breads using premium ingredients. Order online or visit us today."
primaryButton={{
text: "Order Now",
href: "#contact",
}}
secondaryButton={{
text: "Our Menu",
href: "#products",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/top-view-challah-dish-hanukkah_23-2151129284.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-people-wearing-linen-clothing_23-2151030585.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/delicious-freshly-bakery-products-wooden-background-close-up-photo-freshly-baked-bread-products_613910-6800.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTextSplit
title="Our Story & Philosophy"
descriptions={[
"At The Daily Crumb Bakery, our passion is bringing joy through exceptional baked goods. Every morning, our skilled bakers rise before dawn to craft an array of pastries, cakes, and breads from scratch. We believe in using only the finest, freshest ingredients, often sourced locally, to ensure every bite is a delightful experience.",
"Our philosophy centers around tradition, quality, and community. We combine time-honored baking techniques with creative flair, resulting in unique flavors and textures that captivate the senses. Beyond the delicious treats, we strive to be a warm, welcoming hub where neighbors can gather, share moments, and create cherished memories over a cup of coffee and a perfect pastry.",
]}
/>
</SectionErrorBoundary>
</div>
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBentoSharp
tag="Our Delicious Offerings"
title="Handcrafted Goodness for Every Craving"
description="Explore our wide range of freshly baked delights, from everyday treats to special occasion masterpieces."
primaryButton={{
text: "View Full Menu",
href: "#",
}}
items={[
{
title: "Gourmet Cupcakes",
description: "Indulge in our exquisite cupcakes, baked fresh daily with rich flavors and artful frosting.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/selective-focus-shot-delicious-chocolate-cupcakes-with-white-cream-topping_181624-40986.jpg",
},
{
title: "Classic Cookies",
description: "Discover our irresistible collection of cookies, from chewy chocolate chip to delicate shortbread.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/cup-milk-book-with-biscuits_114579-6086.jpg",
},
{
title: "Artisan Breads",
description: "Savor the crusty perfection of our artisan breads, crafted with traditional methods and natural starters.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/various-baking-supermarket-shelves-sale_627829-7384.jpg",
},
{
title: "Fruit Tarts",
description: "Enjoy the seasonal freshness of our fruit tarts, bursting with flavor and elegantly prepared.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/homemade-delicious-rustic-summer-berry-tartles_114579-10242.jpg",
},
{
title: "Decadent Donuts",
description: "Treat yourself to our fluffy, flavorful donuts, available in a variety of glazes and toppings.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/delicious-homemade-blood-orange-glaze-donuts_114579-19453.jpg",
},
{
title: "Celebration Cakes",
description: "Order a custom cake for your special occasion, designed to impress and delight every guest.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-little-creamy-cake-with-chocolate-cookies-dark-surface-biscuit-cake-sweet-pie-sugar-cookie_140725-118183.jpg",
},
{
title: "Pastries & More",
description: "From flaky croissants to sweet Danish, our pastry selection offers something for everyone.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/bakery-plate-near-cup-drink-jam_23-2148031625.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="why-us" data-section="why-us">
<SectionErrorBoundary name="why-us">
<FeaturesBentoGrid
tag="Why Choose The Daily Crumb?"
title="The Heart of Our Bakery"
description="Experience the difference that passion, quality ingredients, and artisanal techniques make in every bite."
features={[
{
title: "Fresh, Local Ingredients",
description: "We partner with local farms and suppliers to bring you the freshest, highest quality ingredients.",
imageSrc: "http://img.b2bpic.net/free-photo/bowl-flour-eggs-kitchen-tool-marble-table_114579-31391.jpg",
},
{
title: "Artisanal Craftsmanship",
description: "Our bakers combine time-honored techniques with creative flair, perfecting every recipe.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-baker-hands-kneading-dough_23-2148302953.jpg",
},
{
title: "Custom Creations",
description: "From bespoke wedding cakes to corporate catering, we bring your unique vision to life.",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-elegant-cake-topper_23-2149232352.jpg",
},
{
title: "Community Focused",
description: "More than just a bakery, we're a beloved local hub where friends and family gather.",
imageSrc: "http://img.b2bpic.net/free-photo/influencers-taking-photo-sweets-market_23-2149284359.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="What Our Customers Say"
title="Loved by Our Community"
description="Hear from our happy customers who enjoy our fresh baked goods and exceptional service."
testimonials={[
{
name: "Sarah J.",
role: "Local Entrepreneur",
quote: "The Daily Crumb is my go-to for morning pastries! Their croissants are simply divine, and the coffee is always perfect. A true neighborhood gem!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-woman-eating-piece-cake_171337-4080.jpg",
},
{
name: "Michael Chen",
role: "Event Planner",
quote: "We've used The Daily Crumb for several corporate events, and they always exceed expectations. Their custom cakes are not only beautiful but incredibly delicious.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-businessman-eating-croissant-while-listening-music-earphones-outdoor-cafe_637285-3443.jpg",
},
{
name: "Emily R.",
role: "Busy Mom",
quote: "Finding quality, fresh bread for my family used to be a challenge until I discovered this bakery. Their sourdough is a weekly staple in our home!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/celebration-party-lifestyle-concept-dreamy-cute-silly-blond-girl-thinking-what-wish-bitin_1258-115839.jpg",
},
{
name: "David K.",
role: "Retired Teacher",
quote: "The warm, inviting atmosphere makes The Daily Crumb a joy to visit. Their friendly staff and delicious treats make my afternoons brighter.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/tea-cafe_1098-15634.jpg",
},
{
name: "Jessica L.",
role: "Food Blogger",
quote: "As a food enthusiast, I can attest to the exceptional quality and innovative flavors at The Daily Crumb. A must-visit for any bakery lover!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-happy-lady-baker-standing-holding-bread_171337-16136.jpg",
},
{
name: "Alex B.",
role: "Student",
quote: "Their cookies are seriously the best I've ever had! Perfect study snack. Always a warm welcome when I drop by.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-food-truck-owners_329181-20751.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="social-proof" data-section="social-proof">
<SectionErrorBoundary name="social-proof">
<SocialProofMarquee
tag="As Seen In"
title="Trusted & Featured in Local Publications"
description="We are proud to be recognized by our community for our commitment to quality and delicious baked goods."
names={[
"City Eats Magazine",
"Local Flavor Blog",
"Foodie Favorites Weekly",
"Neighborhood News",
"Gourmet Guide",
"Sweet Treats Review",
"Bake & Brew Chronicle",
]}
/>
</SectionErrorBoundary>
</div>
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Got Questions?"
title="Frequently Asked Questions"
description="Find answers to common questions about our products, ordering, and services."
items={[
{
question: "What are your bakery's operating hours?",
answer: "Our bakery is open from 7:00 AM to 5:00 PM, Tuesday through Sunday. We are closed on Mondays.",
},
{
question: "Do you offer gluten-free or vegan options?",
answer: "Yes, we offer a selection of delicious gluten-free and vegan baked goods. Please check our in-store display or online menu for daily availability.",
},
{
question: "How can I place a custom cake order?",
answer: "For custom cake orders, please visit our 'Custom Orders' page or call us directly. We recommend placing orders at least 1-2 weeks in advance to ensure availability and perfect execution.",
},
{
question: "Do you offer delivery or catering services?",
answer: "Yes, we provide local delivery for online orders and offer catering services for events of all sizes. Contact us for more details and to discuss your specific needs.",
},
{
question: "Where are your ingredients sourced from?",
answer: "We prioritize sourcing fresh, high-quality ingredients from local farms and trusted suppliers within our region whenever possible, supporting our community and ensuring premium taste.",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Ready to Indulge?"
text="Order online for convenient pickup or delivery, or visit us in-store to experience the irresistible aroma of fresh baking."
primaryButton={{
text: "Place an Order",
href: "#",
}}
secondaryButton={{
text: "Find Our Location",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<HomeSection />
<AboutSection />
<ProductsSection />
<HowItWorksSection />
<WhyUsSection />
<TestimonialsSection />
<SocialProofSection />
<PricingSection />
<FaqSection />
<NewsletterSection />
<CaseStudiesCardsSection />
<ContactSection />
</>
);
}
}

View File

@@ -0,0 +1,22 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTextSplit
title="Our Story & Philosophy"
descriptions={[
"At The Daily Crumb Bakery, our passion is bringing joy through exceptional baked goods. Every morning, our skilled bakers rise before dawn to craft an array of pastries, cakes, and breads from scratch. We believe in using only the finest, freshest ingredients, often sourced locally, to ensure every bite is a delightful experience.",
"Our philosophy centers around tradition, quality, and community. We combine time-honored baking techniques with creative flair, resulting in unique flavors and textures that captivate the senses. Beyond the delicious treats, we strive to be a warm, welcoming hub where neighbors can gather, share moments, and create cherished memories over a cup of coffee and a perfect pastry.",
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,17 @@
// Created by add_section_from_catalog (BlogSimpleCards).
import React from 'react';
import BlogSimpleCards from '@/components/sections/blog/BlogSimpleCards';
export default function CaseStudiesCardsSection(): React.JSX.Element {
return (
<div data-webild-section="case-studies-cards" id="case-studies-cards">
<BlogSimpleCards
tag="Case Studies"
items={[{"imageSrc":"https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&q=80&w=800&h=600","title":"Scaling Revenue by 300% in 6 Months","category":"E-commerce","date":"Oct 12, 2023","authorImageSrc":"https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&q=80&w=150&h=150","authorName":"Sarah Jenkins","excerpt":"Learn how we helped a boutique fashion brand optimize their conversion funnel and scale their ad spend profitably."},{"authorName":"David Chen","excerpt":"Discover the strategies we implemented to help a B2B SaaS company reduce their churn rate by 40%.","authorImageSrc":"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&q=80&w=150&h=150","date":"Nov 05, 2023","imageSrc":"https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&q=80&w=800&h=600","category":"SaaS","title":"Reducing Churn and Boosting Retention"},{"authorImageSrc":"https://images.unsplash.com/photo-1438761681033-6461ffad8d80?auto=format&fit=crop&q=80&w=150&h=150","excerpt":"See how our custom software solution reduced patient onboarding time by 60% for a regional clinic network.","authorName":"Emily Rodriguez","date":"Dec 18, 2023","title":"Streamlining Patient Onboarding","category":"Healthcare","imageSrc":"https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&q=80&w=800&h=600"}]}
title="Real Results from Real Clients"
description="Dive deep into how we've helped businesses achieve their goals and overcome their biggest challenges."
/>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Ready to Indulge?"
text="Order online for convenient pickup or delivery, or visit us in-store to experience the irresistible aroma of fresh baking."
primaryButton={{
text: "Place an Order",
href: "#",
}}
secondaryButton={{
text: "Find Our Location",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,42 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Got Questions?"
title="Frequently Asked Questions"
description="Find answers to common questions about our products, ordering, and services."
items={[
{
question: "What are your bakery's operating hours?",
answer: "Our bakery is open from 7:00 AM to 5:00 PM, Tuesday through Sunday. We are closed on Mondays.",
},
{
question: "Do you offer gluten-free or vegan options?",
answer: "Yes, we offer a selection of delicious gluten-free and vegan baked goods. Please check our in-store display or online menu for daily availability.",
},
{
question: "How can I place a custom cake order?",
answer: "For custom cake orders, please visit our 'Custom Orders' page or call us directly. We recommend placing orders at least 1-2 weeks in advance to ensure availability and perfect execution.",
},
{
question: "Do you offer delivery or catering services?",
answer: "Yes, we provide local delivery for online orders and offer catering services for events of all sizes. Contact us for more details and to discuss your specific needs.",
},
{
question: "Where are your ingredients sourced from?",
answer: "We prioritize sourcing fresh, high-quality ingredients from local farms and trusted suppliers within our region whenever possible, supporting our community and ensuring premium taste.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,61 @@
import React from "react";
import Button from "@/components/ui/Button";
import ScrollReveal from "@/components/ui/ScrollReveal";
import TextAnimation from "@/components/ui/TextAnimation";
export default function HomeSection() {
return (
<div data-webild-section="home">
<section id="home" className="relative w-full overflow-hidden flex flex-col items-center justify-center text-center py-20 md:py-32">
<div className="container px-4 md:px-6 z-10">
<ScrollReveal variant="slide-up">
<span className="text-sm uppercase tracking-widest text-muted-foreground mb-4 block">
Welcome to Our Bakery
</span>
</ScrollReveal>
<TextAnimation
text="Start Your Day Right with Oven-Fresh Artisan Breads & Pastries"
variant="slide-up"
gradientText={false}
tag="h1"
className="text-5xl md:text-6xl lg:text-7xl font-bold tracking-tight text-foreground mb-6 max-w-content-width mx-auto"
/>
<ScrollReveal variant="slide-up" delay={0.2}>
<p className="text-lg md:text-xl text-muted-foreground mb-8 max-w-content-width mx-auto">
Handcrafted pastries, custom cakes, and artisan breads using premium ingredients. Order online or visit us today.
</p>
</ScrollReveal>
<ScrollReveal variant="slide-up" delay={0.3}>
<div className="flex flex-col sm:flex-row items-center justify-center gap-4">
<Button text="Order Now" variant="primary" href="/#contact" />
<Button text="Our Menu" variant="secondary" href="/#products" />
</div>
</ScrollReveal>
<ScrollReveal variant="slide-up" delay={0.4}>
<div className="flex w-full max-w-content-width mx-auto h-[300px] md:h-[400px] gap-2 md:gap-4 mt-12">
<div className="group relative flex-1 hover:flex-[3] transition-all duration-500 ease-in-out overflow-hidden rounded-theme shadow-md cursor-pointer">
<img src="https://images.unsplash.com/photo-1509440159596-0249088772ff?w=800&q=80" alt="Freshly baked pastry" className="w-full h-full object-cover" />
</div>
<div className="group relative flex-1 hover:flex-[3] transition-all duration-500 ease-in-out overflow-hidden rounded-theme shadow-md cursor-pointer">
<img src="https://images.unsplash.com/photo-1483695028939-5bb13f8648b0?w=800&q=80" alt="Artisan bread loaf" className="w-full h-full object-cover" />
</div>
<div className="group relative flex-1 hover:flex-[3] transition-all duration-500 ease-in-out overflow-hidden rounded-theme shadow-md cursor-pointer">
<img src="https://images.unsplash.com/photo-1549931319-a545dcf3bc73?w=800&q=80" alt="Sourdough bread" className="w-full h-full object-cover" />
</div>
<div className="group relative flex-1 hover:flex-[3] transition-all duration-500 ease-in-out overflow-hidden rounded-theme shadow-md cursor-pointer">
<img src="https://images.unsplash.com/photo-1550617931-e17a7b70dce2?w=800&q=80" alt="Custom cake" className="w-full h-full object-cover" />
</div>
<div className="group relative flex-1 hover:flex-[3] transition-all duration-500 ease-in-out overflow-hidden rounded-theme shadow-md cursor-pointer">
<img src="https://images.unsplash.com/photo-1608198093002-ad4e005484ec?w=800&q=80" alt="Chocolate chip cookies" className="w-full h-full object-cover" />
</div>
</div>
</ScrollReveal>
</div>
</section>
</div>
);
}

View File

@@ -0,0 +1,17 @@
// Created by add_section_from_catalog (FeaturesDetailedSteps).
import React from 'react';
import FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps';
export default function HowItWorksSection(): React.JSX.Element {
return (
<div data-webild-section="how-it-works" id="how-it-works">
<FeaturesDetailedSteps
title="Get started in 3 simple steps"
steps={[{"tag":"Step 1","imageSrc":"https://images.unsplash.com/photo-1551288049-bebda4e38f71?q=80&w=2070&auto=format&fit=crop","description":"Enter your details and verify your email to get instant access to our platform.","title":"Create your account","subtitle":"Sign up in seconds"},{"subtitle":"Tailor it to your needs","imageSrc":"https://images.unsplash.com/photo-1460925895917-afdab827c52f?q=80&w=2015&auto=format&fit=crop","tag":"Step 2","title":"Configure your workspace","description":"Set up your preferences, invite team members, and connect your favorite tools."},{"subtitle":"See results immediately","imageSrc":"https://images.unsplash.com/photo-1551434678-e076c223a692?q=80&w=2070&auto=format&fit=crop","tag":"Step 3","title":"Start achieving goals","description":"Launch your first project and track your progress with our intuitive dashboard."}]}
description="Our onboarding process is designed to be quick and painless so you can start seeing value immediately."
tag="How It Works"
/>
</div>
);
}

View File

@@ -0,0 +1,18 @@
// Created by add_section_from_catalog (ContactCenter).
import React from 'react';
import ContactCenter from '@/components/sections/contact/ContactCenter';
export default function NewsletterSection(): React.JSX.Element {
return (
<div data-webild-section="newsletter" id="newsletter">
<ContactCenter
inputPlaceholder="Enter your email address"
title="Stay in the Loop"
description="Join our newsletter to get the latest news, updates, and special offers delivered directly to your inbox."
tag="Newsletter"
buttonText="Subscribe"
/>
</div>
);
}

View File

@@ -0,0 +1,17 @@
// Created by add_section_from_catalog (PricingHighlightedCards).
import React from 'react';
import PricingHighlightedCards from '@/components/sections/pricing/PricingHighlightedCards';
export default function PricingSection(): React.JSX.Element {
return (
<div data-webild-section="pricing" id="pricing">
<PricingHighlightedCards
title="Simple, Transparent Pricing"
plans={[{"features":["1 Artisan Loaf per week","Choice of Sourdough or Rye","Free in-store pickup"],"tag":"Basic","primaryButton":{"href":"#","text":"Subscribe Now"},"price":"$15/wk","description":"Perfect for individuals who want fresh bread weekly."},{"highlight":"Most Popular","tag":"Family","description":"Ideal for families who love fresh baked goods.","price":"$35/wk","primaryButton":{"href":"#","text":"Subscribe Now"},"features":["3 Artisan Loaves per week","Assorted Pastries box (4 pcs)","Free local delivery"]},{"features":["Custom cake orders","Large pastry platters","Dedicated catering manager"],"description":"For parties, corporate events, and special occasions.","primaryButton":{"href":"#","text":"Contact Us"},"price":"Custom","tag":"Event"}]}
tag="Pricing"
description="Choose the perfect plan for your daily bread and pastry needs."
/>
</div>
);
}

View File

@@ -0,0 +1,68 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "products" section.
import React from 'react';
import FeaturesRevealCardsBentoSharp from '@/components/sections/features/FeaturesRevealCardsBentoSharp';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBentoSharp
tag="Our Delicious Offerings"
title="Handcrafted Goodness for Every Craving"
description="Explore our wide range of freshly baked delights, from everyday treats to special occasion masterpieces."
primaryButton={{
text: "View Full Menu",
href: "#",
}}
items={[
{
title: "Gourmet Cupcakes",
description: "Indulge in our exquisite cupcakes, baked fresh daily with rich flavors and artful frosting.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/selective-focus-shot-delicious-chocolate-cupcakes-with-white-cream-topping_181624-40986.jpg",
},
{
title: "Classic Cookies",
description: "Discover our irresistible collection of cookies, from chewy chocolate chip to delicate shortbread.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/cup-milk-book-with-biscuits_114579-6086.jpg",
},
{
title: "Artisan Breads",
description: "Savor the crusty perfection of our artisan breads, crafted with traditional methods and natural starters.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/various-baking-supermarket-shelves-sale_627829-7384.jpg",
},
{
title: "Fruit Tarts",
description: "Enjoy the seasonal freshness of our fruit tarts, bursting with flavor and elegantly prepared.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/homemade-delicious-rustic-summer-berry-tartles_114579-10242.jpg",
},
{
title: "Decadent Donuts",
description: "Treat yourself to our fluffy, flavorful donuts, available in a variety of glazes and toppings.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/delicious-homemade-blood-orange-glaze-donuts_114579-19453.jpg",
},
{
title: "Celebration Cakes",
description: "Order a custom cake for your special occasion, designed to impress and delight every guest.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-little-creamy-cake-with-chocolate-cookies-dark-surface-biscuit-cake-sweet-pie-sugar-cookie_140725-118183.jpg",
},
{
title: "Pastries & More",
description: "From flaky croissants to sweet Danish, our pastry selection offers something for everyone.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/bakery-plate-near-cup-drink-jam_23-2148031625.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "social-proof" section.
import React from 'react';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function SocialProofSection(): React.JSX.Element {
return (
<div id="social-proof" data-section="social-proof">
<SectionErrorBoundary name="social-proof">
<SocialProofMarquee
tag="As Seen In"
title="Trusted & Featured in Local Publications"
description="We are proud to be recognized by our community for our commitment to quality and delicious baked goods."
names={[
"City Eats Magazine",
"Local Flavor Blog",
"Foodie Favorites Weekly",
"Neighborhood News",
"Gourmet Guide",
"Sweet Treats Review",
"Bake & Brew Chronicle",
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="What Our Customers Say"
title="Loved by Our Community"
description="Hear from our happy customers who enjoy our fresh baked goods and exceptional service."
testimonials={[
{
name: "Sarah J.",
role: "Local Entrepreneur",
quote: "The Daily Crumb is my go-to for morning pastries! Their croissants are simply divine, and the coffee is always perfect. A true neighborhood gem!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-woman-eating-piece-cake_171337-4080.jpg",
},
{
name: "Michael Chen",
role: "Event Planner",
quote: "We've used The Daily Crumb for several corporate events, and they always exceed expectations. Their custom cakes are not only beautiful but incredibly delicious.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-businessman-eating-croissant-while-listening-music-earphones-outdoor-cafe_637285-3443.jpg",
},
{
name: "Emily R.",
role: "Busy Mom",
quote: "Finding quality, fresh bread for my family used to be a challenge until I discovered this bakery. Their sourdough is a weekly staple in our home!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/celebration-party-lifestyle-concept-dreamy-cute-silly-blond-girl-thinking-what-wish-bitin_1258-115839.jpg",
},
{
name: "David K.",
role: "Retired Teacher",
quote: "The warm, inviting atmosphere makes The Daily Crumb a joy to visit. Their friendly staff and delicious treats make my afternoons brighter.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/tea-cafe_1098-15634.jpg",
},
{
name: "Jessica L.",
role: "Food Blogger",
quote: "As a food enthusiast, I can attest to the exceptional quality and innovative flavors at The Daily Crumb. A must-visit for any bakery lover!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-happy-lady-baker-standing-holding-bread_171337-16136.jpg",
},
{
name: "Alex B.",
role: "Student",
quote: "Their cookies are seriously the best I've ever had! Perfect study snack. Always a warm welcome when I drop by.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-food-truck-owners_329181-20751.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,42 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "why-us" section.
import React from 'react';
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function WhyUsSection(): React.JSX.Element {
return (
<div id="why-us" data-section="why-us">
<SectionErrorBoundary name="why-us">
<FeaturesBentoGrid
tag="Why Choose The Daily Crumb?"
title="The Heart of Our Bakery"
description="Experience the difference that passion, quality ingredients, and artisanal techniques make in every bite."
features={[
{
title: "Fresh, Local Ingredients",
description: "We partner with local farms and suppliers to bring you the freshest, highest quality ingredients.",
imageSrc: "http://img.b2bpic.net/free-photo/bowl-flour-eggs-kitchen-tool-marble-table_114579-31391.jpg",
},
{
title: "Artisanal Craftsmanship",
description: "Our bakers combine time-honored techniques with creative flair, perfecting every recipe.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-baker-hands-kneading-dough_23-2148302953.jpg",
},
{
title: "Custom Creations",
description: "From bespoke wedding cakes to corporate catering, we bring your unique vision to life.",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-elegant-cake-topper_23-2149232352.jpg",
},
{
title: "Community Focused",
description: "More than just a bakery, we're a beloved local hub where friends and family gather.",
imageSrc: "http://img.b2bpic.net/free-photo/influencers-taking-photo-sweets-market_23-2149284359.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -6,4 +6,5 @@ export interface Route {
export const routes: Route[] = [
{ path: '/', label: 'Home', pageFile: 'HomePage' },
{ path: '/book-now', label: 'Book Now', pageFile: 'BookNowPage' },
];