15 Commits

Author SHA1 Message Date
f60931127a Merge version_4 into main
Merge version_4 into main
2026-04-25 17:10:23 +00:00
72178c65e1 Update src/app/page.tsx 2026-04-25 17:10:20 +00:00
f8ea4376b5 Merge version_4 into main
Merge version_4 into main
2026-04-25 17:09:53 +00:00
05dcbc6902 Update src/app/page.tsx 2026-04-25 17:09:50 +00:00
d1e1feb000 Switch to version 2: modified src/app/page.tsx 2026-04-25 17:09:18 +00:00
a130523154 Merge version_3 into main
Merge version_3 into main
2026-04-25 17:06:29 +00:00
69b2386ab6 Update src/app/page.tsx 2026-04-25 17:06:26 +00:00
ba4b714c27 Merge version_2 into main
Merge version_2 into main
2026-04-25 17:03:32 +00:00
9d52716bbe Update src/app/page.tsx 2026-04-25 17:03:29 +00:00
8b2a7555f6 Merge version_2 into main
Merge version_2 into main
2026-04-25 17:03:03 +00:00
43d28d25c3 Update src/app/page.tsx 2026-04-25 17:03:00 +00:00
294951dacc Merge version_2 into main
Merge version_2 into main
2026-04-25 17:02:29 +00:00
1a7ef22c87 Update src/app/page.tsx 2026-04-25 17:02:23 +00:00
c9f42e9292 Merge version_1 into main
Merge version_1 into main
2026-04-25 16:58:00 +00:00
b5ac59c275 Merge version_1 into main
Merge version_1 into main
2026-04-25 16:57:30 +00:00

View File

@@ -3,15 +3,15 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import AboutMetric from '@/components/sections/about/AboutMetric';
import ContactText from '@/components/sections/contact/ContactText';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import FeatureCardTen from '@/components/sections/feature/FeatureCardTen';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import HeroBillboardGallery from '@/components/sections/hero/HeroBillboardGallery';
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCardThree from '@/components/sections/product/ProductCardThree';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
import { CheckCircle, Music, Star, Utensils } from "lucide-react";
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
import { CheckCircle, Music, Star, Utensils, Wine, Coffee, Cake } from "lucide-react";
export default function LandingPage() {
return (
@@ -74,25 +74,25 @@ export default function LandingPage() {
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
title="Découvrez notre menu complet"
description="Une sélection soigneusement élaborée pour une expérience gastronomique inoubliable."
features={[
{
title: "Entrées délicates", description: "Des préparations fines qui éveillent les sens.", media: { imageSrc: "http://img.b2bpic.net/free-photo/fried-fish-fillet-placed-avocado-slices-sauce-topped-with-tomato-olive-fish-skin_141793-2236.jpg", imageAlt: "Entrée" },
items: [{ icon: CheckCircle, text: "Produits frais" }, { icon: CheckCircle, text: "Saveurs authentiques" }],
title: "Entrées raffinées", description: "Mises en bouche délicates à partir de produits frais de saison.", media: { imageSrc: "http://img.b2bpic.net/free-photo/fried-fish-fillet-placed-avocado-slices-sauce-topped-with-tomato-olive-fish-skin_141793-2236.jpg", imageAlt: "Entrées" },
items: [{ icon: Wine, text: "Foie gras maison" }, { icon: CheckCircle, text: "Salade de saison" }, { icon: CheckCircle, text: "Potage du jour" }],
reverse: false
},
{
title: "PlatsSignature", description: "L'expression pure de la tradition française.", media: { imageSrc: "http://img.b2bpic.net/free-photo/fried-meat-placed-mashed-potato-garnished-with-shredded-bell-pepper-thyme_141793-2240.jpg", imageAlt: "Plat" },
items: [{ icon: CheckCircle, text: "Viandes sélectionnées" }, { icon: CheckCircle, text: "Cuissons maîtrisées" }],
title: "Plats Signature", description: "L'essence de la haute cuisine française dans chaque assiette.", media: { imageSrc: "http://img.b2bpic.net/free-photo/fried-meat-placed-mashed-potato-garnished-with-shredded-bell-pepper-thyme_141793-2240.jpg", imageAlt: "Plats" },
items: [{ icon: Utensils, text: "Boeuf Rossini" }, { icon: Utensils, text: "Magret de canard" }, { icon: Utensils, text: "Risotto aux truffes" }],
reverse: true
},
{
title: "Desserts d'exception", description: "Une note sucrée pour clore votre soirée.", media: { imageSrc: "http://img.b2bpic.net/free-photo/creative-assortment-delicious-food_23-2148949021.jpg", imageAlt: "Dessert" },
items: [{ icon: CheckCircle, text: "Pâtisseries maison" }, { icon: CheckCircle, text: "Accords parfaits" }],
title: "Douceurs Sucrées", description: "Des pâtisseries fines pour clore votre repas en beauté.", media: { imageSrc: "http://img.b2bpic.net/free-photo/creative-assortment-delicious-food_23-2148949021.jpg", imageAlt: "Desserts" },
items: [{ icon: Cake, text: "Soufflé Grand Marnier" }, { icon: Coffee, text: "Opéra revisité" }, { icon: Cake, text: "Tarte fine aux pommes" }],
reverse: false
}
]}
title="Une invitation aux saveurs"
description="Chaque plat est une création originale, préparée avec des produits de saison et une passion dévouée."
/>
</div>
@@ -105,7 +105,7 @@ export default function LandingPage() {
products={[
{ id: "1", name: "Tartare de St-Jacques", price: "180 MAD", imageSrc: "http://img.b2bpic.net/free-photo/chicken-leg-served-with-mashed-potatoes-sour-cream_7502-7082.jpg" },
{ id: "2", name: "Filet de Boeuf Rossini", price: "350 MAD", imageSrc: "http://img.b2bpic.net/free-photo/caesar-salad-with-chicken-lettuce-tomatoes-grated-cheese_140725-7780.jpg" },
{ id: "3", name: "Soufflé au Grand Marnier", price: "120 MAD", imageSrc: "http://img.b2bpic.net/free-photo/view-beautifully-designed-delicious-dessert-with-chocolate-cinnamon-with-topping-it_181624-23843.jpg" }
{ id: "3", name: "Soufflé au Grand Marnier", price: "120 MAD", imageSrc: "http://img.b2bpic.net/free-photo/view-beautifully-designed-delicious-dessert-with-chocolate-cinnamon-with-topping-it_181624-23843.jpg?_wi=1" }
]}
title="Notre sélection du moment"
description="Découvrez une carte qui se réinvente au fil des saisons."
@@ -129,12 +129,14 @@ export default function LandingPage() {
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFive
<TestimonialCardThirteen
textboxLayout="split"
useInvertedBackground={true}
showRating={true}
animationType="blur-reveal"
testimonials={[
{ id: "t1", name: "Kawtar B.", date: "3 mois", title: "Anniversaire", quote: "On nous a bien gâtés ! Ils sont au petit soin.", tag: "Excellent", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-asian-man-friends-reunion_23-2149244687.jpg" },
{ id: "t2", name: "Ghita H.", date: "6 mois", title: "Soirée romantique", quote: "Endroit très classe, chaleureux et élégant.", tag: "Parfait", avatarSrc: "http://img.b2bpic.net/free-photo/business-woman-having-lunch-cafe_1303-23875.jpg" }
{ id: "t1", name: "Kawtar B.", handle: "Anniversaire", testimonial: "On nous a bien gâtés ! Ils sont au petit soin.", rating: 5 },
{ id: "t2", name: "Ghita H.", handle: "Soirée romantique", testimonial: "Endroit très classe, chaleureux et élégant.", rating: 5 }
]}
title="Ce que disent nos convives"
description="Des moments inoubliables partagés avec vous."
@@ -142,11 +144,15 @@ export default function LandingPage() {
</div>
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={false}
<ContactSplit
tag="Contact"
title="Réservez votre table"
description="Prêt pour une expérience gastronomique ? Laissez-nous vos coordonnées ou appelez-nous directement."
background={{ variant: "rotated-rays-static" }}
text="Prêt pour une expérience gastronomique ? Réservez votre table dès maintenant au 06 08 01 01 59."
buttons={[{ text: "Appeler L'Octave", href: "tel:0608010159" }]}
useInvertedBackground={false}
buttonText="Envoyer"
onSubmit={(email) => console.log("Form submitted with email:", email)}
imageSrc="http://img.b2bpic.net/free-photo/view-beautifully-designed-delicious-dessert-with-chocolate-cinnamon-with-topping-it_181624-23843.jpg?_wi=2"
/>
</div>
@@ -163,4 +169,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}