Merge version_2_1782575808535 into main

Merge version_2_1782575808535 into main
This commit was merged in pull request #5.
This commit is contained in:
2026-06-27 15:59:46 +00:00
9 changed files with 321 additions and 168 deletions

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #f5faff;
--background: #fdfbf7;
--card: #ffffff;
--foreground: #001122;
--primary-cta: #15479c;
--primary-cta-text: #f5faff;
--foreground: #1a1a1a;
--primary-cta: #d4af37;
--primary-cta-text: #ffffff;
--secondary-cta: #ffffff;
--secondary-cta-text: #001122;
--accent: #a8cce8;
--background-accent: #7ba3cf;
--secondary-cta-text: #1a1a1a;
--accent: #8c8c8c;
--background-accent: #f5f0e6;
/* @layout/border-radius/rounded */
--radius: 0.5rem;

View File

@@ -1,172 +1,33 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesBento from '@/components/sections/features/FeaturesBento';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
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 EventsSection from './HomePage/sections/Events';
import MenuSection from './HomePage/sections/Menu';
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">
<HeroBillboardCarousel
tag="Crystal Restaurant"
title="Locul unde evenimentele devin memorabile"
description="Restaurant elegant pentru nunți, botezuri, aniversări și cine speciale, cu mâncare gustoasă și ambianță rafinată."
primaryButton={{
text: "Rezervă acum", href: "#reservation"}}
secondaryButton={{
text: "Solicită ofertă", href: "#events-cta"}}
items={[
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=1"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=1"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=1"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=1"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=1"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=2"},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Despre noi"
quote="Crystal este creat pentru momente speciale: cine liniștite, zile de naștere, nunți și evenimente de familie. Atmosfera elegantă și mâncarea delicioasă transformă fiecare vizită într-o experiență memorabilă."
author="Echipa Crystal"
role="Restaurant & Festivități"
imageSrc="https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=2"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="events" data-section="events">
<SectionErrorBoundary name="events">
<FeaturesBento
tag="Evenimente"
title="Organizate cu stil"
description="Oferim cadrul ideal pentru orice tip de sărbătoare."
features={[
{
title: "Nunți & Botezuri", description: "Momente unice într-un decor spectaculos.", bentoComponent: "info-card-marquee", infoCards: [
{
icon: "Sparkles", label: "Eleganță", value: "100%"},
{
icon: "Star", label: "Rating", value: "4.8"},
{
icon: "Heart", label: "Client", value: "Fericire"},
],
},
{
title: "Corporate & Petreceri", description: "Profesionalism și atenție la detalii.", bentoComponent: "media-stack", mediaItems: [
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=3"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=3"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=2"},
],
},
]}
/>
</SectionErrorBoundary>
</div>
<EventsSection />
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesImageBento
tag="Bucătărie"
title="Meniul Crystal"
description="Preparate gândite pentru gust, prospețime și o prezentare impecabilă."
items={[
{
title: "Aperitive", description: "Gustări fine și variate", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=3"},
{
title: "Feluri principale", description: "Bucate gătite cu pasiune", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=4"},
{
title: "Garnituri", description: "Completări rafinate", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=4"},
{
title: "Deserturi", description: "Dulciuri delicioase", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=2"},
{
title: "Băuturi", description: "Selecții de vinuri și cocktailuri", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=2"},
{
title: "Meniuri festive", description: "Oferte personalizate", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=4"},
{
title: "Evenimente", description: "Preparate pentru ocazii speciale", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=5"},
]}
/>
</SectionErrorBoundary>
</div>
<MenuSection />
<div id="gallery" data-section="gallery">
<SectionErrorBoundary name="gallery">
<FeaturesImageBento
tag="Galerie"
title="Atmosfera Crystal"
description="Descoperă eleganța locației noastre."
items={[
{
title: "Intrare", description: "Restaurant Crystal", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=3"},
{
title: "Sală", description: "Aranjament elegant", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=5"},
{
title: "Decor", description: "Detalii glamour", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=5"},
{
title: "Eveniment", description: "Masă festivă", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=3"},
{
title: "Bucate", description: "Preparate delicioase", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=6"},
{
title: "Crystal", description: "Atmosferă rafinată", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=6"},
{
title: "Crystal", description: "Momente memorabile", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=6"},
]}
/>
</SectionErrorBoundary>
</div>
<GallerySection />
<div id="reviews" data-section="reviews">
<SectionErrorBoundary name="reviews">
<TestimonialQuoteCards
tag="Recenzii"
title="Apreciat de clienți"
description="4,8 ★★★★★ din 21 recenzii"
testimonials={[
{
name: "Diana Savin", role: "Client", quote: "Recomand acest restaurant pentru diferite festivități, cu mâncare gustoasă, aranjament frumos și personal amabil.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=7"},
{
name: "Bogdan Băetrau", role: "Client", quote: "Mâncare mai bună ca aici nu găsești nicăieri. Ar merita mai mult de 5 stele.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=7"},
{
name: "Elena S.", role: "Client", quote: "Un restaurant frumos, cu mâncare bună și servicii bune. Puteți sărbători o zi de naștere, nuntă, botez etc.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=4"},
{
name: "Clienți Crystal", role: "Comunitate", quote: "O experiență culinară de neuitat într-o ambianță extrem de elegantă și primitoare.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=7"},
{
name: "Feedback", role: "Grupuri", quote: "Potrivit pentru grupuri de orice dimensiune. Mâncarea este constant excelentă.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=4"},
]}
/>
</SectionErrorBoundary>
</div>
<ReviewsSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Contact"
text="Planifică evenimentul tău la Crystal. Suntem gata să răspundem tuturor întrebărilor."
primaryButton={{
text: "Sună acum", href: "tel:+4000000000"}}
secondaryButton={{
text: "WhatsApp", href: "https://wa.me/4000000000"}}
/>
</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="Despre noi"
quote="Crystal este creat pentru momente speciale: cine liniștite, zile de naștere, nunți și evenimente de familie. Atmosfera elegantă și mâncarea delicioasă transformă fiecare vizită într-o experiență memorabilă."
author="Echipa Crystal"
role="Restaurant & Festivități"
imageSrc="https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=2"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,23 @@
// 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="Planifică evenimentul tău la Crystal. Suntem gata să răspundem tuturor întrebărilor."
primaryButton={{
text: "Sună acum", href: "tel:+4000000000"}}
secondaryButton={{
text: "WhatsApp", href: "https://wa.me/4000000000"}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,42 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "events" section.
import React from 'react';
import FeaturesBento from '@/components/sections/features/FeaturesBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function EventsSection(): React.JSX.Element {
return (
<div id="events" data-section="events">
<SectionErrorBoundary name="events">
<FeaturesBento
tag="Evenimente"
title="Organizate cu stil"
description="Oferim cadrul ideal pentru orice tip de sărbătoare."
features={[
{
title: "Nunți & Botezuri", description: "Momente unice într-un decor spectaculos.", bentoComponent: "info-card-marquee", infoCards: [
{
icon: "Sparkles", label: "Eleganță", value: "100%"},
{
icon: "Star", label: "Rating", value: "4.8"},
{
icon: "Heart", label: "Client", value: "Fericire"},
],
},
{
title: "Corporate & Petreceri", description: "Profesionalism și atenție la detalii.", bentoComponent: "media-stack", mediaItems: [
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=3"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=3"},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=2"},
],
},
]}
/>
</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 "gallery" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function GallerySection(): React.JSX.Element {
return (
<div id="gallery" data-section="gallery">
<SectionErrorBoundary name="gallery">
<FeaturesImageBento
tag="Galerie"
title="Atmosfera Crystal"
description="Descoperă eleganța locației noastre."
items={[
{
title: "Intrare", description: "Restaurant Crystal", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=3"},
{
title: "Sală", description: "Aranjament elegant", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=5"},
{
title: "Decor", description: "Detalii glamour", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=5"},
{
title: "Eveniment", description: "Masă festivă", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=3"},
{
title: "Bucate", description: "Preparate delicioase", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=6"},
{
title: "Crystal", description: "Atmosferă rafinată", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=6"},
{
title: "Crystal", description: "Momente memorabile", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=6"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,101 @@
/* eslint-disable */
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
import Button from "@/components/ui/Button";
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
const primaryButton = {
text: "Rezervă acum",
href: "#reservation"
};
const secondaryButton = {
text: "Solicită ofertă",
href: "#events-cta"
};
const items = [
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=1"
},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=1"
},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=1"
},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=1"
},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=1"
},
{
imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=2"
}
];
type HeroBillboardCarouselProps = {
tag: string;
title: string;
description: string;
primaryButton: { text: string; href: string };
secondaryButton: { text: string; href: string };
items: ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never })[];
};
const HeroInline = () => {
const duplicated = [...items, ...items, ...items, ...items];
return (
<section
aria-label="Hero section"
className="relative flex flex-col items-center justify-center gap-8 md:gap-10 w-full min-h-svh pt-25 pb-20 md:pt-30"
>
<div className="absolute inset-0 z-0">
<ImageOrVideo
imageSrc="https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1782574287001-ope9cg8q.png"
className="w-full h-full object-cover opacity-30"
/>
<div className="absolute inset-0 bg-gradient-to-b from-background/40 via-background/80 to-background" />
</div>
<div className="relative z-10 flex flex-col items-center gap-3 w-content-width mx-auto text-center">
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit flex items-center gap-1 text-accent">
<p>4,8 din 21 recenzii</p>
</div>
<TextAnimation
text={"Locul unde evenimentele devin memorabile"}
variant="fade"
gradientText={true}
tag="h1"
className="md:max-w-8/10 text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-center text-balance"
/>
<TextAnimation
text={"Restaurant elegant pentru nunți, botezuri, aniversări și cine speciale, cu mâncare gustoasă și ambianță rafinată."}
variant="fade"
gradientText={false}
tag="p"
className="md:max-w-7/10 text-lg md:text-xl leading-snug text-balance"
/>
<div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3">
<Button text="Rezervă acum" href="#contact" variant="primary"/>
<Button text="Solicită ofertă" href="#contact" variant="secondary" animationDelay={0.1} />
<Button text="Sună acum" href="tel:+37368448441" variant="secondary" animationDelay={0.2} />
<Button text="WhatsApp" href="https://wa.me/37368448441" variant="secondary" animationDelay={0.3} />
</div>
</div>
</section>
);
};
export default function HeroSection() {
return (
<div data-webild-section="hero" id="hero">
<HeroInline />
</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 "menu" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MenuSection(): React.JSX.Element {
return (
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesImageBento
tag="Bucătărie"
title="Meniul Crystal"
description="Preparate gândite pentru gust, prospețime și o prezentare impecabilă."
items={[
{
title: "Aperitive", description: "Gustări fine și variate", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=3"},
{
title: "Feluri principale", description: "Bucate gătite cu pasiune", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=4"},
{
title: "Garnituri", description: "Completări rafinate", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=4"},
{
title: "Deserturi", description: "Dulciuri delicioase", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=2"},
{
title: "Băuturi", description: "Selecții de vinuri și cocktailuri", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=2"},
{
title: "Meniuri festive", description: "Oferte personalizate", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=4"},
{
title: "Evenimente", description: "Preparate pentru ocazii speciale", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=5"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,32 @@
// 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 TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ReviewsSection(): React.JSX.Element {
return (
<div id="reviews" data-section="reviews">
<SectionErrorBoundary name="reviews">
<TestimonialQuoteCards
tag="Recenzii"
title="Apreciat de clienți"
description="4,8 ★★★★★ din 21 recenzii"
testimonials={[
{
name: "Diana Savin", role: "Client", quote: "Recomand acest restaurant pentru diferite festivități, cu mâncare gustoasă, aranjament frumos și personal amabil.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065036-37v80zd2.png?_wi=7"},
{
name: "Bogdan Băetrau", role: "Client", quote: "Mâncare mai bună ca aici nu găsești nicăieri. Ar merita mai mult de 5 stele.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065033-dhzbd34x.png?_wi=7"},
{
name: "Elena S.", role: "Client", quote: "Un restaurant frumos, cu mâncare bună și servicii bune. Puteți sărbători o zi de naștere, nuntă, botez etc.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065040-cru364xl.png?_wi=4"},
{
name: "Clienți Crystal", role: "Comunitate", quote: "O experiență culinară de neuitat într-o ambianță extrem de elegantă și primitoare.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065044-xo3maf1j.png?_wi=7"},
{
name: "Feedback", role: "Grupuri", quote: "Potrivit pentru grupuri de orice dimensiune. Mâncarea este constant excelentă.", imageSrc: "https://storage.googleapis.com/webild/users/user_3Cl6pIJsjdRN3HI60srnmWC3SrL/uploaded-1781549065030-0oj6sgbz.png?_wi=4"},
]}
/>
</SectionErrorBoundary>
</div>
);
}