1 Commits

Author SHA1 Message Date
kudinDmitriyUp
7ff81f96ae Bob AI: make the chicha 3d animated please 2026-06-17 15:01:01 +00:00
8 changed files with 286 additions and 218 deletions

View File

@@ -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 />
</>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}