Merge version_2_1781730242369 into main #3
@@ -5,13 +5,13 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #f6f0e9;
|
||||
--card: #efe7dd;
|
||||
--foreground: #2b180a;
|
||||
--primary-cta: #2b180a;
|
||||
--primary-cta-text: #f6f0e9;
|
||||
--secondary-cta: #efe7dd;
|
||||
--secondary-cta-text: #2b180a;
|
||||
--background: #121212;
|
||||
--card: #1e1e1e;
|
||||
--foreground: #f6f0e9;
|
||||
--primary-cta: #f6f0e9;
|
||||
--primary-cta-text: #121212;
|
||||
--secondary-cta: #1e1e1e;
|
||||
--secondary-cta-text: #f6f0e9;
|
||||
--accent: #94877c;
|
||||
--background-accent: #afa094;
|
||||
|
||||
|
||||
@@ -1,230 +1,33 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroBrand from '@/components/sections/hero/HeroBrand';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import { Award, Coffee, MapPin } 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 MenuSection from './HomePage/sections/Menu';
|
||||
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">
|
||||
<HeroBrand
|
||||
brand="Monte Carlo Coffee"
|
||||
description="Authentic flavors and warm atmosphere at the heart of Peiraias."
|
||||
primaryButton={{
|
||||
text: "Order Online",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Our Story",
|
||||
href: "#about",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/modern-cafe-interior-design_23-2151945689.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Since 1988"
|
||||
title="A Legacy of Coffee Excellence"
|
||||
description="Located at 5 Alexandras Sq, we bring passion and craftsmanship to every cup we brew. From bean to cup, quality is our priority."
|
||||
items={[
|
||||
{
|
||||
icon: Coffee,
|
||||
title: "Artisan Roasts",
|
||||
description: "Hand-picked beans roasted daily.",
|
||||
},
|
||||
{
|
||||
icon: Award,
|
||||
title: "Award-Winning",
|
||||
description: "Consistently rated for quality.",
|
||||
},
|
||||
{
|
||||
icon: MapPin,
|
||||
title: "Prime Location",
|
||||
description: "Located centrally in Peiraias.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/attractive-young-woman-with-curly-hair-sitting-table_171337-15641.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesMediaCards
|
||||
tag="Our Speciality"
|
||||
title="The Perfect Brew"
|
||||
description="Explore the unique characteristics of our signature coffee blends."
|
||||
items={[
|
||||
{
|
||||
title: "Single Origin",
|
||||
description: "Pure, ethically sourced coffee from high-altitude farms.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hermetic-silver-package-filled-with-freshly-baked-roasted-coffee-preserve-its-aroma-red-wooden-table-near-fallen-transparent-cup-with-spreaded-raw-green-peeled-coffee-beans-carton-box_346278-892.jpg",
|
||||
},
|
||||
{
|
||||
title: "Signature Latte Art",
|
||||
description: "Precision and beauty in every pour.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-attractive-young-single-brunette-female-having-thoughtful-dreamy-look_273609-9525.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cozy Ambience",
|
||||
description: "The perfect place to relax, study, or meet friends.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/person-cafe-enjoying-book_23-2150064692.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Our Menu"
|
||||
title="Coffee, Tea & Pastries"
|
||||
description="Discover our wide selection of hand-crafted drinks and snacks."
|
||||
items={[
|
||||
{
|
||||
title: "Signature Espresso",
|
||||
description: "Rich and bold flavor profile.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-barista-pouring-milk-foam-cups_23-2148824442.jpg",
|
||||
},
|
||||
{
|
||||
title: "Creamy Cappuccino",
|
||||
description: "Velvety foam meets strong brew.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/coffee-ai-generated_23-2150691633.jpg",
|
||||
},
|
||||
{
|
||||
title: "Iced Americano",
|
||||
description: "Refreshing and perfect for summer.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ice-coffee_1339-3414.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hot Cocoa",
|
||||
description: "Rich dark chocolate indulgence.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-holding-cup_23-2149226176.jpg",
|
||||
},
|
||||
{
|
||||
title: "Fresh Croissant",
|
||||
description: "Buttery, flaky, and golden baked.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delicious-croissants-with-cinnamon-sticks-gray_114579-37478.jpg",
|
||||
},
|
||||
{
|
||||
title: "Herbal Tea",
|
||||
description: "A soothing selection of infusions.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hot-tea_1339-694.jpg",
|
||||
},
|
||||
{
|
||||
title: "Specialty Blend",
|
||||
description: "Our own unique house creation.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-coffee-concept-wooden-table_23-2148464811.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MenuSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Reviews"
|
||||
title="Loved by the Community"
|
||||
description="See what our loyal regulars say about their Monte Carlo experience."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Maria K.",
|
||||
role: "Regular",
|
||||
quote: "The best espresso in Peiraias, no doubt!",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/attractive-happy-young-bearded-man-trendy-hat-texting-messages-via-social-networks-browsing-internet-using-free-wifi-his-electronic-device-coffee-break-restaurant_273609-1934.jpg",
|
||||
},
|
||||
{
|
||||
name: "Giorgos P.",
|
||||
role: "Student",
|
||||
quote: "Perfect atmosphere for studying and great coffee.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/very-good-smiling-brunette-woman-shows-ok-okay-hand-sign-looking-satisfied-recommend-great-deal-pleased-with-quality-standing-white-background_176420-46695.jpg",
|
||||
},
|
||||
{
|
||||
name: "Eleni D.",
|
||||
role: "Client",
|
||||
quote: "Reliable, friendly, and always consistent quality.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-male-hands-holding-cup-coffee-man-sitting-round-table-cafe-working-laptop-had-his-smartphone-notebook-drinking-cappuccino_1258-314656.jpg",
|
||||
},
|
||||
{
|
||||
name: "Kostas M.",
|
||||
role: "Visitor",
|
||||
quote: "Stopped by for a coffee and stayed for the pastries.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/businessman-hands-typing-laptop-keyboard-real-time-4k-video-focus-hands-vertical-frame-freelancing-home-office-cup-tea-foreground-media-social-networks_166373-2123.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sofia L.",
|
||||
role: "Local",
|
||||
quote: "My daily morning ritual since I moved here.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/watercolor-fall-latte-coffee_23-2151834823.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSimple
|
||||
tag="Help"
|
||||
title="Frequently Asked"
|
||||
description="Answers to common questions about our shop."
|
||||
items={[
|
||||
{
|
||||
question: "Are you open on Sundays?",
|
||||
answer: "Yes, we are open every day until midnight.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer delivery?",
|
||||
answer: "Yes, find us on all major delivery platforms.",
|
||||
},
|
||||
{
|
||||
question: "Can I reserve a table?",
|
||||
answer: "Yes, call us or visit us at the square.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Connect"
|
||||
text="Visit us at 5 Alexandras Sq, Peiraias. Ready for your coffee?"
|
||||
primaryButton={{
|
||||
text: "Call +30 210 412 4284",
|
||||
href: "tel:+302104124284",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</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 { Award, Coffee, MapPin } 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="Since 1988"
|
||||
title="A Legacy of Coffee Excellence"
|
||||
description="Located at 5 Alexandras Sq, we bring passion and craftsmanship to every cup we brew. From bean to cup, quality is our priority."
|
||||
items={[
|
||||
{
|
||||
icon: Coffee,
|
||||
title: "Artisan Roasts",
|
||||
description: "Hand-picked beans roasted daily.",
|
||||
},
|
||||
{
|
||||
icon: Award,
|
||||
title: "Award-Winning",
|
||||
description: "Consistently rated for quality.",
|
||||
},
|
||||
{
|
||||
icon: MapPin,
|
||||
title: "Prime Location",
|
||||
description: "Located centrally in Peiraias.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/attractive-young-woman-with-curly-hair-sitting-table_171337-15641.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="Connect"
|
||||
text="Visit us at 5 Alexandras Sq, Peiraias. Ready for your coffee?"
|
||||
primaryButton={{
|
||||
text: "Call +30 210 412 4284",
|
||||
href: "tel:+302104124284",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
34
src/pages/HomePage/sections/Faq.tsx
Normal file
34
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
// 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 FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSimple
|
||||
tag="Help"
|
||||
title="Frequently Asked"
|
||||
description="Answers to common questions about our shop."
|
||||
items={[
|
||||
{
|
||||
question: "Are you open on Sundays?",
|
||||
answer: "Yes, we are open every day until midnight.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer delivery?",
|
||||
answer: "Yes, find us on all major delivery platforms.",
|
||||
},
|
||||
{
|
||||
question: "Can I reserve a table?",
|
||||
answer: "Yes, call us or visit us at the square.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</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 FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesMediaCards
|
||||
tag="Our Speciality"
|
||||
title="The Perfect Brew"
|
||||
description="Explore the unique characteristics of our signature coffee blends."
|
||||
items={[
|
||||
{
|
||||
title: "Single Origin",
|
||||
description: "Pure, ethically sourced coffee from high-altitude farms.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hermetic-silver-package-filled-with-freshly-baked-roasted-coffee-preserve-its-aroma-red-wooden-table-near-fallen-transparent-cup-with-spreaded-raw-green-peeled-coffee-beans-carton-box_346278-892.jpg",
|
||||
},
|
||||
{
|
||||
title: "Signature Latte Art",
|
||||
description: "Precision and beauty in every pour.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-attractive-young-single-brunette-female-having-thoughtful-dreamy-look_273609-9525.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cozy Ambience",
|
||||
description: "The perfect place to relax, study, or meet friends.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/person-cafe-enjoying-book_23-2150064692.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
19
src/pages/HomePage/sections/Hero.tsx
Normal file
19
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
// Created by add_section_from_catalog (HeroBillboardCarousel).
|
||||
|
||||
import React from 'react';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="hero" id="hero">
|
||||
<HeroBillboardCarousel
|
||||
secondaryButton={{"href":"#about","text":"Our Story"}}
|
||||
description="Authentic flavors and warm atmosphere at the heart of Peiraias."
|
||||
items={[{"imageSrc":"http://img.b2bpic.net/free-photo/modern-cafe-interior-design_23-2151945689.jpg"},{"imageSrc":"https://images.unsplash.com/photo-1497935586351-b67a49e012bf?q=80&w=2071&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1554118811-1e0d58224f24?q=80&w=2047&auto=format&fit=crop"}]}
|
||||
title="Monte Carlo Coffee"
|
||||
primaryButton={{"text":"Order Online","href":"#contact"}}
|
||||
tag="Monte Carlo Coffee"
|
||||
/>
|
||||
</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="Our Menu"
|
||||
title="Coffee, Tea & Pastries"
|
||||
description="Discover our wide selection of hand-crafted drinks and snacks."
|
||||
items={[
|
||||
{
|
||||
title: "Signature Espresso",
|
||||
description: "Rich and bold flavor profile.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-barista-pouring-milk-foam-cups_23-2148824442.jpg",
|
||||
},
|
||||
{
|
||||
title: "Creamy Cappuccino",
|
||||
description: "Velvety foam meets strong brew.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/coffee-ai-generated_23-2150691633.jpg",
|
||||
},
|
||||
{
|
||||
title: "Iced Americano",
|
||||
description: "Refreshing and perfect for summer.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ice-coffee_1339-3414.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hot Cocoa",
|
||||
description: "Rich dark chocolate indulgence.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-holding-cup_23-2149226176.jpg",
|
||||
},
|
||||
{
|
||||
title: "Fresh Croissant",
|
||||
description: "Buttery, flaky, and golden baked.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delicious-croissants-with-cinnamon-sticks-gray_114579-37478.jpg",
|
||||
},
|
||||
{
|
||||
title: "Herbal Tea",
|
||||
description: "A soothing selection of infusions.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hot-tea_1339-694.jpg",
|
||||
},
|
||||
{
|
||||
title: "Specialty Blend",
|
||||
description: "Our own unique house creation.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-coffee-concept-wooden-table_23-2148464811.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
57
src/pages/HomePage/sections/Testimonials.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 "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Reviews"
|
||||
title="Loved by the Community"
|
||||
description="See what our loyal regulars say about their Monte Carlo experience."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Maria K.",
|
||||
role: "Regular",
|
||||
quote: "The best espresso in Peiraias, no doubt!",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/attractive-happy-young-bearded-man-trendy-hat-texting-messages-via-social-networks-browsing-internet-using-free-wifi-his-electronic-device-coffee-break-restaurant_273609-1934.jpg",
|
||||
},
|
||||
{
|
||||
name: "Giorgos P.",
|
||||
role: "Student",
|
||||
quote: "Perfect atmosphere for studying and great coffee.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/very-good-smiling-brunette-woman-shows-ok-okay-hand-sign-looking-satisfied-recommend-great-deal-pleased-with-quality-standing-white-background_176420-46695.jpg",
|
||||
},
|
||||
{
|
||||
name: "Eleni D.",
|
||||
role: "Client",
|
||||
quote: "Reliable, friendly, and always consistent quality.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-male-hands-holding-cup-coffee-man-sitting-round-table-cafe-working-laptop-had-his-smartphone-notebook-drinking-cappuccino_1258-314656.jpg",
|
||||
},
|
||||
{
|
||||
name: "Kostas M.",
|
||||
role: "Visitor",
|
||||
quote: "Stopped by for a coffee and stayed for the pastries.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/businessman-hands-typing-laptop-keyboard-real-time-4k-video-focus-hands-vertical-frame-freelancing-home-office-cup-tea-foreground-media-social-networks_166373-2123.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sofia L.",
|
||||
role: "Local",
|
||||
quote: "My daily morning ritual since I moved here.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/watercolor-fall-latte-coffee_23-2151834823.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user