Compare commits
1 Commits
version_1_
...
version_2_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ff81f96ae |
@@ -1,229 +1,33 @@
|
||||
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
|
||||
import TeamGlassCards from '@/components/sections/team/TeamGlassCards';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
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 MenuSection from './HomePage/sections/Menu';
|
||||
import FeaturesSection from './HomePage/sections/Features';
|
||||
import GallerySection from './HomePage/sections/Gallery';
|
||||
import ReviewsSection from './HomePage/sections/Reviews';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitMediaGrid
|
||||
tag="Ouvert 24/7"
|
||||
title="A Spartan Welcome, A Lounge Worth Conquering"
|
||||
description="Plongez dans une atmosphère unique à Marrakech où l'élégance sparte rencontre la détente absolue. Notre salon est ouvert 24h/24 pour vos envies d'évasion."
|
||||
primaryButton={{
|
||||
text: "Appeler pour réserver",
|
||||
href: "tel:0639730753",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Obtenir l'itinéraire",
|
||||
href: "https://maps.google.com",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ramadan-concept-with-glasses_23-2147791754.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gladiator-with-muscular-body-holding-helmet_613910-15522.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTestimonial
|
||||
tag="Notre histoire"
|
||||
quote="Le Sparta Lounge n'est pas seulement un restaurant, c'est une conquête du goût. Un mélange audacieux de force antique et de confort moderne dans le cœur de Marrakech."
|
||||
author="La direction"
|
||||
role="Votre refuge 24/7"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/roman-warrior-with-muscular-body-holding-sword-shield_613910-2582.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Découvrez notre menu"
|
||||
title="Cuisine & Saveurs"
|
||||
description="Une sélection raffinée de plats gourmands et des mélanges de chicha exclusifs pour une expérience inoubliable."
|
||||
items={[
|
||||
{
|
||||
title: "Caesar Salad",
|
||||
description: "Salade croquante, poulet grillé, parmesan.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/leaf-caesar-dish-green-grilled_1203-6221.jpg",
|
||||
},
|
||||
{
|
||||
title: "Poulet Spartiate",
|
||||
description: "Poulet assaisonné aux légumes, sauce secrète.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/chicken-stir-fry-vegetables-wooden-table_123827-21386.jpg",
|
||||
},
|
||||
{
|
||||
title: "Kapsalon",
|
||||
description: "Fusion hollando-marocaine gourmande.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/crispy-chicken-cutlet-with-katsu-sauce-with-white-rice-broccoli-stone-table_127032-3439.jpg",
|
||||
},
|
||||
{
|
||||
title: "Frikandel",
|
||||
description: "Snack classique savoureux.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/salad-with-chicken-chunks-served-plate-closeup_1220-6999.jpg",
|
||||
},
|
||||
{
|
||||
title: "Chicha Premium",
|
||||
description: "Arômes exclusifs, préparation artisanale.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hookah-ready-smoke_23-2149173605.jpg",
|
||||
},
|
||||
{
|
||||
title: "Boissons Fraîches",
|
||||
description: "Sélection de jus naturels et cocktails.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ham-slices-with-vegetables-plate_140725-2137.jpg",
|
||||
},
|
||||
{
|
||||
title: "Desserts",
|
||||
description: "Douceurs orientales traditionnelles.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-chicken-sage-with-potatoes-vegetables-pita-bread_141793-3975.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MenuSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBentoGrid
|
||||
tag="Nos spécialités"
|
||||
title="Plus qu'un Lounge"
|
||||
description="Le Sparta Lounge propose une expérience complète, fusionnant des snacks fusion uniques et une expertise chicha reconnue à Marrakech."
|
||||
features={[
|
||||
{
|
||||
title: "Chicha de qualité",
|
||||
description: "Les meilleurs mélanges de saveurs.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hookah-vaping_23-2149297194.jpg",
|
||||
},
|
||||
{
|
||||
title: "Fusion culinaire",
|
||||
description: "Goûtez à notre spécialité Kapsalon.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cup-tea-with-lemon-white-desk_140725-79721.jpg",
|
||||
},
|
||||
{
|
||||
title: "Ambiance Spartiate",
|
||||
description: "Un décor unique et immersif.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/spa-equipments-with-soap-cotton-flower_23-2147844979.jpg",
|
||||
},
|
||||
{
|
||||
title: "Service 24/7",
|
||||
description: "Toujours là pour vous.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/soldier-helmet-still-life_23-2151648756.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="gallery" data-section="gallery">
|
||||
<SectionErrorBoundary name="gallery">
|
||||
<TeamGlassCards
|
||||
tag="Galerie"
|
||||
title="Immergez-vous dans l'univers"
|
||||
description="Découvrez l'intérieur unique du Sparta Lounge."
|
||||
members={[
|
||||
{
|
||||
name: "Lounge",
|
||||
role: "Ambiance",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/luxury-dining-room-authentic-interior-design_53876-129853.jpg",
|
||||
},
|
||||
{
|
||||
name: "Spartan",
|
||||
role: "Décor",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hookah-still-life-assortment_23-2149213304.jpg",
|
||||
},
|
||||
{
|
||||
name: "Chicha",
|
||||
role: "Détente",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/scene-from-morocco_23-2148129786.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<GallerySection />
|
||||
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialRatingCards
|
||||
tag="Avis"
|
||||
title="Ce que disent nos clients"
|
||||
description="La satisfaction client est notre conquête quotidienne."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Youssef",
|
||||
role: "Habitué",
|
||||
quote: "La meilleure chicha de Marrakech, équipe très accueillante !",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-photo-beautiful-lady-sitting-restaurant-smiling-camera_114579-92383.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah",
|
||||
role: "Touriste",
|
||||
quote: "Décoration incroyable sur le thème sparte, super original.",
|
||||
rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-cafe-dines-traditional-shakshuka-ayran_169016-16512.jpg",
|
||||
},
|
||||
{
|
||||
name: "Karim",
|
||||
role: "Gourmand",
|
||||
quote: "Un peu cher parfois, mais le Kapsalon en vaut largement la peine.",
|
||||
rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-smiling_1187-3402.jpg",
|
||||
},
|
||||
{
|
||||
name: "Amine",
|
||||
role: "Client régulier",
|
||||
quote: "Ouvert 24/7, c'est devenu mon QG après le travail.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-teenage-girl-sitting-cafe_1262-3048.jpg",
|
||||
},
|
||||
{
|
||||
name: "Nora",
|
||||
role: "Visiteuse",
|
||||
quote: "Cadre très moody, idéal pour se détendre en soirée.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-young-man-standing-against-wall_23-2148130272.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ReviewsSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Contact"
|
||||
text="Bd Prince Moulay Abdellah, Marrakech 40000 | 06 39 73 07 53 | Ouvert 24/7"
|
||||
primaryButton={{
|
||||
text: "Appeler maintenant",
|
||||
href: "tel:0639730753",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Itinéraire",
|
||||
href: "https://maps.google.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
22
src/pages/HomePage/sections/About.tsx
Normal file
22
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTestimonial
|
||||
tag="Notre histoire"
|
||||
quote="Le Sparta Lounge n'est pas seulement un restaurant, c'est une conquête du goût. Un mélange audacieux de force antique et de confort moderne dans le cœur de Marrakech."
|
||||
author="La direction"
|
||||
role="Votre refuge 24/7"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/roman-warrior-with-muscular-body-holding-sword-shield_613910-2582.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="Contact"
|
||||
text="Bd Prince Moulay Abdellah, Marrakech 40000 | 06 39 73 07 53 | Ouvert 24/7"
|
||||
primaryButton={{
|
||||
text: "Appeler maintenant",
|
||||
href: "tel:0639730753",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Itinéraire",
|
||||
href: "https://maps.google.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Features.tsx
Normal file
21
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// 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 FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBentoGrid
|
||||
tag="Nos spécialités"
|
||||
title="Plus qu'un Lounge"
|
||||
description="Le Sparta Lounge propose une expérience complète, fusionnant des snacks fusion uniques et une expertise chicha reconnue à Marrakech."
|
||||
features={[{"title":"Chicha de qualité","videoSrc":"https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4","description":"Les meilleurs mélanges de saveurs."},{"title":"Fusion culinaire","imageSrc":"http://img.b2bpic.net/free-photo/top-view-cup-tea-with-lemon-white-desk_140725-79721.jpg","description":"Goûtez à notre spécialité Kapsalon."},{"imageSrc":"http://img.b2bpic.net/free-photo/spa-equipments-with-soap-cotton-flower_23-2147844979.jpg","description":"Un décor unique et immersif.","title":"Ambiance Spartiate"},{"title":"Service 24/7","description":"Toujours là pour vous.","imageSrc":"http://img.b2bpic.net/free-photo/soldier-helmet-still-life_23-2151648756.jpg"}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Gallery.tsx
Normal file
37
src/pages/HomePage/sections/Gallery.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 "gallery" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamGlassCards from '@/components/sections/team/TeamGlassCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function GallerySection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="gallery" data-section="gallery">
|
||||
<SectionErrorBoundary name="gallery">
|
||||
<TeamGlassCards
|
||||
tag="Galerie"
|
||||
title="Immergez-vous dans l'univers"
|
||||
description="Découvrez l'intérieur unique du Sparta Lounge."
|
||||
members={[
|
||||
{
|
||||
name: "Lounge",
|
||||
role: "Ambiance",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/luxury-dining-room-authentic-interior-design_53876-129853.jpg",
|
||||
},
|
||||
{
|
||||
name: "Spartan",
|
||||
role: "Décor",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hookah-still-life-assortment_23-2149213304.jpg",
|
||||
},
|
||||
{
|
||||
name: "Chicha",
|
||||
role: "Détente",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/scene-from-morocco_23-2148129786.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
36
src/pages/HomePage/sections/Hero.tsx
Normal file
36
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
// 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 HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitMediaGrid
|
||||
tag="Ouvert 24/7"
|
||||
title="A Spartan Welcome, A Lounge Worth Conquering"
|
||||
description="Plongez dans une atmosphère unique à Marrakech où l'élégance sparte rencontre la détente absolue. Notre salon est ouvert 24h/24 pour vos envies d'évasion."
|
||||
primaryButton={{
|
||||
text: "Appeler pour réserver",
|
||||
href: "tel:0639730753",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Obtenir l'itinéraire",
|
||||
href: "https://maps.google.com",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ramadan-concept-with-glasses_23-2147791754.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gladiator-with-muscular-body-holding-helmet_613910-15522.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/Menu.tsx
Normal file
64
src/pages/HomePage/sections/Menu.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
// 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="Découvrez notre menu"
|
||||
title="Cuisine & Saveurs"
|
||||
description="Une sélection raffinée de plats gourmands et des mélanges de chicha exclusifs pour une expérience inoubliable."
|
||||
items={[
|
||||
{
|
||||
title: "Caesar Salad",
|
||||
description: "Salade croquante, poulet grillé, parmesan.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/leaf-caesar-dish-green-grilled_1203-6221.jpg",
|
||||
},
|
||||
{
|
||||
title: "Poulet Spartiate",
|
||||
description: "Poulet assaisonné aux légumes, sauce secrète.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/chicken-stir-fry-vegetables-wooden-table_123827-21386.jpg",
|
||||
},
|
||||
{
|
||||
title: "Kapsalon",
|
||||
description: "Fusion hollando-marocaine gourmande.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/crispy-chicken-cutlet-with-katsu-sauce-with-white-rice-broccoli-stone-table_127032-3439.jpg",
|
||||
},
|
||||
{
|
||||
title: "Frikandel",
|
||||
description: "Snack classique savoureux.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/salad-with-chicken-chunks-served-plate-closeup_1220-6999.jpg",
|
||||
},
|
||||
{
|
||||
title: "Chicha Premium",
|
||||
description: "Arômes exclusifs, préparation artisanale.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hookah-ready-smoke_23-2149173605.jpg",
|
||||
},
|
||||
{
|
||||
title: "Boissons Fraîches",
|
||||
description: "Sélection de jus naturels et cocktails.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ham-slices-with-vegetables-plate_140725-2137.jpg",
|
||||
},
|
||||
{
|
||||
title: "Desserts",
|
||||
description: "Douceurs orientales traditionnelles.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-chicken-sage-with-potatoes-vegetables-pita-bread_141793-3975.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Reviews.tsx
Normal file
57
src/pages/HomePage/sections/Reviews.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "reviews" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ReviewsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialRatingCards
|
||||
tag="Avis"
|
||||
title="Ce que disent nos clients"
|
||||
description="La satisfaction client est notre conquête quotidienne."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Youssef",
|
||||
role: "Habitué",
|
||||
quote: "La meilleure chicha de Marrakech, équipe très accueillante !",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-photo-beautiful-lady-sitting-restaurant-smiling-camera_114579-92383.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah",
|
||||
role: "Touriste",
|
||||
quote: "Décoration incroyable sur le thème sparte, super original.",
|
||||
rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-cafe-dines-traditional-shakshuka-ayran_169016-16512.jpg",
|
||||
},
|
||||
{
|
||||
name: "Karim",
|
||||
role: "Gourmand",
|
||||
quote: "Un peu cher parfois, mais le Kapsalon en vaut largement la peine.",
|
||||
rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-smiling_1187-3402.jpg",
|
||||
},
|
||||
{
|
||||
name: "Amine",
|
||||
role: "Client régulier",
|
||||
quote: "Ouvert 24/7, c'est devenu mon QG après le travail.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-teenage-girl-sitting-cafe_1262-3048.jpg",
|
||||
},
|
||||
{
|
||||
name: "Nora",
|
||||
role: "Visiteuse",
|
||||
quote: "Cadre très moody, idéal pour se détendre en soirée.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-young-man-standing-against-wall_23-2148130272.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user