6 Commits

Author SHA1 Message Date
95d5f4609a Merge version_2 into main
Merge version_2 into main
2026-06-09 22:46:11 +00:00
91b5e5ec9d Update src/app/page.tsx 2026-06-09 22:46:05 +00:00
0c228d2af5 Merge version_2 into main
Merge version_2 into main
2026-06-09 22:45:44 +00:00
99cc56da53 Update src/app/styles/variables.css 2026-06-09 22:45:41 +00:00
65fcd981c7 Update src/app/styles/base.css 2026-06-09 22:45:40 +00:00
90e3683e95 Update src/app/page.tsx 2026-06-09 22:45:40 +00:00
3 changed files with 80 additions and 254 deletions

View File

@@ -32,33 +32,19 @@ export default function LandingPage() {
<NavbarStyleApple <NavbarStyleApple
navItems={[ navItems={[
{ {
name: "Home", name: "Home", id: "#home"},
id: "#home",
},
{ {
name: "About", name: "About", id: "#about"},
id: "#about",
},
{ {
name: "Menu", name: "Menu", id: "#menu"},
id: "#menu",
},
{ {
name: "Reviews", name: "Reviews", id: "#reviews"},
id: "#reviews",
},
{ {
name: "Team", name: "Team", id: "#team"},
id: "#team",
},
{ {
name: "FAQ", name: "FAQ", id: "#faq"},
id: "#faq",
},
{ {
name: "Contact", name: "Contact", id: "#contact"},
id: "#contact",
},
]} ]}
brandName="Penida" brandName="Penida"
/> />
@@ -67,41 +53,22 @@ export default function LandingPage() {
<div id="home" data-section="home"> <div id="home" data-section="home">
<HeroBillboardRotatedCarousel <HeroBillboardRotatedCarousel
background={{ background={{
variant: "rotated-rays-animated", variant: "rotated-rays-animated"}}
}}
title="Experience Exquisite French Dining" title="Experience Exquisite French Dining"
description="Penida: Where Culinary Artistry Meets the Mediterranean Charm of Toulon." description="Penida: Where Culinary Artistry Meets the Mediterranean Charm of Toulon."
carouselItems={[ carouselItems={[
{ {
id: "hc-1", id: "hc-1", imageSrc: "http://img.b2bpic.net/free-photo/top-view-cooked-squashes-designed-meal-inside-plate-grey-surface_140725-89987.jpg", imageAlt: "Elegant French dining room"},
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cooked-squashes-designed-meal-inside-plate-grey-surface_140725-89987.jpg",
imageAlt: "Elegant French dining room",
},
{ {
id: "hc-2", id: "hc-2", imageSrc: "http://img.b2bpic.net/free-photo/woman-cooking-tomahawk-beef-steak-gourmet-dish-stove_482257-121134.jpg", imageAlt: "Exquisite French dish presentation"},
imageSrc: "http://img.b2bpic.net/free-photo/woman-cooking-tomahawk-beef-steak-gourmet-dish-stove_482257-121134.jpg",
imageAlt: "Exquisite French dish presentation",
},
{ {
id: "hc-3", id: "hc-3", imageSrc: "http://img.b2bpic.net/free-photo/vintage-wooden-old-closeup-wine_1203-6334.jpg", imageAlt: "Sommelier pouring fine French wine"},
imageSrc: "http://img.b2bpic.net/free-photo/vintage-wooden-old-closeup-wine_1203-6334.jpg",
imageAlt: "Sommelier pouring fine French wine",
},
{ {
id: "hc-4", id: "hc-4", imageSrc: "http://img.b2bpic.net/free-photo/young-couple-drinking-wine-holding-hands-table_23-2148014465.jpg", imageAlt: "Romantic table setting with candles"},
imageSrc: "http://img.b2bpic.net/free-photo/young-couple-drinking-wine-holding-hands-table_23-2148014465.jpg",
imageAlt: "Romantic table setting with candles",
},
{ {
id: "hc-5", id: "hc-5", imageSrc: "http://img.b2bpic.net/free-photo/volcano-chocolate-soufle-served-with-vanilla-ice-cream-with-raspberry-syrup_140725-492.jpg", imageAlt: "Artistic French dessert creation"},
imageSrc: "http://img.b2bpic.net/free-photo/volcano-chocolate-soufle-served-with-vanilla-ice-cream-with-raspberry-syrup_140725-492.jpg",
imageAlt: "Artistic French dessert creation",
},
{ {
id: "hc-6", id: "hc-6", imageSrc: "http://img.b2bpic.net/free-photo/rudolfinum-prague_1398-2747.jpg", imageAlt: "Charming Penida restaurant exterior"},
imageSrc: "http://img.b2bpic.net/free-photo/rudolfinum-prague_1398-2747.jpg",
imageAlt: "Charming Penida restaurant exterior",
},
]} ]}
autoPlay={true} autoPlay={true}
autoPlayInterval={4000} autoPlayInterval={4000}
@@ -113,23 +80,15 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
heading={[ heading={[
{ {
type: "text", type: "text", content: "Our Story, Our Passion: "},
content: "Our Story, Our Passion: ",
},
{ {
type: "image", type: "image", src: "http://img.b2bpic.net/free-photo/front-view-female-cook-rolling-out-dough-dark-job-pastry-pie-bakery-cooking-biscuit-dough-bake_179666-43925.jpg", alt: "Chef preparing a dish"},
src: "http://img.b2bpic.net/free-photo/front-view-female-cook-rolling-out-dough-dark-job-pastry-pie-bakery-cooking-biscuit-dough-bake_179666-43925.jpg",
alt: "Chef preparing a dish",
},
{ {
type: "text", type: "text", content: "A Culinary Journey from Toulon"},
content: "A Culinary Journey from Toulon",
},
]} ]}
buttons={[ buttons={[
{ {
text: "Learn More", text: "Learn More"},
},
]} ]}
/> />
</div> </div>
@@ -142,29 +101,11 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
features={[ features={[
{ {
title: "Seasonal Menu", title: "Seasonal Menu", description: "Savor dishes crafted from the freshest seasonal produce, ensuring a unique taste experience with every visit.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-female-cook-cutting-tangerines-dark-cooking-salad-health-vegetable-meal-food-fruit-job-diet_179666-43845.jpg", imageAlt: "Fresh seasonal produce", titleImageSrc: "http://img.b2bpic.net/free-photo/soup-amidst-vegetables-spoons_23-2147867449.jpg", buttonText: "View Current Menu"},
description: "Savor dishes crafted from the freshest seasonal produce, ensuring a unique taste experience with every visit.",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-female-cook-cutting-tangerines-dark-cooking-salad-health-vegetable-meal-food-fruit-job-diet_179666-43845.jpg",
imageAlt: "Fresh seasonal produce",
titleImageSrc: "http://img.b2bpic.net/free-photo/soup-amidst-vegetables-spoons_23-2147867449.jpg",
buttonText: "View Current Menu",
},
{ {
title: "Expert Wine Pairings", title: "Expert Wine Pairings", description: "Our sommelier curates the perfect wine to complement your meal, enhancing every flavor and aroma.", imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-dark-grey-background_329181-12702.jpg?_wi=1", imageAlt: "Sommelier pouring wine", titleImageSrc: "http://img.b2bpic.net/free-photo/festive-plump-male-suit-bow-tie-drinks-craft-beer_613910-13642.jpg", buttonText: "Explore Wine List"},
description: "Our sommelier curates the perfect wine to complement your meal, enhancing every flavor and aroma.",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-dark-grey-background_329181-12702.jpg",
imageAlt: "Sommelier pouring wine",
titleImageSrc: "http://img.b2bpic.net/free-photo/festive-plump-male-suit-bow-tie-drinks-craft-beer_613910-13642.jpg",
buttonText: "Explore Wine List",
},
{ {
title: "Charming Ambiance", title: "Charming Ambiance", description: "Dine in an elegant and intimate setting that captures the essence of French sophistication, perfect for any occasion.", imageSrc: "http://img.b2bpic.net/free-photo/wedding-hall-with-white-wooden-furniture-interior_114579-2232.jpg", imageAlt: "Elegant restaurant interior", titleImageSrc: "http://img.b2bpic.net/free-photo/couple-drinking-wine-holding-hands-table_23-2148014466.jpg", buttonText: "Discover Our Space"},
description: "Dine in an elegant and intimate setting that captures the essence of French sophistication, perfect for any occasion.",
imageSrc: "http://img.b2bpic.net/free-photo/wedding-hall-with-white-wooden-furniture-interior_114579-2232.jpg",
imageAlt: "Elegant restaurant interior",
titleImageSrc: "http://img.b2bpic.net/free-photo/couple-drinking-wine-holding-hands-table_23-2148014466.jpg",
buttonText: "Discover Our Space",
},
]} ]}
title="Signature Experiences at Penida" title="Signature Experiences at Penida"
description="Discover what makes dining at Penida an unforgettable journey through exquisite French cuisine and refined service." description="Discover what makes dining at Penida an unforgettable journey through exquisite French cuisine and refined service."
@@ -179,53 +120,17 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
products={[ products={[
{ {
id: "p-1", id: "p-1", name: "Duck Confit", price: "€28", variant: "Main Course", imageSrc: "http://img.b2bpic.net/free-photo/grilled-lamb-ribs-dish-close-up_23-2148516963.jpg", imageAlt: "Duck Confit"},
name: "Duck Confit",
price: "€28",
variant: "Main Course",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-lamb-ribs-dish-close-up_23-2148516963.jpg",
imageAlt: "Duck Confit",
},
{ {
id: "p-2", id: "p-2", name: "Bouillabaisse", price: "€32", variant: "Main Course", imageSrc: "http://img.b2bpic.net/free-photo/vegetable-soup-with-orange-fresh-table_140725-5610.jpg", imageAlt: "Bouillabaisse"},
name: "Bouillabaisse",
price: "€32",
variant: "Main Course",
imageSrc: "http://img.b2bpic.net/free-photo/vegetable-soup-with-orange-fresh-table_140725-5610.jpg",
imageAlt: "Bouillabaisse",
},
{ {
id: "p-3", id: "p-3", name: "Beef Bourguignon", price: "€29", variant: "Main Course", imageSrc: "http://img.b2bpic.net/free-photo/top-view-from-afar-food-bowl-appetizing-potatoes-mushrooms-bowl-fork-left-side-dark-table_140725-118617.jpg", imageAlt: "Beef Bourguignon"},
name: "Beef Bourguignon",
price: "€29",
variant: "Main Course",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-from-afar-food-bowl-appetizing-potatoes-mushrooms-bowl-fork-left-side-dark-table_140725-118617.jpg",
imageAlt: "Beef Bourguignon",
},
{ {
id: "p-4", id: "p-4", name: "Crème Brûlée", price: "€12", variant: "Dessert", imageSrc: "http://img.b2bpic.net/free-photo/dessert-creme-brulee-with-figs-currants-orange-tray-light-stone-background-autumn-composition_127032-2650.jpg", imageAlt: "Crème Brûlée"},
name: "Crème Brûlée",
price: "€12",
variant: "Dessert",
imageSrc: "http://img.b2bpic.net/free-photo/dessert-creme-brulee-with-figs-currants-orange-tray-light-stone-background-autumn-composition_127032-2650.jpg",
imageAlt: "Crème Brûlée",
},
{ {
id: "p-5", id: "p-5", name: "Tarte Tatin", price: "€11", variant: "Dessert", imageSrc: "http://img.b2bpic.net/free-photo/homemade-tarte-tatin-pie-with-apples-nuts-beige-background-french-apple-pie-selective-focus_127032-2724.jpg", imageAlt: "Tarte Tatin"},
name: "Tarte Tatin",
price: "€11",
variant: "Dessert",
imageSrc: "http://img.b2bpic.net/free-photo/homemade-tarte-tatin-pie-with-apples-nuts-beige-background-french-apple-pie-selective-focus_127032-2724.jpg",
imageAlt: "Tarte Tatin",
},
{ {
id: "p-6", id: "p-6", name: "Chocolate Mousse", price: "€10", variant: "Dessert", imageSrc: "http://img.b2bpic.net/free-photo/delicious-chocolate-mousse-panna-cotta-with-blueberries-blueberries-dark-fabric-background_127032-2666.jpg", imageAlt: "Chocolate Mousse"},
name: "Chocolate Mousse",
price: "€10",
variant: "Dessert",
imageSrc: "http://img.b2bpic.net/free-photo/delicious-chocolate-mousse-panna-cotta-with-blueberries-blueberries-dark-fabric-background_127032-2666.jpg",
imageAlt: "Chocolate Mousse",
},
]} ]}
title="Our Exquisite Menu" title="Our Exquisite Menu"
description="A symphony of traditional French flavors with a modern twist, prepared with passion and precision." description="A symphony of traditional French flavors with a modern twist, prepared with passion and precision."
@@ -240,53 +145,23 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
testimonials={[ testimonials={[
{ {
id: "t-1", id: "t-1", name: "Isabelle Dubois", role: "Food Critic", company: "Taste of Provence", rating: 5,
name: "Isabelle Dubois", imageSrc: "http://img.b2bpic.net/free-photo/couple-having-date-together-luxurious-restaurant_23-2150517423.jpg", imageAlt: "Isabelle Dubois"},
role: "Food Critic",
company: "Taste of Provence",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/couple-having-date-together-luxurious-restaurant_23-2150517423.jpg",
imageAlt: "Isabelle Dubois",
},
{ {
id: "t-2", id: "t-2", name: "Jean-Luc Picard", role: "Wine Enthusiast", company: "Vin de France", rating: 5,
name: "Jean-Luc Picard", imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-luxury-restaurant_23-2150598342.jpg", imageAlt: "Jean-Luc Picard"},
role: "Wine Enthusiast",
company: "Vin de France",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-luxury-restaurant_23-2150598342.jpg",
imageAlt: "Jean-Luc Picard",
},
{ {
id: "t-3", id: "t-3", name: "Marie Le Pen", role: "Local Resident", company: "Toulon Daily", rating: 5,
name: "Marie Le Pen", imageSrc: "http://img.b2bpic.net/free-photo/best-friends-toasting-with-wine-glasses_23-2148238294.jpg", imageAlt: "Marie Le Pen"},
role: "Local Resident",
company: "Toulon Daily",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/best-friends-toasting-with-wine-glasses_23-2148238294.jpg",
imageAlt: "Marie Le Pen",
},
{ {
id: "t-4", id: "t-4", name: "André Gide", role: "Travel Blogger", company: "French Escapes", rating: 5,
name: "André Gide", imageSrc: "http://img.b2bpic.net/free-photo/attractive-girl-talking-phone_158595-1007.jpg", imageAlt: "André Gide"},
role: "Travel Blogger",
company: "French Escapes",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/attractive-girl-talking-phone_158595-1007.jpg",
imageAlt: "André Gide",
},
{ {
id: "t-5", id: "t-5", name: "Sophie Martin", role: "Gastronomy Blogger", company: "Dine & Discover", rating: 5,
name: "Sophie Martin", imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-enjoying-food_23-2149304406.jpg", imageAlt: "Sophie Martin"},
role: "Gastronomy Blogger",
company: "Dine & Discover",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-enjoying-food_23-2149304406.jpg",
imageAlt: "Sophie Martin",
},
]} ]}
title="What Our Guests Say" title="Delightful Dining Experiences: Our Guests Speak"
description="Rave reviews from those who have savored the Penida experience, praising our cuisine and service." description="Hear directly from our patrons who have enjoyed the unique flavors and ambiance of Penida."
/> />
</div> </div>
@@ -298,29 +173,16 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
members={[ members={[
{ {
id: "tm-1", id: "tm-1", name: "Émilie Moreau", role: "Head Chef", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Ev27YcILxOHg2GWEmePBHnANU6/uploaded-1781045086678-qsyfjh3a.jpg", imageAlt: "Émilie Moreau - Head Chef"},
name: "Émilie Moreau",
role: "Head Chef",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-chef-preparing-dish_23-2148723309.jpg",
imageAlt: "Émilie Moreau",
},
{ {
id: "tm-2", id: "tm-2", name: "Antoine Dubois", role: "Sous Chef", imageSrc: "http://img.b2bpic.net/free-photo/crazy-chef-sad-expression_1194-1377.jpg", imageAlt: "Antoine Dubois - Sous Chef"},
name: "Antoine Dubois",
role: "Sous Chef",
imageSrc: "http://img.b2bpic.net/free-photo/crazy-chef-sad-expression_1194-1377.jpg",
imageAlt: "Antoine Dubois",
},
{ {
id: "tm-3", id: "tm-3", name: "Sophie Leclerc", role: "Maître d'Hôtel", imageSrc: "http://img.b2bpic.net/free-photo/young-asian-waitress-cafe-manager-working-with-tablet-graphic-tablet_1258-199016.jpg", imageAlt: "Sophie Leclerc - Maître d'Hôtel"},
name: "Sophie Leclerc", {
role: "Maître d'Hôtel", id: "tm-4", name: "Pierre Blanc", role: "Sommelier", imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-dark-grey-background_329181-12702.jpg?_wi=2", imageAlt: "Pierre Blanc - Sommelier"},
imageSrc: "http://img.b2bpic.net/free-photo/young-asian-waitress-cafe-manager-working-with-tablet-graphic-tablet_1258-199016.jpg",
imageAlt: "Sophie Leclerc",
},
]} ]}
title="Meet Our Culinary Team" title="Meet the Heart of Penida"
description="The passionate artisans and dedicated professionals who bring the Penida experience to life." description="Our dedicated team of culinary artists and hospitality professionals committed to making your dining experience extraordinary."
/> />
</div> </div>
@@ -330,23 +192,18 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
faqs={[ faqs={[
{ {
id: "faq-1", id: "faq-1", title: "Do I need a reservation?", content: "We highly recommend making a reservation, especially for weekend evenings and holidays, to ensure you have a table. You can book online through our website or by calling us directly."},
title: "Do I need a reservation?",
content: "We highly recommend making a reservation, especially for weekend evenings, to ensure you have a table. You can book online or by phone.",
},
{ {
id: "faq-2", id: "faq-2", title: "Do you accommodate dietary restrictions?", content: "Yes, our kitchen is happy to accommodate most dietary restrictions and allergies. Please inform your server or mention it when making your reservation so we can prepare accordingly."},
title: "Do you accommodate dietary restrictions?",
content: "Yes, our kitchen is happy to accommodate most dietary restrictions and allergies. Please inform us when making your reservation or upon arrival.",
},
{ {
id: "faq-3", id: "faq-3", title: "Is there a dress code?", content: "While we don't enforce a strict dress code, smart casual attire is encouraged to complement our refined dining experience. Many guests enjoy dressing up for their visit."},
title: "Is there a dress code?", {
content: "While we don't enforce a strict dress code, smart casual attire is encouraged to complement our premium dining experience.", id: "faq-4", title: "Do you host private events?", content: "Penida offers private dining options for special events, celebrations, and corporate gatherings. Please contact us directly to discuss your requirements and available packages."},
}, {
id: "faq-5", title: "Is parking available?", content: "Public parking is available nearby, with several paid parking lots within a short walking distance from the restaurant."},
]} ]}
title="Frequently Asked Questions" title="Your Questions Answered"
description="Find answers to common questions about reservations, dining, and your visit to Penida." description="Everything you need to know about dining at Penida, from reservations to special requests."
faqsAnimation="slide-up" faqsAnimation="slide-up"
/> />
</div> </div>
@@ -355,18 +212,13 @@ export default function LandingPage() {
<ContactText <ContactText
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "radial-gradient", variant: "radial-gradient"}}
}} text="Planning your unforgettable dining experience at Penida? Contact us for reservations, private event inquiries, or any other questions. We're here to assist you."
text="Planning your visit to Penida? Reach out for reservations or any inquiries. We look forward to welcoming you to our table."
buttons={[ buttons={[
{ {
text: "Book a Table", text: "Make a Reservation", href: "#contact"},
href: "#",
},
{ {
text: "Get Directions", text: "View Location & Hours", href: "#contact"},
href: "#",
},
]} ]}
/> />
</div> </div>
@@ -375,72 +227,46 @@ export default function LandingPage() {
<FooterSimple <FooterSimple
columns={[ columns={[
{ {
title: "About Us", title: "Penida", items: [
items: [
{ {
label: "Our Story", label: "Our Story", href: "#about"},
href: "#about",
},
{ {
label: "The Team", label: "Our Team", href: "#team"},
href: "#team",
},
{ {
label: "Press", label: "Careers", href: "#"},
href: "#",
},
], ],
}, },
{ {
title: "Menu", title: "Menu", items: [
items: [
{ {
label: "Main Courses", label: "Dinner Menu", href: "#menu"},
href: "#menu",
},
{ {
label: "Desserts", label: "Wine List", href: "#menu"},
href: "#menu",
},
{ {
label: "Wine List", label: "Special Events", href: "#"},
href: "#",
},
], ],
}, },
{ {
title: "Visit", title: "Visit Us", items: [
items: [
{ {
label: "Reservations", label: "Reservations", href: "#contact"},
href: "#contact",
},
{ {
label: "Location", label: "Location & Hours", href: "#contact"},
href: "#contact",
},
{ {
label: "Contact Us", label: "Contact Us", href: "#contact"},
href: "#contact",
},
], ],
}, },
{ {
title: "Follow Us", title: "Follow Us", items: [
items: [
{ {
label: "Instagram", label: "Instagram", href: "https://instagram.com/penida"},
href: "https://instagram.com/penida",
},
{ {
label: "Facebook", label: "Facebook", href: "https://facebook.com/penida"},
href: "https://facebook.com/penida",
},
], ],
}, },
]} ]}
bottomLeftText="© 2024 Penida. All rights reserved." bottomLeftText="© 2024 Penida Restaurant. All rights reserved."
bottomRightText="Made with passion in Toulon, France." bottomRightText="Crafted with passion in Toulon, France."
/> />
</div> </div>
</ReactLenis> </ReactLenis>

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-mulish), sans-serif; font-family: var(--font-inter), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-mulish), sans-serif; font-family: var(--font-dm-sans), sans-serif;
} }

View File

@@ -14,9 +14,9 @@
--card: #ffffff; --card: #ffffff;
--foreground: #25190c; --foreground: #25190c;
--primary-cta: #ff6207; --primary-cta: #ff6207;
--primary-cta-text: #f7f6f7; --primary-cta-text: #fcf6ec;
--secondary-cta: #ffffff; --secondary-cta: #ffffff;
--secondary-cta-text: #25190c; --secondary-cta-text: #2e2521;
--accent: #ffce93; --accent: #ffce93;
--background-accent: #e8cfa8; --background-accent: #e8cfa8;