Compare commits
3 Commits
version_2_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 19a8ca0fc7 | |||
|
|
ce35405d14 | ||
| 1877ca26d2 |
@@ -1,91 +1,29 @@
|
||||
import AboutText from '@/components/sections/about/AboutText';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
import TeamProfileCards from '@/components/sections/team/TeamProfileCards';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
|
||||
// files directly. Non-block content (wrappers, non-inlinable sections) is
|
||||
// preserved inline; extracted section blocks become <XSection/> refs.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import ExperienceSection from './HomePage/sections/Experience';
|
||||
import ChefSection from './HomePage/sections/Chef';
|
||||
import MenuSection from './HomePage/sections/Menu';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
|
||||
|
||||
import ReservationsSection from './HomePage/sections/Reservations';export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardCarousel
|
||||
tag="Distinción Gastronómica"
|
||||
title="Donde la Gastronomía Francesa y Mexicana se Encuentran"
|
||||
description="Una experiencia culinaria en Mérida, Yucatán, diseñada para dejar un recuerdo inolvidable."
|
||||
primaryButton={{ text: "Reservar una Mesa", href: "#reservations" }}
|
||||
secondaryButton={{ text: "Organizar un Evento", href: "#events" }}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/top-view-citrus-fruits-as-pineapple-kiwi-orange-lime-lemon-tangerine-slices-with-bread-slices-tray-jam-bowl-around-empty-plate-black-background_141793-130426.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-senior-with-delicious-food_23-2150854212.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/romantic-couple-having-date-restaurant_23-2147736700.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/male-bartender-serving-cocktail-with-fruits_23-2148209397.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/middle-age-friends-night-having-dinner_23-2149190917.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/boiled-coffee-cups-sweets_140725-3711.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="experience" data-section="experience">
|
||||
<SectionErrorBoundary name="experience">
|
||||
<AboutText
|
||||
title="Más que una cena, una experiencia. Celebramos la fusión única de la técnica francesa y el alma mexicana, curada con los mejores ingredientes y un toque romántico y personalizado en el corazón de Mérida."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ExperienceSection />
|
||||
|
||||
<div id="chef" data-section="chef">
|
||||
<SectionErrorBoundary name="chef">
|
||||
<TeamProfileCards
|
||||
tag="Our Culinary Vision"
|
||||
title="The Art of the Chef"
|
||||
description="A journey through flavors honed across continents."
|
||||
items={[
|
||||
{
|
||||
title: "Chef de Cuisine", description: "With over 20 years of experience across France, Switzerland, and Mexico, our chef crafts stories through each plate.", avatarSrc: "http://img.b2bpic.net/free-photo/confident-chef-wearing-uniform-posing-with-his-arms-crossed-looking-camera-restaurant-kitchen_613910-21352.jpg", imageSrc: "http://img.b2bpic.net/free-photo/woman-working-as-professional-chef_23-2151864187.jpg", buttonText: "View Story"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ChefSection />
|
||||
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Culinary Architecture"
|
||||
title="Featured Menu"
|
||||
description="Curated selection of our signature offerings."
|
||||
items={[
|
||||
{ title: "Velouté de Maíz", description: "Classic French technique with native Yucatecan corn.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/fried-fish-with-cream-vegetables_140725-2091.jpg" },
|
||||
{ title: "Confit de Pato", description: "Duck confit paired with a savory mole reduction.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-chocolate-cake_23-2148549948.jpg" },
|
||||
{ title: "Tartare del Centro", description: "Beef tartare with refined Mexican spices.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/meat-with-ginger-top-view_141793-4482.jpg" },
|
||||
{ title: "Soufflé de Cacao", description: "Rich artisanal chocolate with subtle local chilies.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/elegant-dessert-presentation-with-edible-flowers_23-2151973722.jpg" },
|
||||
{ title: "Pescado a la Plancha", description: "Fresh catch prepared with fine herbs.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/dark-plate-with-waffles-grapes-dark-background_23-2148340373.jpg" },
|
||||
{ title: "Ceviche Gastronomique", description: "Refined seafood acidity with a hint of citrus.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/intelligence-agent-preparing-analyze-top-secret-data-storage-hard-disk_482257-113386.jpg" },
|
||||
{ title: "Petit Fours", description: "A sweet conclusion with delicate local flavors.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-scoop-ice-cream-with-flowers_23-2148425550.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MenuSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Our Guest's Memories"
|
||||
title="Every Visit Leaves a Light"
|
||||
description="Discover what our guests are saying about their dining experience."
|
||||
testimonials={[
|
||||
{ name: "Sarah J.", role: "Food Critic", quote: "An absolute revelation in Mérida's culinary scene.", imageSrc: "http://img.b2bpic.net/free-photo/charming-brunette-black-dress-is-standing-by-her-man-who-sits-table-luxury-restaurant_613910-18639.jpg" },
|
||||
{ name: "David M.", role: "Architect", quote: "The fusion of architecture and taste is unprecedented.", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081852.jpg" },
|
||||
{ name: "Elena R.", role: "Designer", quote: "A romantic evening I will treasure forever.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-couple-enjoying-meal-evening_23-2147736698.jpg" },
|
||||
{ name: "Marc L.", role: "Traveler", quote: "Michelin-level standards in the heart of Yucatán.", imageSrc: "http://img.b2bpic.net/free-photo/people-cheering-with-wine-glasses-luxurious-restaurant_23-2150517422.jpg" },
|
||||
{ name: "Sophie K.", role: "Gourmand", quote: "The most sophisticated dinner I've had in years.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-business-woman-thinking_23-2148317340.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
<ReservationsSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
25
src/pages/HomePage/sections/Chef.tsx
Normal file
25
src/pages/HomePage/sections/Chef.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "chef" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamProfileCards from '@/components/sections/team/TeamProfileCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ChefSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="chef" data-section="chef">
|
||||
<SectionErrorBoundary name="chef">
|
||||
<TeamProfileCards
|
||||
tag="Our Culinary Vision"
|
||||
title="The Art of the Chef"
|
||||
description="A journey through flavors honed across continents."
|
||||
items={[
|
||||
{
|
||||
title: "Chef de Cuisine", description: "With over 20 years of experience across France, Switzerland, and Mexico, our chef crafts stories through each plate.", avatarSrc: "http://img.b2bpic.net/free-photo/confident-chef-wearing-uniform-posing-with-his-arms-crossed-looking-camera-restaurant-kitchen_613910-21352.jpg", imageSrc: "http://img.b2bpic.net/free-photo/woman-working-as-professional-chef_23-2151864187.jpg", buttonText: "View Story"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
18
src/pages/HomePage/sections/Experience.tsx
Normal file
18
src/pages/HomePage/sections/Experience.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "experience" section.
|
||||
|
||||
import React from 'react';
|
||||
import AboutText from '@/components/sections/about/AboutText';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ExperienceSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="experience" data-section="experience">
|
||||
<SectionErrorBoundary name="experience">
|
||||
<AboutText
|
||||
title="Más que una cena, una experiencia. Celebramos la fusión única de la técnica francesa y el alma mexicana, curada con los mejores ingredientes y un toque romántico y personalizado en el corazón de Mérida."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
30
src/pages/HomePage/sections/Hero.tsx
Normal file
30
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardCarousel
|
||||
tag="Distinción Gastronómica"
|
||||
title="Donde la Gastronomía Francesa y Mexicana se Encuentran"
|
||||
description="Una experiencia culinaria en Mérida, Yucatán, diseñada para dejar un recuerdo inolvidable."
|
||||
primaryButton={{ text: "Reservar una Mesa", href: "#reservations" }}
|
||||
secondaryButton={{ text: "Organizar un Evento", href: "#events" }}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/top-view-citrus-fruits-as-pineapple-kiwi-orange-lime-lemon-tangerine-slices-with-bread-slices-tray-jam-bowl-around-empty-plate-black-background_141793-130426.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-senior-with-delicious-food_23-2150854212.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/romantic-couple-having-date-restaurant_23-2147736700.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/male-bartender-serving-cocktail-with-fruits_23-2148209397.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/middle-age-friends-night-having-dinner_23-2149190917.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/boiled-coffee-cups-sweets_140725-3711.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Menu.tsx
Normal file
29
src/pages/HomePage/sections/Menu.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "menu" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MenuSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Culinary Architecture"
|
||||
title="Featured Menu"
|
||||
description="Curated selection of our signature offerings."
|
||||
items={[
|
||||
{ title: "Velouté de Maíz", description: "Classic French technique with native Yucatecan corn.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/fried-fish-with-cream-vegetables_140725-2091.jpg" },
|
||||
{ title: "Confit de Pato", description: "Duck confit paired with a savory mole reduction.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-chocolate-cake_23-2148549948.jpg" },
|
||||
{ title: "Tartare del Centro", description: "Beef tartare with refined Mexican spices.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/meat-with-ginger-top-view_141793-4482.jpg" },
|
||||
{ title: "Soufflé de Cacao", description: "Rich artisanal chocolate with subtle local chilies.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/elegant-dessert-presentation-with-edible-flowers_23-2151973722.jpg" },
|
||||
{ title: "Pescado a la Plancha", description: "Fresh catch prepared with fine herbs.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/dark-plate-with-waffles-grapes-dark-background_23-2148340373.jpg" },
|
||||
{ title: "Ceviche Gastronomique", description: "Refined seafood acidity with a hint of citrus.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/intelligence-agent-preparing-analyze-top-secret-data-storage-hard-disk_482257-113386.jpg" },
|
||||
{ title: "Petit Fours", description: "A sweet conclusion with delicate local flavors.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-scoop-ice-cream-with-flowers_23-2148425550.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
20
src/pages/HomePage/sections/Reservations.tsx
Normal file
20
src/pages/HomePage/sections/Reservations.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
// Created by add_section_from_catalog (ContactSplitForm).
|
||||
|
||||
import React from 'react';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
|
||||
export default function ReservationsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="reservations" id="reservations">
|
||||
<ContactSplitForm
|
||||
textarea={{"name":"comments","rows":4,"placeholder":"Comentarios Especiales","required":false}}
|
||||
tag="Reservaciones"
|
||||
title="Reserva Tu Experiencia"
|
||||
description="Permítenos preparar una experiencia gastronómica inolvidable para ti."
|
||||
imageSrc="http://img.b2bpic.net/free-photo/romantic-couple-having-date-restaurant_23-2147736700.jpg"
|
||||
buttonText="Reservar Ahora"
|
||||
inputs={[{"placeholder":"Nombre","required":true,"name":"name","type":"text"},{"type":"tel","name":"phone","placeholder":"Teléfono","required":true},{"placeholder":"Correo Electrónico","required":true,"type":"email","name":"email"},{"placeholder":"Fecha","required":true,"name":"date","type":"date"},{"type":"time","name":"time","placeholder":"Hora","required":true},{"name":"partySize","type":"number","placeholder":"Número de Personas","required":true}]}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Testimonials.tsx
Normal file
27
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Our Guest's Memories"
|
||||
title="Every Visit Leaves a Light"
|
||||
description="Discover what our guests are saying about their dining experience."
|
||||
testimonials={[
|
||||
{ name: "Sarah J.", role: "Food Critic", quote: "An absolute revelation in Mérida's culinary scene.", imageSrc: "http://img.b2bpic.net/free-photo/charming-brunette-black-dress-is-standing-by-her-man-who-sits-table-luxury-restaurant_613910-18639.jpg" },
|
||||
{ name: "David M.", role: "Architect", quote: "The fusion of architecture and taste is unprecedented.", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081852.jpg" },
|
||||
{ name: "Elena R.", role: "Designer", quote: "A romantic evening I will treasure forever.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-couple-enjoying-meal-evening_23-2147736698.jpg" },
|
||||
{ name: "Marc L.", role: "Traveler", quote: "Michelin-level standards in the heart of Yucatán.", imageSrc: "http://img.b2bpic.net/free-photo/people-cheering-with-wine-glasses-luxurious-restaurant_23-2150517422.jpg" },
|
||||
{ name: "Sophie K.", role: "Gourmand", quote: "The most sophisticated dinner I've had in years.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-business-woman-thinking_23-2148317340.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user