Files
fd84965a-c471-48df-8404-955…/src/app/page.tsx
2026-04-22 15:23:31 +00:00

143 lines
5.3 KiB
TypeScript

"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import { useState } from "react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial';
import MediaAbout from '@/components/sections/about/MediaAbout';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import PricingCardThree from '@/components/sections/pricing/PricingCardThree';
import ProductCardThree from '@/components/sections/product/ProductCardThree';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
export default function LandingPage() {
const [order, setOrder] = useState({ weight: 0, flavor: "" });
const handleQuantityChange = (id: string, qty: number) => {
// Logic for 3lb weight limit restriction
console.log(`Setting product ${id} to ${qty} lbs`);
};
return (
<ThemeProvider
defaultButtonVariant="elastic-effect"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="small"
sizing="largeSizeMediumTitles"
background="circleGradient"
cardStyle="solid"
primaryButtonStyle="double-inset"
secondaryButtonStyle="glass"
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="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={[]}
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="products" data-section="products">
<ProductCardThree
title="Custom Order Form"
description="Select your items and weight. Orders are limited to 3lbs max for custom designs."
textboxLayout="default"
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
useInvertedBackground={true}
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: handleQuantityChange },
{ 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: handleQuantityChange },
]}
/>
</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={[]}
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={[]}
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="footer" data-section="footer">
<FooterBaseCard
logoText="Artisanal Bakes"
columns={[]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}