Merge version_2_1782052233603 into main #2
@@ -1,19 +1,19 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&display=swap');
|
||||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
|
||||
@import "tailwindcss";
|
||||
@import "./styles/masks.css";
|
||||
@import "./styles/animations.css";
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #efebe5;
|
||||
--card: #f7f2ea;
|
||||
--foreground: #000000;
|
||||
--primary-cta: #000000;
|
||||
--primary-cta-text: #efebe5;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #000000;
|
||||
--accent: #ffffff;
|
||||
--background-accent: #e1b875;
|
||||
--background: #F4EFE6;
|
||||
--card: #FFFDF8;
|
||||
--foreground: #1F2E26;
|
||||
--primary-cta: #243F32;
|
||||
--primary-cta-text: #F4EFE6;
|
||||
--secondary-cta: #C8A96A;
|
||||
--secondary-cta-text: #1F2E26;
|
||||
--accent: #6F826A;
|
||||
--background-accent: #C8A96A;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1rem;
|
||||
@@ -88,8 +88,8 @@
|
||||
--color-background-accent: var(--background-accent);
|
||||
|
||||
/* Fonts */
|
||||
--font-sans: 'Inter Tight', sans-serif;
|
||||
--font-tight: "Inter Tight", sans-serif;
|
||||
--font-sans: 'Inter', sans-serif;
|
||||
--font-tight: "Playfair Display", serif;
|
||||
--font-mono: monospace;
|
||||
|
||||
/* Border Radius */
|
||||
|
||||
@@ -1,210 +1,33 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
|
||||
import { Heart, Home, Star } from "lucide-react";
|
||||
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 AboutSection from './HomePage/sections/About';
|
||||
import FeaturesSection from './HomePage/sections/Features';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardCarousel
|
||||
tag="Tu retiro en Madrid"
|
||||
title="Experiencias Únicas en Finca La Caprichosa"
|
||||
description="Descubre un refugio acogedor en plena naturaleza. Habitaciones rústicas, villas y momentos inolvidables cerca de Madrid."
|
||||
primaryButton={{
|
||||
text: "Reservar Ahora",
|
||||
href: "tel:+34608760797",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Ver Galería",
|
||||
href: "#features",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/panoramic-shot-beautiful-landscape-farmland-mountains-virginia-usa_181624-45239.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-woman-sitting-boho-couch_23-2149647882.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-asian-woman-relax-smile-happy-around-outdoor-swimming-pool-hotel-resort-with-sea-ocean-view_74190-9084.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-beautiful-view-houses-trees-near-river_181624-23287.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/dessert-flowers-table_23-2149434114.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/meadow-background-swing-white-light_1203-6333.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Nuestra Historia"
|
||||
title="Un Refugio de Paz y Naturaleza"
|
||||
description="Finca La Caprichosa ofrece un espacio de desconexión absoluta. Disfruta de nuestras instalaciones impecables, rodeado de vistas espectaculares en Villa del Prado."
|
||||
items={[
|
||||
{
|
||||
icon: Star,
|
||||
title: "Entorno Natural",
|
||||
description: "Ubicación privilegiada con vistas inigualables.",
|
||||
},
|
||||
{
|
||||
icon: Home,
|
||||
title: "Estilo Rústico Chic",
|
||||
description: "Comodidad máxima en cada villa y habitación.",
|
||||
},
|
||||
{
|
||||
icon: Heart,
|
||||
title: "Atención Cercana",
|
||||
description: "La hospitalidad de nuestro equipo te hará sentir como en casa.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/room-interior-design_23-2148899447.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesRevealCards
|
||||
tag="Servicios"
|
||||
title="Disfruta de la Experiencia Completa"
|
||||
description="Todo lo que necesitas para una escapada perfecta y revitalizante."
|
||||
items={[
|
||||
{
|
||||
title: "Chimenea Acogedora",
|
||||
description: "El plus perfecto para los meses de frío.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/flower-vase-modern-interior_23-2151928892.jpg",
|
||||
},
|
||||
{
|
||||
title: "Piscina Privada",
|
||||
description: "Refréscate y relájate en nuestro entorno privado.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/architecture-unidentified-tourists_74190-4259.jpg",
|
||||
},
|
||||
{
|
||||
title: "Zona de Barbacoa",
|
||||
description: "Organiza tus comidas al aire libre con estilo.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-man-roasting-barbecue-grill-cottage-countryside_176420-1837.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Nuestros Logros"
|
||||
title="Clientes Satisfechos"
|
||||
description="La confianza de quienes nos eligen año tras año."
|
||||
metrics={[
|
||||
{
|
||||
value: "360+",
|
||||
title: "Reseñas de Confianza",
|
||||
description: "Valoración media de 4.5/5 estrellas en Google.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-stylish-couple-love-countryside-indie-hipster-bohemian-style-weekend-vacation-summer-outfit-red-dress-green-grass-holding-hands-smiling_285396-2633.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialQuoteCards
|
||||
tag="Experiencias"
|
||||
title="Lo que dicen nuestros huéspedes"
|
||||
description="Historias reales de personas que vivieron su fin de semana inolvidable."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Raquel Navio",
|
||||
role: "Huésped",
|
||||
quote: "Todo fenomenal, la casa tiene de todo, ¡colchones muy cómodos y la chimenea es un plus!",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/supportive-cute-blond-girlfriend-cheering-liking-interesting-concept-cool-idea-thumbsup-smiling_1258-229510.jpg",
|
||||
},
|
||||
{
|
||||
name: "Lidia del Álamo",
|
||||
role: "Huésped",
|
||||
quote: "Estupenda casita para desconectar. Todo impecable y cómodo, el entorno es una pasada.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-unshaven-man-santa-claus-hat-with-fur-looking-camera-smiling-happily-celebrating-new-year-while-vacations-tropical-country_273609-19169.jpg",
|
||||
},
|
||||
{
|
||||
name: "Almudena A.J.",
|
||||
role: "Huésped",
|
||||
quote: "Un fin de semana perfecto. La finca está muy cuidada y el entorno es idílico.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/playful-attractive-african-american-with-afro-haistyle-sticking-out-tongue-being-childish-while-sitting-bean-bad-chair-with-cup-coffee_176420-19803.jpg",
|
||||
},
|
||||
{
|
||||
name: "Visitante 4",
|
||||
role: "Huésped",
|
||||
quote: "Atención inmejorable por parte de los dueños. Repetiremos sin duda.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-happy-couple-with-firewood_23-2149411870.jpg",
|
||||
},
|
||||
{
|
||||
name: "Visitante 5",
|
||||
role: "Huésped",
|
||||
quote: "Ideal para parejas y mascotas. Un oasis de tranquilidad.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/excited-happy-womna-dressed-shorts-bright-shirt-sitting-beach-with-coconut-cocktail-pointing-aside_291650-1262.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Preguntas frecuentes"
|
||||
title="¿Tienes alguna duda?"
|
||||
description="Estamos aquí para facilitarte toda la información antes de tu llegada."
|
||||
items={[
|
||||
{
|
||||
question: "¿Se aceptan mascotas?",
|
||||
answer: "Sí, nuestros huéspedes pueden venir con sus mascotas sin problema.",
|
||||
},
|
||||
{
|
||||
question: "¿A qué hora es el check-in?",
|
||||
answer: "Nuestro horario permite flexibilidad; contacta con nosotros para coordinar tu llegada.",
|
||||
},
|
||||
{
|
||||
question: "¿La piscina está abierta todo el año?",
|
||||
answer: "Disponemos de piscina cubierta/climatizada para disfrutar en distintas temporadas.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/clients-buy-chemicals-free-food_482257-76636.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Contacto"
|
||||
text="¿Quieres organizar tu próxima escapada o evento? ¡Llámanos o escríbenos!"
|
||||
primaryButton={{
|
||||
text: "Llamar ahora: 608 760 797",
|
||||
href: "tel:+34608760797",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Enviar Email",
|
||||
href: "mailto:info@fincalacaprichosa.es",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
39
src/pages/HomePage/sections/About.tsx
Normal file
39
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "about" section.
|
||||
|
||||
import React from 'react';
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import { Heart, Home, Star } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Nuestra Historia"
|
||||
title="Un Refugio de Paz y Naturaleza"
|
||||
description="Finca La Caprichosa ofrece un espacio de desconexión absoluta. Disfruta de nuestras instalaciones impecables, rodeado de vistas espectaculares en Villa del Prado."
|
||||
items={[
|
||||
{
|
||||
icon: Star,
|
||||
title: "Entorno Natural",
|
||||
description: "Ubicación privilegiada con vistas inigualables.",
|
||||
},
|
||||
{
|
||||
icon: Home,
|
||||
title: "Estilo Rústico Chic",
|
||||
description: "Comodidad máxima en cada villa y habitación.",
|
||||
},
|
||||
{
|
||||
icon: Heart,
|
||||
title: "Atención Cercana",
|
||||
description: "La hospitalidad de nuestro equipo te hará sentir como en casa.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/room-interior-design_23-2148899447.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.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 "contact" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Contacto"
|
||||
text="¿Quieres organizar tu próxima escapada o evento? ¡Llámanos o escríbenos!"
|
||||
primaryButton={{
|
||||
text: "Llamar ahora: 608 760 797",
|
||||
href: "tel:+34608760797",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Enviar Email",
|
||||
href: "mailto:info@fincalacaprichosa.es",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
35
src/pages/HomePage/sections/Faq.tsx
Normal file
35
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Preguntas frecuentes"
|
||||
title="¿Tienes alguna duda?"
|
||||
description="Estamos aquí para facilitarte toda la información antes de tu llegada."
|
||||
items={[
|
||||
{
|
||||
question: "¿Se aceptan mascotas?",
|
||||
answer: "Sí, nuestros huéspedes pueden venir con sus mascotas sin problema.",
|
||||
},
|
||||
{
|
||||
question: "¿A qué hora es el check-in?",
|
||||
answer: "Nuestro horario permite flexibilidad; contacta con nosotros para coordinar tu llegada.",
|
||||
},
|
||||
{
|
||||
question: "¿La piscina está abierta todo el año?",
|
||||
answer: "Disponemos de piscina cubierta/climatizada para disfrutar en distintas temporadas.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/clients-buy-chemicals-free-food_482257-76636.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Features.tsx
Normal file
37
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,37 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesRevealCards
|
||||
tag="Servicios"
|
||||
title="Disfruta de la Experiencia Completa"
|
||||
description="Todo lo que necesitas para una escapada perfecta y revitalizante."
|
||||
items={[
|
||||
{
|
||||
title: "Chimenea Acogedora",
|
||||
description: "El plus perfecto para los meses de frío.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/flower-vase-modern-interior_23-2151928892.jpg",
|
||||
},
|
||||
{
|
||||
title: "Piscina Privada",
|
||||
description: "Refréscate y relájate en nuestro entorno privado.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/architecture-unidentified-tourists_74190-4259.jpg",
|
||||
},
|
||||
{
|
||||
title: "Zona de Barbacoa",
|
||||
description: "Organiza tus comidas al aire libre con estilo.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-man-roasting-barbecue-grill-cottage-countryside_176420-1837.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
48
src/pages/HomePage/sections/Hero.tsx
Normal file
48
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,48 @@
|
||||
// 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="Tu retiro en Madrid"
|
||||
title="Experiencias Únicas en Finca La Caprichosa"
|
||||
description="Descubre un refugio acogedor en plena naturaleza. Habitaciones rústicas, villas y momentos inolvidables cerca de Madrid."
|
||||
primaryButton={{
|
||||
text: "Reservar Ahora",
|
||||
href: "tel:+34608760797",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Ver Galería",
|
||||
href: "#features",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/panoramic-shot-beautiful-landscape-farmland-mountains-virginia-usa_181624-45239.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-woman-sitting-boho-couch_23-2149647882.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-asian-woman-relax-smile-happy-around-outdoor-swimming-pool-hotel-resort-with-sea-ocean-view_74190-9084.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-beautiful-view-houses-trees-near-river_181624-23287.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/dessert-flowers-table_23-2149434114.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/meadow-background-swing-white-light_1203-6333.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
28
src/pages/HomePage/sections/Metrics.tsx
Normal file
28
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "metrics" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Nuestros Logros"
|
||||
title="Clientes Satisfechos"
|
||||
description="La confianza de quienes nos eligen año tras año."
|
||||
metrics={[
|
||||
{
|
||||
value: "360+",
|
||||
title: "Reseñas de Confianza",
|
||||
description: "Valoración media de 4.5/5 estrellas en Google.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-stylish-couple-love-countryside-indie-hipster-bohemian-style-weekend-vacation-summer-outfit-red-dress-green-grass-holding-hands-smiling_285396-2633.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
// 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 TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialQuoteCards
|
||||
tag="Experiencias"
|
||||
title="Lo que dicen nuestros huéspedes"
|
||||
description="Historias reales de personas que vivieron su fin de semana inolvidable."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Raquel Navio",
|
||||
role: "Huésped",
|
||||
quote: "Todo fenomenal, la casa tiene de todo, ¡colchones muy cómodos y la chimenea es un plus!",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/supportive-cute-blond-girlfriend-cheering-liking-interesting-concept-cool-idea-thumbsup-smiling_1258-229510.jpg",
|
||||
},
|
||||
{
|
||||
name: "Lidia del Álamo",
|
||||
role: "Huésped",
|
||||
quote: "Estupenda casita para desconectar. Todo impecable y cómodo, el entorno es una pasada.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-unshaven-man-santa-claus-hat-with-fur-looking-camera-smiling-happily-celebrating-new-year-while-vacations-tropical-country_273609-19169.jpg",
|
||||
},
|
||||
{
|
||||
name: "Almudena A.J.",
|
||||
role: "Huésped",
|
||||
quote: "Un fin de semana perfecto. La finca está muy cuidada y el entorno es idílico.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/playful-attractive-african-american-with-afro-haistyle-sticking-out-tongue-being-childish-while-sitting-bean-bad-chair-with-cup-coffee_176420-19803.jpg",
|
||||
},
|
||||
{
|
||||
name: "Visitante 4",
|
||||
role: "Huésped",
|
||||
quote: "Atención inmejorable por parte de los dueños. Repetiremos sin duda.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-happy-couple-with-firewood_23-2149411870.jpg",
|
||||
},
|
||||
{
|
||||
name: "Visitante 5",
|
||||
role: "Huésped",
|
||||
quote: "Ideal para parejas y mascotas. Un oasis de tranquilidad.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/excited-happy-womna-dressed-shorts-bright-shirt-sitting-beach-with-coconut-cocktail-pointing-aside_291650-1262.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user