160 lines
8.2 KiB
TypeScript
160 lines
8.2 KiB
TypeScript
"use client";
|
|
|
|
import ReactLenis, { useLenis } from "lenis/react";
|
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
|
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
|
|
import HeroSplitDoubleCarousel from "@/components/sections/hero/HeroSplitDoubleCarousel";
|
|
import FeatureBento from "@/components/sections/feature/FeatureBento";
|
|
import FeatureCardSixteen from "@/components/sections/feature/FeatureCardSixteen";
|
|
import PricingCardFive from "@/components/sections/pricing/PricingCardFive";
|
|
import FaqBase from "@/components/sections/faq/FaqBase";
|
|
import ContactCTA from "@/components/sections/contact/ContactCTA";
|
|
import FooterBase from "@/components/sections/footer/FooterBase";
|
|
import TestimonialCardTwelve from "@/components/sections/testimonial/TestimonialCardTwelve";
|
|
import { Sparkles, Utensils, Award, Smile, Star } from "lucide-react";
|
|
|
|
export default function BuffetPage() {
|
|
const lenis = useLenis();
|
|
|
|
const handleScroll = (id: string) => {
|
|
if (!id) return;
|
|
const targetId = id.replace(/^#+/, "");
|
|
const element = document.getElementById(targetId);
|
|
if (element && lenis) {
|
|
lenis.scrollTo(element);
|
|
} else {
|
|
const target = document.getElementById(targetId);
|
|
if (target) {
|
|
target.scrollIntoView({ behavior: "smooth" });
|
|
}
|
|
}
|
|
};
|
|
|
|
return (
|
|
<ThemeProvider
|
|
defaultButtonVariant="text-stagger"
|
|
defaultTextAnimation="entrance-slide"
|
|
borderRadius="pill"
|
|
contentWidth="medium"
|
|
sizing="medium"
|
|
background="none"
|
|
cardStyle="glass-elevated"
|
|
primaryButtonStyle="gradient"
|
|
secondaryButtonStyle="glass"
|
|
headingFontWeight="medium"
|
|
>
|
|
<ReactLenis root>
|
|
<NavbarLayoutFloatingOverlay
|
|
brandName="Epicure Buffet"
|
|
navItems={[
|
|
{ name: "Menu", id: "menu" },
|
|
{ name: "Pricing", id: "pricing" },
|
|
{ name: "Experience", id: "about" },
|
|
{ name: "Reserve", id: "contact" },
|
|
]}
|
|
button={{
|
|
text: "Book Now",
|
|
onClick: () => handleScroll("#contact")
|
|
}}
|
|
/>
|
|
<div id="home"><HeroSplitDoubleCarousel
|
|
title="A Global Feast, Fresh Daily"
|
|
description="Indulge in an endless variety of premium sushi, fresh-caught seafood, and chef-curated international cuisines. Always freshly refilled for your perfect dining experience."
|
|
tag="🔥 87 people dining right now"
|
|
tagIcon={Sparkles}
|
|
tagAnimation="slide-up"
|
|
background={{ variant: "canvas-reveal" }}
|
|
buttons={[
|
|
{ text: "Reserve Your Table", onClick: () => handleScroll("#contact") },
|
|
{ text: "View Menu", onClick: () => handleScroll("#menu") },
|
|
]}
|
|
buttonAnimation="slide-up"
|
|
carouselPosition="right"
|
|
leftCarouselItems={[
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/sushi-with-variety-fish-delivery-sushi-package-different-types-rolls_132075-14235.jpg", imageAlt: "Freshly prepared sushi rolls" },
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/crawfish-plate_23-2150346588.jpg", imageAlt: "Premium crab and shrimp" },
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/square-slice-chocolate-cheesecake_114579-16589.jpg", imageAlt: "Decadent dessert selection" },
|
|
]}
|
|
rightCarouselItems={[
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/life-style_1122-1851.jpg", imageAlt: "Family dining atmosphere" },
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/waiter-carries-dish-with-snacks-walking-backyard_8353-9017.jpg", imageAlt: "Live refill stations" },
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/male-chef-kitchen-cooking_23-2148934672.jpg", imageAlt: "Chef at work" },
|
|
]}
|
|
carouselItemClassName="!aspect-[4/5]"
|
|
/></div>
|
|
<div id="menu"><FeatureBento
|
|
title="The Epicure Experience"
|
|
description="We combine culinary variety with premium service to redefine the buffet concept."
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
animationType="slide-up"
|
|
features={[
|
|
{ bentoComponent: "reveal-icon", title: "Live Refill Stations", description: "Our chefs monitor every tray, ensuring hot food is served at the perfect temperature.", icon: Utensils },
|
|
{ bentoComponent: "reveal-icon", title: "Always Fresh", description: "Sourcing premium seafood and seasonal produce daily for quality you can taste.", mediaStack: [
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/vegetables-stall-market-sanarysurmer_268835-3890.jpg", imageAlt: "Fresh ingredients" },
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/vegetables-stall-market-sanarysurmer_268835-3890.jpg", imageAlt: "Fresh ingredients" },
|
|
{ imageSrc: "http://img.b2bpic.net/free-photo/vegetables-stall-market-sanarysurmer_268835-3890.jpg", imageAlt: "Fresh ingredients" }
|
|
] },
|
|
{ bentoComponent: "reveal-icon", title: "Improved Desserts", description: "Discover our expanded dessert bar with artisan pastries and seasonal fruits.", icon: Smile }
|
|
]}
|
|
/></div>
|
|
<div id="pricing"><PricingCardFive
|
|
title="Transparent Value"
|
|
description="Choose the perfect dining time for you and your family."
|
|
textboxLayout="split-actions"
|
|
animationType="slide-up"
|
|
useInvertedBackground={false}
|
|
plans={[
|
|
{ id: "lunch", tag: "Most Popular", tagIcon: Star, price: "$15.99", description: "Full access to our lunch selection until 4:00 PM.", button: { text: "Reserve Lunch", onClick: () => handleScroll("#contact") }, features: ["All Lunch Stations", "Soft Drinks", "Fresh Sushi Bar"] },
|
|
{ id: "dinner", tag: "Premium Choice", tagIcon: Award, price: "$29.99", description: "Complete dinner experience with full seafood bar.", button: { text: "Reserve Dinner", onClick: () => handleScroll("#contact") }, features: ["All Lunch Features", "Premium Crab Legs", "Chef Specials"] }
|
|
]}
|
|
/></div>
|
|
<div id="about"><TestimonialCardTwelve
|
|
cardTitle="Join 10,000+ Happy Guests"
|
|
cardTag="Testimonials"
|
|
cardTagIcon={Star}
|
|
cardAnimation="slide-up"
|
|
useInvertedBackground={true}
|
|
testimonials={[
|
|
{ id: "1", name: "Sarah Jenkins", imageSrc: "http://img.b2bpic.net/free-photo/happy-woman-enjoying-dining-table-while-communicating-with-her-husband_637285-3516.jpg" },
|
|
{ id: "2", name: "Mark Thompson", imageSrc: "http://img.b2bpic.net/free-photo/portrait-happy-young-man_23-2148213458.jpg" }
|
|
]}
|
|
/></div>
|
|
<FeatureCardSixteen
|
|
title="Our Commitment to Excellence"
|
|
description="We prioritize your satisfaction above all else."
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
animationType="slide-up"
|
|
negativeCard={{ items: ["Cold dishes in the past", "Long queues"] }}
|
|
positiveCard={{ items: ["Steaming hot food always", "Live kitchen support"] }}
|
|
/>
|
|
<FaqBase
|
|
title="Frequently Asked Questions"
|
|
description="Have questions about your reservation?"
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
faqsAnimation="slide-up"
|
|
faqs={[
|
|
{ id: "1", title: "Do you offer senior discounts?", content: "Yes, we offer special rates for seniors available during our lunch hours upon request." }
|
|
]}
|
|
/>
|
|
<div id="contact"><ContactCTA
|
|
tag="Hurry, Seats Filling Fast"
|
|
title="Join Us Tonight"
|
|
description="Urgency Alert: Peak hours filling up. Book now to guarantee your spot for an exceptional evening."
|
|
background={{ variant: "rotated-rays-animated" }}
|
|
buttons={[
|
|
{ text: "Reserve Now", onClick: () => handleScroll("#contact") }
|
|
]}
|
|
buttonAnimation="slide-up"
|
|
useInvertedBackground={false}
|
|
/></div>
|
|
<FooterBase
|
|
logoText="Epicure Buffet"
|
|
columns={[{ title: "Dining", items: [{ label: "Lunch Menu", href: "#" }] }]}
|
|
/>
|
|
</ReactLenis>
|
|
</ThemeProvider>
|
|
);
|
|
} |