406 lines
14 KiB
TypeScript
406 lines
14 KiB
TypeScript
"use client";
|
|
|
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
|
import ReactLenis from "lenis/react";
|
|
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
|
import FaqBase from '@/components/sections/faq/FaqBase';
|
|
import FeatureCardMedia from '@/components/sections/feature/FeatureCardMedia';
|
|
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
|
import HeroBillboardTestimonial from '@/components/sections/hero/HeroBillboardTestimonial';
|
|
import MediaAbout from '@/components/sections/about/MediaAbout';
|
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
|
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
|
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
|
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
|
|
|
|
export default function LandingPage() {
|
|
return (
|
|
<ThemeProvider
|
|
defaultButtonVariant="shift-hover"
|
|
defaultTextAnimation="background-highlight"
|
|
borderRadius="pill"
|
|
contentWidth="smallMedium"
|
|
sizing="medium"
|
|
background="noise"
|
|
cardStyle="soft-shadow"
|
|
primaryButtonStyle="flat"
|
|
secondaryButtonStyle="solid"
|
|
headingFontWeight="bold"
|
|
>
|
|
<ReactLenis root>
|
|
<div id="nav" data-section="nav">
|
|
<NavbarLayoutFloatingOverlay
|
|
navItems={[
|
|
{
|
|
name: "Home",
|
|
id: "home",
|
|
},
|
|
{
|
|
name: "About",
|
|
id: "about",
|
|
},
|
|
{
|
|
name: "Menu",
|
|
id: "menu",
|
|
},
|
|
{
|
|
name: "Contact",
|
|
id: "contact",
|
|
},
|
|
]}
|
|
brandName="FrenchParadox"
|
|
/>
|
|
</div>
|
|
|
|
<div id="home" data-section="home">
|
|
<HeroBillboardTestimonial
|
|
background={{
|
|
variant: "gradient-bars",
|
|
}}
|
|
title="Le Paradoxe Français: Tradition & Effervescence"
|
|
description="Where the rich, rustic elegance of artisanal duck meets the sophisticated sparkle of hand-selected champagnes."
|
|
testimonials={[
|
|
{
|
|
name: "Jean-Luc Martin",
|
|
handle: "@jl_martin",
|
|
testimonial: "The best duck confit I have ever experienced outside of Perigord.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-sparkling-champagne-glasses_23-2148356450.jpg",
|
|
imageAlt: "gourmet duck dish fine dining",
|
|
},
|
|
{
|
|
name: "Sophie Dubois",
|
|
handle: "@sophie_d",
|
|
testimonial: "A perfectly curated wine list that elevates every dish to a celebration.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/rustic-deck-with-patio-furniture-vegetation_23-2150698464.jpg",
|
|
imageAlt: "gourmet duck dish fine dining",
|
|
},
|
|
{
|
|
name: "Claire Lefebvre",
|
|
handle: "@claire_l",
|
|
testimonial: "Sophisticated yet comfortable atmosphere, perfect for intimate dinners.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/cooked-lamb-ribs-front-view_23-2148516965.jpg",
|
|
imageAlt: "gourmet duck dish fine dining",
|
|
},
|
|
{
|
|
name: "Marc Antoine",
|
|
handle: "@marc_a",
|
|
testimonial: "Incredible attention to detail in every plate served.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/festive-bottle-champagne_23-2147992601.jpg",
|
|
imageAlt: "gourmet duck dish fine dining",
|
|
},
|
|
{
|
|
name: "Isabelle Renoir",
|
|
handle: "@isa_r",
|
|
testimonial: "An authentic French experience in the heart of the city.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/grilled-meat-with-spices-tomato-slices-teriyaki-sauce_114579-3348.jpg",
|
|
imageAlt: "gourmet duck dish fine dining",
|
|
},
|
|
]}
|
|
imageSrc="http://img.b2bpic.net/free-photo/close-up-sparkling-champagne-glasses_23-2148356450.jpg"
|
|
mediaAnimation="slide-up"
|
|
avatars={[
|
|
{
|
|
src: "http://img.b2bpic.net/free-photo/couple-restaurant_23-2148006698.jpg",
|
|
alt: "Customer 1",
|
|
},
|
|
{
|
|
src: "http://img.b2bpic.net/free-photo/family-gathering-with-gay-partners_23-2151077662.jpg",
|
|
alt: "Customer 2",
|
|
},
|
|
{
|
|
src: "http://img.b2bpic.net/free-photo/group-young-friends-having-wine-together_23-2148454148.jpg",
|
|
alt: "Customer 3",
|
|
},
|
|
{
|
|
src: "http://img.b2bpic.net/free-photo/couple-having-date-together-luxurious-restaurant_23-2150517423.jpg",
|
|
alt: "Customer 4",
|
|
},
|
|
{
|
|
src: "http://img.b2bpic.net/free-photo/modern-couple-romantic-dinner_23-2148025326.jpg",
|
|
alt: "Customer 5",
|
|
},
|
|
]}
|
|
marqueeItems={[
|
|
{
|
|
type: "text",
|
|
text: "Artisanal Duck",
|
|
},
|
|
{
|
|
type: "text",
|
|
text: "Grand Cru Champagne",
|
|
},
|
|
{
|
|
type: "text",
|
|
text: "Fine Dining",
|
|
},
|
|
{
|
|
type: "text",
|
|
text: "Heritage Cuisine",
|
|
},
|
|
{
|
|
type: "text",
|
|
text: "Rustic Elegance",
|
|
},
|
|
]}
|
|
/>
|
|
</div>
|
|
|
|
<div id="about" data-section="about">
|
|
<MediaAbout
|
|
useInvertedBackground={false}
|
|
title="A Legacy of Flavor"
|
|
description="Born from a passion for regional French gastronomy, FrenchParadox marries ancestral duck preparation techniques with the refined, crisp brilliance of premier champagne houses. Every ingredient is sourced with care, ensuring that every bite and every sip tells a story of heritage and quality."
|
|
imageSrc="http://img.b2bpic.net/free-photo/rustic-deck-with-patio-furniture-vegetation_23-2150698464.jpg"
|
|
/>
|
|
</div>
|
|
|
|
<div id="menu" data-section="menu">
|
|
<ProductCardFour
|
|
animationType="slide-up"
|
|
textboxLayout="split-description"
|
|
gridVariant="asymmetric-60-wide-40-narrow"
|
|
useInvertedBackground={true}
|
|
products={[
|
|
{
|
|
id: "p1",
|
|
name: "Duck Confit Parmentier",
|
|
price: "28€",
|
|
variant: "Signature",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/cooked-lamb-ribs-front-view_23-2148516965.jpg",
|
|
},
|
|
{
|
|
id: "p2",
|
|
name: "Brut Vintage Selection",
|
|
price: "120€",
|
|
variant: "Champagne",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/festive-bottle-champagne_23-2147992601.jpg",
|
|
},
|
|
{
|
|
id: "p3",
|
|
name: "Foie Gras Terrine",
|
|
price: "24€",
|
|
variant: "Appetizer",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/grilled-meat-with-spices-tomato-slices-teriyaki-sauce_114579-3348.jpg",
|
|
},
|
|
{
|
|
id: "p4",
|
|
name: "Magret de Canard Rôti",
|
|
price: "32€",
|
|
variant: "Main",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/fried-eggplant-with-tomatoes-sesame-seeds-plate_140725-9191.jpg",
|
|
},
|
|
{
|
|
id: "p5",
|
|
name: "Blanc de Blancs Grand Cru",
|
|
price: "145€",
|
|
variant: "Champagne",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-smiley-woman-holding-giant-bottle_23-2150040316.jpg",
|
|
},
|
|
{
|
|
id: "p6",
|
|
name: "Duck Rillettes Jar",
|
|
price: "18€",
|
|
variant: "Appetizer",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/steak-duck_74190-2967.jpg",
|
|
},
|
|
]}
|
|
title="From the Bistro"
|
|
description="A curated selection of signature duck delicacies and exquisite champagnes."
|
|
/>
|
|
</div>
|
|
|
|
<div id="features" data-section="features">
|
|
<FeatureCardMedia
|
|
animationType="slide-up"
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
features={[
|
|
{
|
|
id: "f1",
|
|
title: "Artisanal Sourcing",
|
|
description: "We partner directly with traditional farms to ensure every duck product is of the highest quality.",
|
|
tag: "Quality",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/top-view-sprinkled-flour-circle-tomatoes-onions-rice-wooden-spoon-coriander-table-free-space_140725-147729.jpg",
|
|
},
|
|
{
|
|
id: "f2",
|
|
title: "Champagne Expertise",
|
|
description: "Our sommeliers carefully curate bottles that pair perfectly with the richness of duck.",
|
|
tag: "Expertise",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/composition-with-delicious-thai-tea_23-2148994326.jpg",
|
|
},
|
|
{
|
|
id: "f3",
|
|
title: "Classic Bistro Vibe",
|
|
description: "Authentic, cozy bistro atmosphere that brings the spirit of Paris to you.",
|
|
tag: "Ambiance",
|
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-male-chef-preparing-spaghetti-dish_23-2147863804.jpg",
|
|
},
|
|
]}
|
|
title="Why FrenchParadox?"
|
|
description="Excellence in every detail, from farm to table."
|
|
/>
|
|
</div>
|
|
|
|
<div id="testimonials" data-section="testimonials">
|
|
<TestimonialCardThirteen
|
|
animationType="slide-up"
|
|
textboxLayout="default"
|
|
useInvertedBackground={true}
|
|
testimonials={[
|
|
{
|
|
id: "t1",
|
|
name: "Alice M.",
|
|
handle: "@alicem",
|
|
testimonial: "Exceptional quality and service. A must-visit.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-couple-with-delicious-food_23-2148972769.jpg",
|
|
},
|
|
{
|
|
id: "t2",
|
|
name: "Robert D.",
|
|
handle: "@robertd",
|
|
testimonial: "The best duck in town, paired wonderfully with their champagne menu.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/young-smiling-lovers-looking-each-other-have-romantic-dinner-with-wine-food_171337-676.jpg",
|
|
},
|
|
{
|
|
id: "t3",
|
|
name: "Elise P.",
|
|
handle: "@elisep",
|
|
testimonial: "An incredible atmosphere. The service was impeccable.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/female-waitress-serving-cocktail-female-customer-wooden-table_23-2147936268.jpg",
|
|
},
|
|
{
|
|
id: "t4",
|
|
name: "Julian S.",
|
|
handle: "@julians",
|
|
testimonial: "Authentic and refined. Will definitely return.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/smiling-portrait-young-woman-holding-muffin-hand-looking-away_23-2147974651.jpg",
|
|
},
|
|
{
|
|
id: "t5",
|
|
name: "Sarah T.",
|
|
handle: "@saraht",
|
|
testimonial: "The champagne selection is simply divine.",
|
|
rating: 5,
|
|
imageSrc: "http://img.b2bpic.net/free-photo/couple-having-date-together-luxurious-restaurant_23-2150517424.jpg",
|
|
},
|
|
]}
|
|
showRating={true}
|
|
title="Guest Perspectives"
|
|
description="What our guests are saying about their dining experience."
|
|
/>
|
|
</div>
|
|
|
|
<div id="social-proof" data-section="social-proof">
|
|
<SocialProofOne
|
|
textboxLayout="default"
|
|
useInvertedBackground={false}
|
|
names={[
|
|
"Michelin Guide",
|
|
"TripAdvisor",
|
|
"Gault & Millau",
|
|
"Vinous Media",
|
|
"La French Tech",
|
|
"Tasting Table",
|
|
"Epicurious",
|
|
]}
|
|
title="Recognized by"
|
|
description="Trusted by leading culinary guides and publications."
|
|
/>
|
|
</div>
|
|
|
|
<div id="faq" data-section="faq">
|
|
<FaqBase
|
|
textboxLayout="default"
|
|
useInvertedBackground={true}
|
|
faqs={[
|
|
{
|
|
id: "q1",
|
|
title: "Do I need a reservation?",
|
|
content: "Yes, we highly recommend booking in advance to ensure your table.",
|
|
},
|
|
{
|
|
id: "q2",
|
|
title: "Do you offer vegetarian options?",
|
|
content: "While we specialize in duck, we have a selection of gourmet vegetable-based sides.",
|
|
},
|
|
{
|
|
id: "q3",
|
|
title: "Is the restaurant wheelchair accessible?",
|
|
content: "Yes, our facility is fully accessible to all guests.",
|
|
},
|
|
]}
|
|
title="Frequent Questions"
|
|
description="Common inquiries about our menu and reservations."
|
|
faqsAnimation="slide-up"
|
|
/>
|
|
</div>
|
|
|
|
<div id="contact" data-section="contact">
|
|
<ContactSplit
|
|
useInvertedBackground={false}
|
|
background={{
|
|
variant: "rotated-rays-static",
|
|
}}
|
|
tag="Visit Us"
|
|
title="Book Your Experience"
|
|
description="Reserve a table or contact us for private events."
|
|
imageSrc="http://img.b2bpic.net/free-photo/woman-cafe-pink-flowers_23-2151976279.jpg"
|
|
mediaAnimation="slide-up"
|
|
inputPlaceholder="Your email address"
|
|
buttonText="Inquire Now"
|
|
/>
|
|
</div>
|
|
|
|
<div id="footer" data-section="footer">
|
|
<FooterBaseReveal
|
|
logoText="FrenchParadox"
|
|
columns={[
|
|
{
|
|
title: "Restaurant",
|
|
items: [
|
|
{
|
|
label: "About Us",
|
|
href: "#about",
|
|
},
|
|
{
|
|
label: "Our Menu",
|
|
href: "#menu",
|
|
},
|
|
{
|
|
label: "Contact",
|
|
href: "#contact",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: "Legal",
|
|
items: [
|
|
{
|
|
label: "Privacy Policy",
|
|
href: "#",
|
|
},
|
|
{
|
|
label: "Terms of Service",
|
|
href: "#",
|
|
},
|
|
],
|
|
},
|
|
]}
|
|
copyrightText="© 2024 FrenchParadox. All rights reserved."
|
|
/>
|
|
</div>
|
|
</ReactLenis>
|
|
</ThemeProvider>
|
|
);
|
|
}
|