7 Commits

Author SHA1 Message Date
62adbaf9f8 Merge version_4 into main
Merge version_4 into main
2026-05-05 20:14:56 +00:00
5a63650639 Update src/app/styles/variables.css 2026-05-05 20:14:50 +00:00
12d9fbd63e Update src/app/page.tsx 2026-05-05 20:14:50 +00:00
c456d9fe83 Merge version_3 into main
Merge version_3 into main
2026-05-05 20:11:29 +00:00
50fc96854a Update src/app/page.tsx 2026-05-05 20:11:23 +00:00
a059e506eb Merge version_2 into main
Merge version_2 into main
2026-05-05 20:04:08 +00:00
d378c56c1a Update src/app/page.tsx 2026-05-05 20:04:05 +00:00
2 changed files with 51 additions and 207 deletions

View File

@@ -2,6 +2,7 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCTA from '@/components/sections/contact/ContactCTA';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FeatureCardTwentySeven from '@/components/sections/feature/FeatureCardTwentySeven';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
@@ -10,7 +11,7 @@ import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/Nav
import ProductCardThree from '@/components/sections/product/ProductCardThree';
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
import { Utensils } from "lucide-react";
import { Utensils, CalendarDays, Mail } from "lucide-react";
export default function LandingPage() {
return (
@@ -30,26 +31,11 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{
name: "Accueil",
id: "hero",
},
{
name: "À Propos",
id: "about",
},
{
name: "Menu",
id: "menu",
},
{
name: "Réserver",
id: "reservation",
},
{
name: "Contact",
id: "contact",
},
{ name: "Ambiance", id: "about" },
{ name: "Menu", id: "menu" },
{ name: "Accueil", id: "hero" },
{ name: "Contact", id: "contact" },
{ name: "Réserver", id: "reservation" },
]}
brandName="Croix Blanche"
/>
@@ -57,42 +43,14 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroBillboardGallery
background={{
variant: "gradient-bars",
}}
background={{ variant: "gradient-bars" }}
title="Restaurant de la Croix Blanche"
description="Cuisine traditionnelle française au cœur de Giat"
buttons={[
{
text: "Voir le menu",
href: "#menu",
},
{
text: "Réserver une table",
href: "#reservation",
},
]}
buttons={[{ text: "Voir le menu", href: "#menu" }]}
mediaItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/name-card-plate-christmas-set-up-table_8353-6628.jpg",
imageAlt: "Restaurant ambiance",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/grilled-lamb-ribs-dish-copy-space_23-2148516962.jpg",
imageAlt: "Duck confit",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/delicious-goulash-ready-dinner_23-2149370827.jpg",
imageAlt: "Boeuf bourguignon",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/french-onion-soup-wooden-table_123827-19712.jpg",
imageAlt: "French onion soup",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/top-view-food-banquet_23-2149893411.jpg",
imageAlt: "Table setting",
},
{ imageSrc: "http://img.b2bpic.net/free-photo/name-card-plate-christmas-set-up-table_8353-6628.jpg", imageAlt: "Restaurant ambiance" },
{ imageSrc: "http://img.b2bpic.net/free-photo/grilled-lamb-ribs-dish-copy-space_23-2148516962.jpg", imageAlt: "Duck confit" },
{ imageSrc: "http://img.b2bpic.net/free-photo/delicious-goulash-ready-dinner_23-2149370827.jpg", imageAlt: "Boeuf bourguignon" },
]}
mediaAnimation="blur-reveal"
/>
@@ -117,30 +75,9 @@ export default function LandingPage() {
textboxLayout="split"
useInvertedBackground={false}
features={[
{
id: "f1",
title: "Confit de Canard",
descriptions: [
"Cuisiné selon la tradition, fondant et savoureux.",
],
imageSrc: "http://img.b2bpic.net/free-photo/side-view-delicious-pasta-meal-served-with-vegetables-blue-plate-mix-colors-surface_140725-154544.jpg",
},
{
id: "f2",
title: "Bœuf Bourguignon",
descriptions: [
"Une recette familiale mijotée pendant plusieurs heures.",
],
imageSrc: "http://img.b2bpic.net/free-photo/top-view-plate-food-bowl-mushrooms-potatoes-different-spices-cutting-board-bottle-oil-bowl-white-mushrooms-spruce-branches-with-cones_140725-118275.jpg",
},
{
id: "f3",
title: "Soupe à l'Oignon",
descriptions: [
"Un classique indémodable gratiné à la perfection.",
],
imageSrc: "http://img.b2bpic.net/free-photo/top-close-up-view-soup-soup-with-herbs-blue-bowl-table_140725-71670.jpg",
},
{ id: "f1", title: "Confit de Canard", descriptions: ["Cuisiné selon la tradition, fondant et savoureux."], imageSrc: "http://img.b2bpic.net/free-photo/side-view-delicious-pasta-meal-served-with-vegetables-blue-plate-mix-colors-surface_140725-154544.jpg" },
{ id: "f2", title: "Bœuf Bourguignon", descriptions: ["Une recette familiale mijotée pendant plusieurs heures."], imageSrc: "http://img.b2bpic.net/free-photo/top-view-plate-food-bowl-mushrooms-potatoes-different-spices-cutting-board-bottle-oil-bowl-white-mushrooms-spruce-branches-with-cones_140725-118275.jpg" },
{ id: "f3", title: "Soupe à l'Oignon", descriptions: ["Un classique indémodable gratiné à la perfection."], imageSrc: "http://img.b2bpic.net/free-photo/top-close-up-view-soup-soup-with-herbs-blue-bowl-table_140725-71670.jpg" },
]}
title="Nos Spécialités"
description="Découvrez notre sélection de plats emblématiques."
@@ -154,42 +91,12 @@ export default function LandingPage() {
gridVariant="three-columns-all-equal-width"
useInvertedBackground={true}
products={[
{
id: "m1",
name: "Terrine Maison",
price: "12€",
imageSrc: "http://img.b2bpic.net/free-photo/chicken-leg-served-with-mashed-potatoes-sour-cream_7502-7082.jpg",
},
{
id: "m2",
name: "Salade Auvergnate",
price: "14€",
imageSrc: "http://img.b2bpic.net/free-photo/side-close-view-dish-cutting-board-brown-bowl-mushrooms-potatoes-fork-cutting-board-spruce-branches-with-cones_140725-110575.jpg",
},
{
id: "m3",
name: "Truite de la Sioule",
price: "22€",
imageSrc: "http://img.b2bpic.net/free-photo/view-delicious-carrot-cream-soup_23-2150316469.jpg",
},
{
id: "m4",
name: "Entrecôte Grillée",
price: "26€",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-chicken-with-potatoes_23-2148847440.jpg",
},
{
id: "m5",
name: "Crème Brûlée",
price: "8€",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-colorful-hummus_23-2149447783.jpg",
},
{
id: "m6",
name: "Tarte Tatin",
price: "9€",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-soup-with-cauliflower-potatoes-white-bowl_140725-10203.jpg",
},
{ id: "m1", name: "Terrine Maison", price: "12€", imageSrc: "http://img.b2bpic.net/free-photo/chicken-leg-served-with-mashed-potatoes-sour-cream_7502-7082.jpg" },
{ id: "m2", name: "Salade Auvergnate", price: "14€", imageSrc: "http://img.b2bpic.net/free-photo/side-close-view-dish-cutting-board-brown-bowl-mushrooms-potatoes-fork-cutting-board-spruce-branches-with-cones_140725-110575.jpg" },
{ id: "m3", name: "Truite de la Sioule", price: "22€", imageSrc: "http://img.b2bpic.net/free-photo/view-delicious-carrot-cream-soup_23-2150316469.jpg" },
{ id: "m4", name: "Entrecôte Grillée", price: "26€", imageSrc: "http://img.b2bpic.net/free-photo/top-view-chicken-with-potatoes_23-2148847440.jpg" },
{ id: "m5", name: "Crème Brûlée", price: "8€", imageSrc: "http://img.b2bpic.net/free-photo/top-view-colorful-hummus_23-2149447783.jpg" },
{ id: "m6", name: "Tarte Tatin", price: "9€", imageSrc: "http://img.b2bpic.net/free-photo/side-view-soup-with-cauliflower-potatoes-white-bowl_140725-10203.jpg" },
]}
title="Notre Menu"
description="Un voyage gastronomique à travers nos plats."
@@ -200,31 +107,9 @@ export default function LandingPage() {
<TestimonialCardTwelve
useInvertedBackground={true}
testimonials={[
{
id: "t1",
name: "Jean Dupont",
imageSrc: "http://img.b2bpic.net/free-photo/attractive-hipster-dressed-leather-jacket-eating-vegan-burger_613910-16389.jpg",
},
{
id: "t2",
name: "Marie Martin",
imageSrc: "http://img.b2bpic.net/free-photo/married-couple-facing-camera_23-2148060459.jpg",
},
{
id: "t3",
name: "Lucie Durant",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-women-sitting-table_23-2150168081.jpg",
},
{
id: "t4",
name: "Pierre Lefebvre",
imageSrc: "http://img.b2bpic.net/free-photo/person-eating-seaweed-snacks_23-2150519983.jpg",
},
{
id: "t5",
name: "Sophie Moreau",
imageSrc: "http://img.b2bpic.net/free-photo/outdoor-shot-delighted-happy-dark-skinned-young-female-wears-red-blouse-listens-audio-song-headphones_273609-3479.jpg",
},
{ id: "t1", name: "Jean Dupont", imageSrc: "http://img.b2bpic.net/free-photo/attractive-hipster-dressed-leather-jacket-eating-vegan-burger_613910-16389.jpg" },
{ id: "t2", name: "Marie Martin", imageSrc: "http://img.b2bpic.net/free-photo/married-couple-facing-camera_23-2148060459.jpg" },
{ id: "t3", name: "Lucie Durant", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-women-sitting-table_23-2150168081.jpg" }
]}
cardTitle="Avis Clients"
cardTag="Témoignages"
@@ -234,82 +119,41 @@ export default function LandingPage() {
<div id="reservation" data-section="reservation">
<ContactSplitForm
useInvertedBackground={false}
useInvertedBackground={true}
title="Réserver une table"
description="Réservez votre moment gastronomique à la Croix Blanche."
description="Expérience gastronomique exclusive. Veuillez nous fournir vos détails pour organiser votre venue."
inputs={[
{
name: "nom",
type: "text",
placeholder: "Nom complet",
required: true,
},
{
name: "date",
type: "date",
placeholder: "Date",
required: true,
},
{
name: "heure",
type: "time",
placeholder: "Heure",
required: true,
},
{
name: "convives",
type: "number",
placeholder: "Nombre de convives",
required: true,
},
{ name: "nom", type: "text", placeholder: "Nom complet", required: true },
{ name: "date", type: "date", placeholder: "Date", required: true },
{ name: "heure", type: "time", placeholder: "Heure", required: true },
]}
buttonText="Confirmer votre réservation"
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-friends-with-delicious-cocktails_23-2150166137.jpg"
mediaAnimation="slide-up"
mediaPosition="left"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
useInvertedBackground={false}
title="Contactez-nous"
description="15 Grand Rue, 63620 Giat, France. Réservez ou posez vos questions."
inputs={[
{
name: "email",
type: "email",
placeholder: "Votre email",
required: true,
},
{
name: "subject",
type: "text",
placeholder: "Sujet",
required: true,
},
]}
textarea={{
name: "message",
placeholder: "Votre message",
rows: 4,
required: true,
}}
imageSrc="http://img.b2bpic.net/free-photo/lule-kebab-with-french-fries-rice_140725-9860.jpg"
/>
<ContactCTA
tag="Besoin d'informations ?"
tagIcon={Mail}
title="Contactez notre équipe"
description="Nous sommes à votre disposition pour toute question concernant nos menus, événements privés ou réservations de groupe."
buttons={[{ text: "Envoyer un message", href: "mailto:contact@croixblanche.fr" }]}
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={true}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Croix Blanche"
leftLink={{
text: "Mentions Légales",
href: "#",
}}
rightLink={{
text: "Instagram",
href: "#",
}}
leftLink={{ text: "Mentions Légales", href: "#" }}
rightLink={{ text: "Instagram", href: "#" }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #f6f0e9;
--card: #efe7dd;
--foreground: #2b180a;
--primary-cta: #8b5cf6;
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #f5f5f5;
--primary-cta: #ffdf7d;
--primary-cta-text: #f6f0e9;
--secondary-cta: #efe7dd;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #2b180a;
--accent: #94877c;
--background-accent: #afa094;
--accent: #b8860b;
--background-accent: #8b6914;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);