Merge version_2_1782034095841 into main #4
@@ -1,173 +1,36 @@
|
||||
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import FeaturesBento from '@/components/sections/features/FeaturesBento';
|
||||
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
|
||||
import { Coffee, Timer, Utensils } 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 TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import SocialProofSection from './HomePage/sections/SocialProof';
|
||||
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">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="Casual Culinary Cafe Bar"
|
||||
title="A Hidden Culinary Gem in the Heart of Jerusalem"
|
||||
description="Specialty coffee, creative cuisine, and unforgettable atmosphere in a beautifully restored historic home."
|
||||
primaryButton={{
|
||||
text: "Call Now", href: "tel:+972584006008"}}
|
||||
secondaryButton={{
|
||||
text: "Reserve Table", href: "#contact"}}
|
||||
leftItems={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/interior-zenana-mahal-city-palace-udaipur-rajasthan_53876-146803.jpg?_wi=1" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/group-four-south-asian-men-s-posed-business-meeting-cafe-indians-work-together-using-various-gadgets-having-conversation_627829-5231.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/caffeine-working-coffee-cup-table_1122-2430.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/lamb-wrapped-with-dough-tomato-sauce_114579-2133.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/street-cafe-old-town-rhodes-journey-through-popular-places-dodecanese-archipelago-greece_166373-3792.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/crab-meat-coconut-cream-soup-micro-greens-gray-concrete-background-top-view-copy-space-h_1258-52397.jpg" }
|
||||
]}
|
||||
rightItems={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/nobody-setting-terrace-bar-outside_1203-4630.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/white-plate-with-originally-served-salad-stands-dark-wooden-t_1304-4651.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-coffee-cup-with-decoration-top_23-2148522973.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/cafe-with-burning-candles-tables_140725-7784.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/entrance-old-italian-wine-cellar_333098-111.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/meat-carpaccio-with-white-cheese_140725-1393.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTestimonial
|
||||
tag="Our Story"
|
||||
quote="A true gem! Some of the best coffee I've ever had. Fresh, flavorful food and a relaxed atmosphere."
|
||||
author="Sarah Johnson"
|
||||
role="Local Foodie"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/abandoned-greek-chapel-against-blue-sky-with-clouds-is-located-mountain-abandoned-ghost-town-near-fethiye-turkey-site-ancient-greek-city-karmilissos-from-18th-century_166373-3444.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBento
|
||||
tag="Why Guests Love Us"
|
||||
title="Culinary Excellence Meets Jerusalem History"
|
||||
description="Explore our core offerings and the unique environment we provide."
|
||||
features={[
|
||||
{
|
||||
title: "Exceptional Coffee", description: "Expertly brewed coffee and premium specialty drinks for true enthusiasts.", bentoComponent: "info-card-marquee", infoCards: [
|
||||
{ icon: Coffee, label: "Beans", value: "Single Origin" },
|
||||
{ icon: Utensils, label: "Variety", value: "Signature" },
|
||||
{ icon: Timer, label: "Brewing", value: "Precision" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Culinary Experience", description: "Creative dishes made with fresh, locally sourced ingredients every day.", bentoComponent: "media-stack", mediaItems: [
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/interior-zenana-mahal-city-palace-udaipur-rajasthan_53876-146803.jpg?_wi=2" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/top-view-lemon-tart-plate_23-2148519057.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/foie-gras-with-vegetable-salad_1203-9262.jpg" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Historic Atmosphere", description: "Dining in a charming restored Jerusalem heritage building.", bentoComponent: "media-stack", mediaItems: [
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/halls-convent-christ-with-windows-tomar-portugal_181624-16838.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/door-old-house-decorated-with-flag-greece-wreath-protomaya-city-rhodes-trip-popular-places-dodecanese-archipelago-greece_166373-3814.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/stained-brick-blocks-wall_1194-7474.jpg" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialOverlayCards
|
||||
tag="Reviews"
|
||||
title="What Our Guests Say"
|
||||
description="Rated 4.6 stars by over 125 happy locals and visitors."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.", role: "Local", company: "Jerusalem", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/attractive-young-woman-sitting-cafe-holding-takeaway-coffee-cup_23-2148148111.jpg"},
|
||||
{
|
||||
name: "Michael K.", role: "Visitor", company: "Tourist", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/adults-enjoying-mexican-food_23-2149663842.jpg"},
|
||||
{
|
||||
name: "Emily R.", role: "Foodie", company: "Jerusalem", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/internationals-people-standing-cafe-drinking-juice_1157-32300.jpg"},
|
||||
{
|
||||
name: "David L.", role: "Local", company: "Professional", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/couple-enjoying-food-restaurant_23-2149269175.jpg"},
|
||||
{
|
||||
name: "Chloe T.", role: "Blogger", company: "Traveler", rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-cute-asian-barista-smiling-girl-puts-coffee-tamper-prepare-cappuccino-standing_1258-134055.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="At a Glance"
|
||||
title="Casual by Numbers"
|
||||
metrics={[
|
||||
{ value: "125+", description: "Positive Google Reviews" },
|
||||
{ value: "4.6★", description: "Average Guest Rating" },
|
||||
{ value: "₪50–100", description: "Typical Price Range" }
|
||||
]}
|
||||
description="Celebrating our community's love and appreciation."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SectionErrorBoundary name="social-proof">
|
||||
<SocialProofMarquee
|
||||
tag="Atmosphere"
|
||||
title="Join Our Community"
|
||||
names={[
|
||||
"Specialty Coffee", "Artisanal Pastries", "Creative Dining", "Jerusalem Heritage", "Cafe Bar Vibes", "Events Space", "Local Culture"]}
|
||||
description="Experience the culture."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<SocialProofSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSimple
|
||||
tag="Questions?"
|
||||
title="Frequently Asked Questions"
|
||||
items={[
|
||||
{ question: "Do you offer takeaways?", answer: "Yes, all our food and specialty coffees are available for takeaway." },
|
||||
{ question: "Can I reserve a table?", answer: "Yes, please call us or use the contact form to reserve your table." },
|
||||
{ question: "Where is the cafe located?", answer: "We are located at HaMatmid Alley 6, Jerusalem." }
|
||||
]}
|
||||
description="Everything you need to know about your visit."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Visit Us"
|
||||
text="Ready for your next coffee or culinary experience? Call, book, or visit us today."
|
||||
primaryButton={{
|
||||
text: "Call Now", href: "tel:+972584006008"}}
|
||||
secondaryButton={{
|
||||
text: "Reserve Table", href: "#"}}
|
||||
/>
|
||||
</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="Our Story"
|
||||
quote="A true gem! Some of the best coffee I've ever had. Fresh, flavorful food and a relaxed atmosphere."
|
||||
author="Sarah Johnson"
|
||||
role="Local Foodie"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/abandoned-greek-chapel-against-blue-sky-with-clouds-is-located-mountain-abandoned-ghost-town-near-fethiye-turkey-site-ancient-greek-city-karmilissos-from-18th-century_166373-3444.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
20
src/pages/HomePage/sections/Contact.tsx
Normal file
20
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
// Created by add_section_from_catalog (ContactSplitForm).
|
||||
|
||||
import React from 'react';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="contact" id="contact">
|
||||
<ContactSplitForm
|
||||
description="Secure your spot at Casual Culinary Cafe Bar. Fill out the form below and we'll confirm your reservation shortly."
|
||||
textarea={{"placeholder":"Special Requests (Optional)","name":"message","rows":3}}
|
||||
inputs={[{"name":"name","placeholder":"Full Name","required":true,"type":"text"},{"required":true,"type":"tel","placeholder":"Phone Number","name":"phone"},{"name":"date","placeholder":"Date","required":true,"type":"date"},{"placeholder":"Time","name":"time","required":true,"type":"time"},{"required":true,"type":"number","placeholder":"Party Size","name":"partySize"}]}
|
||||
tag="Reservations"
|
||||
title="Book a Table"
|
||||
imageSrc="https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&q=80"
|
||||
buttonText="Reserve Table"
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Faq.tsx
Normal file
25
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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="Questions?"
|
||||
title="Frequently Asked Questions"
|
||||
items={[
|
||||
{ question: "Do you offer takeaways?", answer: "Yes, all our food and specialty coffees are available for takeaway." },
|
||||
{ question: "Can I reserve a table?", answer: "Yes, please call us or use the contact form to reserve your table." },
|
||||
{ question: "Where is the cafe located?", answer: "We are located at HaMatmid Alley 6, Jerusalem." }
|
||||
]}
|
||||
description="Everything you need to know about your visit."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
44
src/pages/HomePage/sections/Features.tsx
Normal file
44
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,44 @@
|
||||
// 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 FeaturesBento from '@/components/sections/features/FeaturesBento';
|
||||
import { Coffee, Timer, Utensils } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBento
|
||||
tag="Why Guests Love Us"
|
||||
title="Culinary Excellence Meets Jerusalem History"
|
||||
description="Explore our core offerings and the unique environment we provide."
|
||||
features={[
|
||||
{
|
||||
title: "Exceptional Coffee", description: "Expertly brewed coffee and premium specialty drinks for true enthusiasts.", bentoComponent: "info-card-marquee", infoCards: [
|
||||
{ icon: Coffee, label: "Beans", value: "Single Origin" },
|
||||
{ icon: Utensils, label: "Variety", value: "Signature" },
|
||||
{ icon: Timer, label: "Brewing", value: "Precision" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Culinary Experience", description: "Creative dishes made with fresh, locally sourced ingredients every day.", bentoComponent: "media-stack", mediaItems: [
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/interior-zenana-mahal-city-palace-udaipur-rajasthan_53876-146803.jpg?_wi=2" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/top-view-lemon-tart-plate_23-2148519057.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/foie-gras-with-vegetable-salad_1203-9262.jpg" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Historic Atmosphere", description: "Dining in a charming restored Jerusalem heritage building.", bentoComponent: "media-stack", mediaItems: [
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/halls-convent-christ-with-windows-tomar-portugal_181624-16838.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/door-old-house-decorated-with-flag-greece-wreath-protomaya-city-rhodes-trip-popular-places-dodecanese-archipelago-greece_166373-3814.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/stained-brick-blocks-wall_1194-7474.jpg" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
40
src/pages/HomePage/sections/Hero.tsx
Normal file
40
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,40 @@
|
||||
// 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 HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="Casual Culinary Cafe Bar"
|
||||
title="A Hidden Culinary Gem in the Heart of Jerusalem"
|
||||
description="Specialty coffee, creative cuisine, and unforgettable atmosphere in a beautifully restored historic home."
|
||||
primaryButton={{
|
||||
text: "Call Now", href: "tel:+972584006008"}}
|
||||
secondaryButton={{
|
||||
text: "Reserve Table", href: "#contact"}}
|
||||
leftItems={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/interior-zenana-mahal-city-palace-udaipur-rajasthan_53876-146803.jpg?_wi=1" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/group-four-south-asian-men-s-posed-business-meeting-cafe-indians-work-together-using-various-gadgets-having-conversation_627829-5231.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/caffeine-working-coffee-cup-table_1122-2430.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/lamb-wrapped-with-dough-tomato-sauce_114579-2133.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/street-cafe-old-town-rhodes-journey-through-popular-places-dodecanese-archipelago-greece_166373-3792.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/crab-meat-coconut-cream-soup-micro-greens-gray-concrete-background-top-view-copy-space-h_1258-52397.jpg" }
|
||||
]}
|
||||
rightItems={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/nobody-setting-terrace-bar-outside_1203-4630.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/white-plate-with-originally-served-salad-stands-dark-wooden-t_1304-4651.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-coffee-cup-with-decoration-top_23-2148522973.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/cafe-with-burning-candles-tables_140725-7784.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/entrance-old-italian-wine-cellar_333098-111.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/meat-carpaccio-with-white-cheese_140725-1393.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Metrics.tsx
Normal file
25
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="At a Glance"
|
||||
title="Casual by Numbers"
|
||||
metrics={[
|
||||
{ value: "125+", description: "Positive Google Reviews" },
|
||||
{ value: "4.6★", description: "Average Guest Rating" },
|
||||
{ value: "₪50–100", description: "Typical Price Range" }
|
||||
]}
|
||||
description="Celebrating our community's love and appreciation."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
22
src/pages/HomePage/sections/SocialProof.tsx
Normal file
22
src/pages/HomePage/sections/SocialProof.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 "social-proof" section.
|
||||
|
||||
import React from 'react';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function SocialProofSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SectionErrorBoundary name="social-proof">
|
||||
<SocialProofMarquee
|
||||
tag="Atmosphere"
|
||||
title="Join Our Community"
|
||||
names={[
|
||||
"Specialty Coffee", "Artisanal Pastries", "Creative Dining", "Jerusalem Heritage", "Cafe Bar Vibes", "Events Space", "Local Culture"]}
|
||||
description="Experience the culture."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Testimonials.tsx
Normal file
37
src/pages/HomePage/sections/Testimonials.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 "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialOverlayCards
|
||||
tag="Reviews"
|
||||
title="What Our Guests Say"
|
||||
description="Rated 4.6 stars by over 125 happy locals and visitors."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.", role: "Local", company: "Jerusalem", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/attractive-young-woman-sitting-cafe-holding-takeaway-coffee-cup_23-2148148111.jpg"},
|
||||
{
|
||||
name: "Michael K.", role: "Visitor", company: "Tourist", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/adults-enjoying-mexican-food_23-2149663842.jpg"},
|
||||
{
|
||||
name: "Emily R.", role: "Foodie", company: "Jerusalem", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/internationals-people-standing-cafe-drinking-juice_1157-32300.jpg"},
|
||||
{
|
||||
name: "David L.", role: "Local", company: "Professional", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/couple-enjoying-food-restaurant_23-2149269175.jpg"},
|
||||
{
|
||||
name: "Chloe T.", role: "Blogger", company: "Traveler", rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-cute-asian-barista-smiling-girl-puts-coffee-tamper-prepare-cappuccino-standing_1258-134055.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user