Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e566cdca0d | |||
| 46326df928 | |||
| 77b8941e6d | |||
| b8943dcfcc | |||
| 562fbe3f10 | |||
| c4e9f9ff07 | |||
| b4c23ec68e |
@@ -1,54 +1,23 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Halant } from "next/font/google";
|
import { Poppins } from "next/font/google";
|
||||||
import { Inter } from "next/font/google";
|
|
||||||
import { Mulish } from "next/font/google";
|
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const halant = Halant({
|
const poppins = Poppins({
|
||||||
variable: "--font-halant", subsets: ["latin"],
|
variable: "--font-poppins", subsets: ["latin"],
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
|
||||||
});
|
|
||||||
|
|
||||||
const inter = Inter({
|
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const mulish = Mulish({
|
|
||||||
variable: "--font-mulish", subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Le Grand Duc | Authentic Belgian Restaurant Woluwe-Saint-Pierre", description: "Award-winning Belgian bistro in Woluwe-Saint-Pierre. Homemade sauces, quality meats, warm service. 4.7★ rated. Reserve your table today. 02 779 36 74.", keywords: "Belgian restaurant Brussels, restaurant Woluwe-Saint-Pierre, steak restaurant, authentic Belgian cuisine, local bistro", robots: {
|
title: "Le Grand Duc - Authentic Belgian Cuisine", description: "Authentic Belgian cuisine in the heart of Brussels. Homemade sauces, quality meats, warm hospitality."};
|
||||||
index: true,
|
|
||||||
follow: true,
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "Le Grand Duc | Belgian Restaurant", description: "Authentic Belgian cuisine. Homemade sauces. Quality meats. Warm hospitality. Book now.", type: "website", siteName: "Le Grand Duc", images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/rib-eye-steak-with-fried-potatoe-mushroom-sauce_140725-5429.jpg", alt: "Le Grand Duc signature steak with homemade sauce"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Le Grand Duc | Authentic Belgian Bistro", description: "Homemade sauces, quality meats, warm service. Woluwe-Saint-Pierre's neighborhood favorite.", images: ["http://img.b2bpic.net/free-photo/tables-chairs-arranged-empty-coffee-shop_107420-96463.jpg"],
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="fr">
|
||||||
<ServiceWrapper>
|
<body className={`${poppins.variable}`}>{children}
|
||||||
<body
|
|
||||||
className={`${halant.variable} ${inter.variable} ${mulish.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1416,7 +1385,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
162
src/app/page.tsx
162
src/app/page.tsx
@@ -29,36 +29,36 @@ export default function LandingPage() {
|
|||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleFullscreen
|
<NavbarStyleFullscreen
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "home" },
|
{ name: "Accueil", id: "home" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "À Propos", id: "about" },
|
||||||
{ name: "Menu", id: "signature" },
|
{ name: "Menu", id: "signature" },
|
||||||
{ name: "Reserve", id: "reservation" },
|
{ name: "Réservation", id: "reservation" },
|
||||||
{ name: "Contact", id: "location" }
|
{ name: "Contact", id: "location" }
|
||||||
]}
|
]}
|
||||||
brandName="Le Grand Duc"
|
brandName="Le Grand Duc"
|
||||||
bottomLeftText="Rue du Duc 80, Brussels"
|
bottomLeftText="Rue du Duc 80, Bruxelles"
|
||||||
bottomRightText="02 779 36 74"
|
bottomRightText="02 779 36 74"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboardDashboard
|
<HeroBillboardDashboard
|
||||||
title="Authentic Belgian Cuisine in the Heart of Woluwe-Saint-Pierre"
|
title="Cuisine Belge Authentique au Cœur de Woluwe-Saint-Pierre"
|
||||||
description="Homemade sauces, quality meats, warm hospitality. A neighborhood institution since day one."
|
description="Sauces faites maison, viandes de qualité, hospitalité chaleureuse. Une institution locale depuis le début."
|
||||||
tag="Trusted Locals"
|
tag="Confiance Locale"
|
||||||
tagIcon={Star}
|
tagIcon={Star}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
background={{ variant: "radial-gradient" }}
|
background={{ variant: "radial-gradient" }}
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Call Now", href: "tel:0277936774" },
|
{ text: "Appelez-nous", href: "tel:0277936774" },
|
||||||
{ text: "Reserve a Table", href: "#reservation" }
|
{ text: "Réserver une Table", href: "#reservation" }
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
dashboard={{
|
dashboard={{
|
||||||
title: "Le Grand Duc Experience", logoIcon: Utensils,
|
title: "L'Expérience Le Grand Duc", logoIcon: Utensils,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/tables-chairs-arranged-empty-coffee-shop_107420-96463.jpg?_wi=1", searchPlaceholder: "Discover our story", buttons: [
|
imageSrc: "http://img.b2bpic.net/free-photo/tables-chairs-arranged-empty-coffee-shop_107420-96463.jpg?_wi=1", searchPlaceholder: "Découvrez notre histoire", buttons: [
|
||||||
{ text: "About Us", href: "#about" },
|
{ text: "À Propos", href: "#about" },
|
||||||
{ text: "Our Menu", href: "#signature" }
|
{ text: "Notre Menu", href: "#signature" }
|
||||||
],
|
],
|
||||||
sidebarItems: [
|
sidebarItems: [
|
||||||
{ icon: MapPin, active: true },
|
{ icon: MapPin, active: true },
|
||||||
@@ -66,32 +66,32 @@ export default function LandingPage() {
|
|||||||
{ icon: Wine }
|
{ icon: Wine }
|
||||||
],
|
],
|
||||||
stats: [
|
stats: [
|
||||||
{ title: "Rating", values: [4.7, 4.7, 4.7], valuePrefix: "", valueSuffix: "★", description: "From 79 Google reviews" },
|
{ title: "Évaluation", values: [4.7, 4.7, 4.7], valuePrefix: "", valueSuffix: "★", description: "D'après 79 avis Google" },
|
||||||
{ title: "Price Range", values: [20, 25, 30], valuePrefix: "€", valueSuffix: "", description: "Fair pricing for quality" },
|
{ title: "Gamme de Prix", values: [20, 25, 30], valuePrefix: "€", valueSuffix: "", description: "Prix justes pour la qualité" },
|
||||||
{ title: "Years Local", values: [15, 15, 15], valuePrefix: "", valueSuffix: "+", description: "Neighborhood favorite" }
|
{ title: "Années Locale", values: [15, 15, 15], valuePrefix: "", valueSuffix: "+", description: "Favori du quartier" }
|
||||||
],
|
],
|
||||||
chartTitle: "Weekly Satisfaction", chartData: [
|
chartTitle: "Satisfaction Hebdomadaire", chartData: [
|
||||||
{ value: 95 },
|
{ value: 95 },
|
||||||
{ value: 97 },
|
{ value: 97 },
|
||||||
{ value: 96 },
|
{ value: 96 },
|
||||||
{ value: 98 },
|
{ value: 98 },
|
||||||
{ value: 94 }
|
{ value: 94 }
|
||||||
],
|
],
|
||||||
listTitle: "Today's Highlights", listItems: [
|
listTitle: "Nos Points Forts Aujourd'hui", listItems: [
|
||||||
{ icon: Flame, title: "Steak with Homemade Béarnaise", status: "Available" },
|
{ icon: Flame, title: "Steak avec Béarnaise Faite Maison", status: "Disponible" },
|
||||||
{ icon: Wine, title: "Belgian Beer Selection", status: "Cold" },
|
{ icon: Wine, title: "Sélection de Bières Belges", status: "Frais" },
|
||||||
{ icon: UtensilsCrossed, title: "Chef's Special Tonight", status: "Fresh" }
|
{ icon: UtensilsCrossed, title: "Spécialité du Chef Aujourd'hui", status: "Frais" }
|
||||||
]
|
]
|
||||||
}}
|
}}
|
||||||
ariaLabel="Hero section with Le Grand Duc experience"
|
ariaLabel="Section héros avec l'expérience Le Grand Duc"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="trust" data-section="trust">
|
<div id="trust" data-section="trust">
|
||||||
<TestimonialCardSixteen
|
<TestimonialCardSixteen
|
||||||
title="What Our Loyal Guests Say"
|
title="Ce que Disent Nos Clients Fidèles"
|
||||||
description="Real testimonials from neighbors, couples, and families who've made us part of their weekly tradition."
|
description="Des témoignages authentiques de voisins, couples et familles qui ont fait de nous une partie de leur tradition hebdomadaire."
|
||||||
tag="Community"
|
tag="Communauté"
|
||||||
tagIcon={Heart}
|
tagIcon={Heart}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
@@ -99,26 +99,26 @@ export default function LandingPage() {
|
|||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "1", name: "Marie Dupont", role: "Regular Guest", company: "Woluwe-Saint-Pierre", rating: 5,
|
id: "1", name: "Marie Dupont", role: "Cliente Régulière", company: "Woluwe-Saint-Pierre", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=1"
|
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "2", name: "Jean Mercier", role: "Local Couple", company: "Brussels Neighborhood", rating: 5,
|
id: "2", name: "Jean Mercier", role: "Couple Local", company: "Quartier Bruxelles", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=2"
|
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3", name: "Sophie Bernard", role: "Family Regular", company: "Weekend Tradition", rating: 5,
|
id: "3", name: "Sophie Bernard", role: "Cliente Familiale", company: "Tradition du Week-end", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=3"
|
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "4", name: "Paul Leblanc", role: "Business Lunch", company: "Professional", rating: 5,
|
id: "4", name: "Paul Leblanc", role: "Déjeuner d'Affaires", company: "Professionnel", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=4"
|
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg?_wi=4"
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
kpiItems={[
|
kpiItems={[
|
||||||
{ value: "79+", label: "Google Reviews" },
|
{ value: "79+", label: "Avis Google" },
|
||||||
{ value: "4.7★", label: "Average Rating" },
|
{ value: "4.7★", label: "Note Moyenne" },
|
||||||
{ value: "15+", label: "Years Established" }
|
{ value: "15+", label: "Années d'Établissement" }
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -126,24 +126,24 @@ export default function LandingPage() {
|
|||||||
<div id="about" data-section="about">
|
<div id="about" data-section="about">
|
||||||
<InlineImageSplitTextAbout
|
<InlineImageSplitTextAbout
|
||||||
heading={[
|
heading={[
|
||||||
{ type: "text", content: "The Story of" },
|
{ type: "text", content: "L'Histoire du" },
|
||||||
{ type: "image", src: "http://img.b2bpic.net/free-photo/rib-eye-steak-with-fried-potatoe-mushroom-sauce_140725-5429.jpg", alt: "Le Grand Duc signature dish" },
|
{ type: "image", src: "http://img.b2bpic.net/free-photo/rib-eye-steak-with-fried-potatoe-mushroom-sauce_140725-5429.jpg", alt: "Plat signature Le Grand Duc" },
|
||||||
{ type: "text", content: "Le Grand Duc" }
|
{ type: "text", content: "Le Grand Duc" }
|
||||||
]}
|
]}
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "View Full Menu", href: "#signature" }
|
{ text: "Voir le Menu Complet", href: "#signature" }
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
ariaLabel="About Le Grand Duc restaurant"
|
ariaLabel="À Propos du restaurant Le Grand Duc"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="signature" data-section="signature">
|
<div id="signature" data-section="signature">
|
||||||
<ProductCardThree
|
<ProductCardThree
|
||||||
title="Our Signature Dishes"
|
title="Nos Plats Signature"
|
||||||
description="Carefully crafted Belgian specialties with homemade sauces and premium quality meats."
|
description="Spécialités belges soigneusement préparées avec des sauces faites maison et des viandes de qualité supérieure."
|
||||||
tag="Menu Highlights"
|
tag="Points Forts du Menu"
|
||||||
tagIcon={ChefHat}
|
tagIcon={ChefHat}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
@@ -152,13 +152,13 @@ export default function LandingPage() {
|
|||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "1", name: "Steak with Béarnaise", price: "€28", imageSrc: "http://img.b2bpic.net/free-photo/fried-meat-with-smashed-potato_140725-9685.jpg", imageAlt: "Premium steak with homemade béarnaise sauce"
|
id: "1", name: "Steak à la Béarnaise", price: "€28", imageSrc: "http://img.b2bpic.net/free-photo/fried-meat-with-smashed-potato_140725-9685.jpg", imageAlt: "Steak premium avec sauce béarnaise faite maison"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "2", name: "Belgian Specialty", price: "€24", imageSrc: "http://img.b2bpic.net/free-photo/front-view-sliced-meals-different-dishes-inside-white-plate-table_140725-11651.jpg", imageAlt: "Traditional Belgian dish"
|
id: "2", name: "Spécialité Belge", price: "€24", imageSrc: "http://img.b2bpic.net/free-photo/front-view-sliced-meals-different-dishes-inside-white-plate-table_140725-11651.jpg", imageAlt: "Plat belge traditionnel"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3", name: "Beer Selection", price: "€6-€12", imageSrc: "http://img.b2bpic.net/free-photo/assortment-beer-glasses-sackcloth_114579-54691.jpg", imageAlt: "Curated Belgian beer selection"
|
id: "3", name: "Sélection de Bières", price: "€6-€12", imageSrc: "http://img.b2bpic.net/free-photo/assortment-beer-glasses-sackcloth_114579-54691.jpg", imageAlt: "Sélection de bières belges curée"
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
@@ -166,32 +166,32 @@ export default function LandingPage() {
|
|||||||
|
|
||||||
<div id="features" data-section="features">
|
<div id="features" data-section="features">
|
||||||
<FeatureCardTwentyOne
|
<FeatureCardTwentyOne
|
||||||
title="Why Choose Le Grand Duc"
|
title="Pourquoi Choisir Le Grand Duc"
|
||||||
description="We combine tradition, quality, and genuine hospitality to create an unforgettable dining experience."
|
description="Nous associons tradition, qualité et hospitalité authentique pour créer une expérience culinaire inoubliable."
|
||||||
tag="Our Promise"
|
tag="Notre Engagement"
|
||||||
tagIcon={Sparkles}
|
tagIcon={Sparkles}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Book Your Table", href: "#reservation" }
|
{ text: "Réservez Votre Table", href: "#reservation" }
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/tables-chairs-arranged-empty-coffee-shop_107420-96463.jpg?_wi=2"
|
imageSrc="http://img.b2bpic.net/free-photo/tables-chairs-arranged-empty-coffee-shop_107420-96463.jpg?_wi=2"
|
||||||
imageAlt="Le Grand Duc warm dining atmosphere"
|
imageAlt="L'atmosphère chaleureuse de Le Grand Duc"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
mediaPosition="right"
|
mediaPosition="right"
|
||||||
accordionItems={[
|
accordionItems={[
|
||||||
{
|
{
|
||||||
id: "1", title: "Authentic Belgian Cuisine", content: "Every dish prepared with traditional recipes and respect for Belgian culinary heritage. Owner in the kitchen ensures quality every service."
|
id: "1", title: "Cuisine Belge Authentique", content: "Chaque plat est préparé selon des recettes traditionnelles avec respect du patrimoine culinaire belge. Le propriétaire en cuisine garantit la qualité à chaque service."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "2", title: "Homemade Sauces & Quality Meats", content: "Sauces made fresh daily in-house. Premium meat selection sourced from trusted local suppliers."
|
id: "2", title: "Sauces Faites Maison & Viandes de Qualité", content: "Les sauces sont préparées fraîches chaque jour en cuisine. Sélection de viandes premium provenant de fournisseurs locaux de confiance."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3", title: "Fair Pricing (€20–30)", content: "Quality without pretension. We believe excellent food should be accessible to our neighborhood."
|
id: "3", title: "Prix Justes (€20–30)", content: "Qualité sans prétention. Nous croyons qu'une excellente nourriture doit être accessible à tous les habitants du quartier."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "4", title: "Warm Neighborhood Atmosphere", content: "Perfect for couples, families, and professionals. Board games available for long meals. A place where locals are family."
|
id: "4", title: "Atmosphère Chaleureuse du Quartier", content: "Idéal pour les couples, les familles et les professionnels. Jeux de société disponibles pour les repas prolongés. Un lieu où les locaux sont comme une famille."
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
@@ -199,24 +199,24 @@ export default function LandingPage() {
|
|||||||
|
|
||||||
<div id="reservation" data-section="reservation">
|
<div id="reservation" data-section="reservation">
|
||||||
<ContactSplitForm
|
<ContactSplitForm
|
||||||
title="Reserve Your Table"
|
title="Réservez Votre Table"
|
||||||
description="Book your next meal with us. Fill out the form below or call us directly at 02 779 36 74."
|
description="Réservez votre prochain repas avec nous. Remplissez le formulaire ci-dessous ou appelez-nous directement au 02 779 36 74."
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/tables-chairs-arranged-empty-coffee-shop_107420-96463.jpg?_wi=3"
|
imageSrc="http://img.b2bpic.net/free-photo/tables-chairs-arranged-empty-coffee-shop_107420-96463.jpg?_wi=3"
|
||||||
imageAlt="Le Grand Duc reservation"
|
imageAlt="Réservation Le Grand Duc"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
mediaPosition="right"
|
mediaPosition="right"
|
||||||
buttonText="Confirm Reservation"
|
buttonText="Confirmer la Réservation"
|
||||||
inputs={[
|
inputs={[
|
||||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
{ name: "name", type: "text", placeholder: "Votre Nom", required: true },
|
||||||
{ name: "email", type: "email", placeholder: "Your Email", required: true },
|
{ name: "email", type: "email", placeholder: "Votre Email", required: true },
|
||||||
{ name: "phone", type: "tel", placeholder: "Phone Number", required: true },
|
{ name: "phone", type: "tel", placeholder: "Numéro de Téléphone", required: true },
|
||||||
{ name: "date", type: "date", placeholder: "Preferred Date", required: true },
|
{ name: "date", type: "date", placeholder: "Date Préférée", required: true },
|
||||||
{ name: "time", type: "time", placeholder: "Preferred Time", required: true },
|
{ name: "time", type: "time", placeholder: "Heure Préférée", required: true },
|
||||||
{ name: "guests", type: "number", placeholder: "Number of Guests", required: true }
|
{ name: "guests", type: "number", placeholder: "Nombre de Convives", required: true }
|
||||||
]}
|
]}
|
||||||
textarea={{
|
textarea={{
|
||||||
name: "message", placeholder: "Special requests or dietary requirements?", rows: 4,
|
name: "message", placeholder: "Demandes spéciales ou régimes alimentaires?", rows: 4,
|
||||||
required: false
|
required: false
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@@ -224,9 +224,9 @@ export default function LandingPage() {
|
|||||||
|
|
||||||
<div id="location" data-section="location">
|
<div id="location" data-section="location">
|
||||||
<FaqBase
|
<FaqBase
|
||||||
title="Location, Hours & Questions"
|
title="Localisation, Horaires & Questions"
|
||||||
description="Everything you need to know about visiting Le Grand Duc."
|
description="Tout ce que vous devez savoir pour visiter Le Grand Duc."
|
||||||
tag="Contact Info"
|
tag="Infos Contact"
|
||||||
tagIcon={MapPin}
|
tagIcon={MapPin}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
@@ -234,19 +234,19 @@ export default function LandingPage() {
|
|||||||
faqsAnimation="slide-up"
|
faqsAnimation="slide-up"
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "1", title: "Where are you located?", content: "Rue du Duc 80, 1150 Woluwe-Saint-Pierre, Brussels. Easy parking nearby. Close to public transport."
|
id: "1", title: "Où êtes-vous situés?", content: "Rue du Duc 80, 1150 Woluwe-Saint-Pierre, Bruxelles. Parking facile à proximité. À proximité des transports en commun."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "2", title: "What are your opening hours?", content: "Tuesday–Sunday: 12:00 PM – 2:30 PM (Lunch), 6:30 PM – 11:00 PM (Dinner). Closed Mondays. We recommend calling ahead for group bookings."
|
id: "2", title: "Quels sont vos horaires d'ouverture?", content: "Mardi–Dimanche: 12h00 - 14h30 (Déjeuner), 18h30 - 23h00 (Dîner). Fermé le lundi. Nous recommandons d'appeler à l'avance pour les groupes."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3", title: "Do you offer takeaway or delivery?", content: "We specialize in in-restaurant dining to ensure the best experience. For special requests, please call us at 02 779 36 74."
|
id: "3", title: "Proposez-vous un service à emporter ou livraison?", content: "Nous nous spécialisons dans les repas sur place pour assurer la meilleure expérience. Pour des demandes spéciales, veuillez nous appeler au 02 779 36 74."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "4", title: "Do you accept group bookings?", content: "Yes! We welcome groups and families. For groups of 10 or more, please contact us in advance at 02 779 36 74 to arrange the best timing and menu options."
|
id: "4", title: "Acceptez-vous les réservations de groupe?", content: "Oui! Nous accueillons les groupes et les familles. Pour les groupes de 10 personnes ou plus, veuillez nous contacter à l'avance au 02 779 36 74 pour organiser le meilleur timing et options de menu."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "5", title: "How do I get directions?", content: "Use Google Maps to navigate to Rue du Duc 80. We're in the heart of Woluwe-Saint-Pierre, easily accessible by car or public transport."
|
id: "5", title: "Comment obtenir les directions?", content: "Utilisez Google Maps pour naviguer vers Rue du Duc 80. Nous sommes au cœur de Woluwe-Saint-Pierre, facilement accessible en voiture ou transports en commun."
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
@@ -258,34 +258,34 @@ export default function LandingPage() {
|
|||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Home", href: "#home" },
|
{ label: "Accueil", href: "#home" },
|
||||||
{ label: "Menu", href: "#signature" },
|
{ label: "Menu", href: "#signature" },
|
||||||
{ label: "Reserve", href: "#reservation" }
|
{ label: "Réserver", href: "#reservation" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "About Us", href: "#about" },
|
{ label: "À Propos", href: "#about" },
|
||||||
{ label: "Why Choose Us", href: "#features" },
|
{ label: "Pourquoi Nous", href: "#features" },
|
||||||
{ label: "Contact", href: "#location" }
|
{ label: "Contact", href: "#location" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Phone: 02 779 36 74", href: "tel:0277936774" },
|
{ label: "Téléphone: 02 779 36 74", href: "tel:0277936774" },
|
||||||
{ label: "Rue du Duc 80, Brussels", href: "https://maps.google.com" },
|
{ label: "Rue du Duc 80, Bruxelles", href: "https://maps.google.com" },
|
||||||
{ label: "Open Tue–Sun", href: "#location" }
|
{ label: "Ouvert Mar–Dim", href: "#location" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Privacy Policy", href: "#" },
|
{ label: "Politique de Confidentialité", href: "#" },
|
||||||
{ label: "Terms of Service", href: "#" },
|
{ label: "Conditions d'Utilisation", href: "#" },
|
||||||
{ label: "Legal Notice", href: "#" }
|
{ label: "Mentions Légales", href: "#" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
ariaLabel="Le Grand Duc site footer"
|
ariaLabel="Pied de page du site Le Grand Duc"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
|
|||||||
@@ -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-poppins), 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-poppins), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #ffffff;
|
--background: #3a3027;
|
||||||
--card: #f9f9f9;
|
--card: #4a4037;
|
||||||
--foreground: #000612e6;
|
--foreground: #f5f0eb;
|
||||||
--primary-cta: #15479c;
|
--primary-cta: #8b6f47;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #f9f9f9;
|
--secondary-cta: #4a4037;
|
||||||
--secondary-cta-text: #000612e6;
|
--secondary-cta-text: #000612e6;
|
||||||
--accent: #e2e2e2;
|
--accent: #c4b5a0;
|
||||||
--background-accent: #c4c4c4;
|
--background-accent: #6d5f51;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user