Compare commits
2 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ebcc09e23c | |||
|
|
95b633d6cc |
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #f6f0e9;
|
||||
--card: #efe7dd;
|
||||
--foreground: #2b180a;
|
||||
--primary-cta: #2b180a;
|
||||
--primary-cta-text: #f6f0e9;
|
||||
--secondary-cta: #efe7dd;
|
||||
--secondary-cta-text: #2b180a;
|
||||
--accent: #94877c;
|
||||
--background-accent: #afa094;
|
||||
--background: #f5f7f2;
|
||||
--card: #e9ede4;
|
||||
--foreground: #1c2e1c;
|
||||
--primary-cta: #2c4c2c;
|
||||
--primary-cta-text: #f5f7f2;
|
||||
--secondary-cta: #dbe2d4;
|
||||
--secondary-cta-text: #1c2e1c;
|
||||
--accent: #6b806b;
|
||||
--background-accent: #9cb09c;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1.5rem;
|
||||
|
||||
@@ -1,231 +1,33 @@
|
||||
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesDetailedCards from '@/components/sections/features/FeaturesDetailedCards';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
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 ProductsSection from './HomePage/sections/Products';
|
||||
import ReviewsSection from './HomePage/sections/Reviews';
|
||||
import VisitSection from './HomePage/sections/Visit';
|
||||
import CtaSection from './HomePage/sections/Cta';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroCenteredLogos
|
||||
avatarsSrc={[
|
||||
"http://img.b2bpic.net/free-photo/woman-holding-coffee-cup-medium-shot_23-2149647825.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-fashionable-bearded-male-blue-jacket-talks-by-smartphone_613910-421.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiling-brunette-woman-drinks-morning-coffee-cafe_613910-12134.jpg",
|
||||
"http://img.b2bpic.net/free-photo/satisfied-female-baker-looking-freshly-baked-croissant_23-2148189112.jpg",
|
||||
]}
|
||||
avatarText="Loved by the Kingston community"
|
||||
title="Made with intention. Served with love."
|
||||
description="Zega brings the artistry of a Parisian patisserie and the craft of specialty coffee to the heart of Kingston."
|
||||
primaryButton={{
|
||||
text: "Explore our menu",
|
||||
href: "#menu",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Visit us today",
|
||||
href: "#visit",
|
||||
}}
|
||||
names={[
|
||||
"Specialty Coffee",
|
||||
"Ceremonial Matcha",
|
||||
"Fresh Pastries",
|
||||
"Artisan Buns",
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/shorthaired-girl-with-bright-lips-smiles-sits-cafe-young-lady-modern-shirt-jeans-reading-menu-restaurant_197531-28028.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTestimonial
|
||||
tag="Our Philosophy"
|
||||
quote="A warm, welcoming space where quality and care come first… from rich, slow-roasted specialty coffee and vibrant ceremonial-grade matcha to our freshly baked cinnamon buns, everything we serve is crafted in-house."
|
||||
author="The Zega Family"
|
||||
role="Artisanal Crafters"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/high-angle-barista-leveling-coffee-level-machine-cup_23-2148523052.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesDetailedCards
|
||||
tag="Menu Highlights"
|
||||
title="Crafted Daily"
|
||||
description="Discover our selection of house-made favorites."
|
||||
items={[
|
||||
{
|
||||
title: "Specialty Coffee",
|
||||
description: "Slow-roasted beans ground fresh for every cup.",
|
||||
tags: [
|
||||
"Ethical",
|
||||
"Small-Batch",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/iced-cappuccino_1339-1610.jpg",
|
||||
},
|
||||
{
|
||||
title: "Ceremonial Matcha",
|
||||
description: "Vibrant, whisked to perfection every single time.",
|
||||
tags: [
|
||||
"Premium",
|
||||
"Pure",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/low-angle-male-employee-coffee-shop_23-2148366548.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cinnamon Buns",
|
||||
description: "Soft, pillowy, and baked in-house every morning.",
|
||||
tags: [
|
||||
"Artisan",
|
||||
"Signature",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cinnamon-roll-copy-space_23-2148904737.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MenuSection />
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesImageBento
|
||||
tag="Signature Items"
|
||||
title="Our Icons"
|
||||
description="The favorites you return for again and again."
|
||||
items={[
|
||||
{
|
||||
title: "Iced Salted Maple Latte",
|
||||
description: "With signature velvety vanilla foam.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-having-iced-coffee-break-outside_23-2149567205.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cinnamon Bun",
|
||||
description: "Classic recipe, house-made glaze.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cinnamon-roll-with-fruits-arrangement_23-2148904724.jpg",
|
||||
},
|
||||
{
|
||||
title: "Artisan Sandwich",
|
||||
description: "Fresh bread and local ingredients.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/focused-woman-looking-laptop_23-2148422456.jpg",
|
||||
},
|
||||
{
|
||||
title: "Batch Brew",
|
||||
description: "Single-origin daily rotation.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/coffee-business-concept-handsome-bearded-man-apron-making-coffee-while-standing-cafe_1258-104246.jpg",
|
||||
},
|
||||
{
|
||||
title: "Matcha Latte",
|
||||
description: "Ceremonial grade and smooth.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delicious-iced-coffee-with-milk_23-2149600674.jpg",
|
||||
},
|
||||
{
|
||||
title: "Daily Pastry",
|
||||
description: "Flaky, buttery, perfect crust.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-cinnamon-rolls-concept_23-2148779663.jpg",
|
||||
},
|
||||
{
|
||||
title: "Local Toastie",
|
||||
description: "Crispy sourdough, rich melt.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/black-man-chief-is-preparing-cake-molds-before-fill-them-with-batter-his-professional-artisan-confectionery_346278-681.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductsSection />
|
||||
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialTrustCard
|
||||
quote="Coffee is absolutely delicious — tasty sandwiches and desserts. I recommend the Iced Salted Maple Latte with vanilla foam."
|
||||
rating={5}
|
||||
author="Local Regular"
|
||||
avatars={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/baker-keeping-tray-baked-buns-shelf_1170-2269.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mike D.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/people-hangout-together-coffee-shop_53876-22946.jpg",
|
||||
},
|
||||
{
|
||||
name: "Elena R.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cafe-small-business-smiling-asian-barista-apron-standing-counter-coffee-shop_1258-199488.jpg",
|
||||
},
|
||||
{
|
||||
name: "David K.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-posing_23-2149745618.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sophie L.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/adorable-lovely-woman-fashion-clothes-is-sitting-open-air-cafe-is-using-smartphone-waiting-friends-city-lights-background_291650-842.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ReviewsSection />
|
||||
|
||||
<div id="visit" data-section="visit">
|
||||
<SectionErrorBoundary name="visit">
|
||||
<MetricsFeatureCards
|
||||
tag="Visit Us"
|
||||
title="29 Market Place, Kingston upon Thames"
|
||||
description="We are open daily until 7pm. People typically spend 25min to 1.5hrs here."
|
||||
metrics={[
|
||||
{
|
||||
value: "100%",
|
||||
title: "Craft-focused",
|
||||
features: [
|
||||
"In-house baking",
|
||||
"Slow-roast beans",
|
||||
"Ceremonial grade",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "KT1 1JH",
|
||||
title: "Location",
|
||||
features: [
|
||||
"Market Place",
|
||||
"Kingston",
|
||||
"Easily accessible",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "7pm",
|
||||
title: "Closing Time",
|
||||
features: [
|
||||
"Open daily",
|
||||
"Freshly baked",
|
||||
"Good vibes",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<VisitSection />
|
||||
|
||||
<div id="cta" data-section="cta">
|
||||
<SectionErrorBoundary name="cta">
|
||||
<ContactCta
|
||||
tag="Ready to visit?"
|
||||
text="Join us at Market Place for your daily dose of craft."
|
||||
primaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Menu",
|
||||
href: "#menu",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<CtaSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
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 Philosophy"
|
||||
quote="A warm, welcoming space where quality and care come first… from rich, slow-roasted specialty coffee and vibrant ceremonial-grade matcha to our freshly baked cinnamon buns, everything we serve is crafted in-house."
|
||||
author="The Zega Family"
|
||||
role="Artisanal Crafters"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/high-angle-barista-leveling-coffee-level-machine-cup_23-2148523052.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Cta.tsx
Normal file
27
src/pages/HomePage/sections/Cta.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 "cta" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function CtaSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="cta" data-section="cta">
|
||||
<SectionErrorBoundary name="cta">
|
||||
<ContactCta
|
||||
tag="Ready to visit?"
|
||||
text="Join us at Market Place for your daily dose of craft."
|
||||
primaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Menu",
|
||||
href: "#menu",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
41
src/pages/HomePage/sections/Hero.tsx
Normal file
41
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,41 @@
|
||||
// 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 HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroCenteredLogos
|
||||
avatarsSrc={[
|
||||
"http://img.b2bpic.net/free-photo/woman-holding-coffee-cup-medium-shot_23-2149647825.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-fashionable-bearded-male-blue-jacket-talks-by-smartphone_613910-421.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiling-brunette-woman-drinks-morning-coffee-cafe_613910-12134.jpg",
|
||||
"http://img.b2bpic.net/free-photo/satisfied-female-baker-looking-freshly-baked-croissant_23-2148189112.jpg",
|
||||
]}
|
||||
avatarText="Loved by the Kingston community"
|
||||
title="Made with intention. Served with love."
|
||||
description="Zega brings the artistry of a Parisian patisserie and the craft of specialty coffee to the heart of Kingston."
|
||||
primaryButton={{
|
||||
text: "Explore our menu",
|
||||
href: "#menu",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Visit us today",
|
||||
href: "#visit",
|
||||
}}
|
||||
names={[
|
||||
"Specialty Coffee",
|
||||
"Ceremonial Matcha",
|
||||
"Fresh Pastries",
|
||||
"Artisan Buns",
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/shorthaired-girl-with-bright-lips-smiles-sits-cafe-young-lady-modern-shirt-jeans-reading-menu-restaurant_197531-28028.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
49
src/pages/HomePage/sections/Menu.tsx
Normal file
49
src/pages/HomePage/sections/Menu.tsx
Normal file
@@ -0,0 +1,49 @@
|
||||
// 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 FeaturesDetailedCards from '@/components/sections/features/FeaturesDetailedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MenuSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="menu" data-section="menu">
|
||||
<SectionErrorBoundary name="menu">
|
||||
<FeaturesDetailedCards
|
||||
tag="Menu Highlights"
|
||||
title="Crafted Daily"
|
||||
description="Discover our selection of house-made favorites."
|
||||
items={[
|
||||
{
|
||||
title: "Specialty Coffee",
|
||||
description: "Slow-roasted beans ground fresh for every cup.",
|
||||
tags: [
|
||||
"Ethical",
|
||||
"Small-Batch",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/iced-cappuccino_1339-1610.jpg",
|
||||
},
|
||||
{
|
||||
title: "Ceremonial Matcha",
|
||||
description: "Vibrant, whisked to perfection every single time.",
|
||||
tags: [
|
||||
"Premium",
|
||||
"Pure",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/low-angle-male-employee-coffee-shop_23-2148366548.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cinnamon Buns",
|
||||
description: "Soft, pillowy, and baked in-house every morning.",
|
||||
tags: [
|
||||
"Artisan",
|
||||
"Signature",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cinnamon-roll-copy-space_23-2148904737.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Products.tsx
Normal file
57
src/pages/HomePage/sections/Products.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 "products" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProductsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesImageBento
|
||||
tag="Signature Items"
|
||||
title="Our Icons"
|
||||
description="The favorites you return for again and again."
|
||||
items={[
|
||||
{
|
||||
title: "Iced Salted Maple Latte",
|
||||
description: "With signature velvety vanilla foam.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-having-iced-coffee-break-outside_23-2149567205.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cinnamon Bun",
|
||||
description: "Classic recipe, house-made glaze.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cinnamon-roll-with-fruits-arrangement_23-2148904724.jpg",
|
||||
},
|
||||
{
|
||||
title: "Artisan Sandwich",
|
||||
description: "Fresh bread and local ingredients.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/focused-woman-looking-laptop_23-2148422456.jpg",
|
||||
},
|
||||
{
|
||||
title: "Batch Brew",
|
||||
description: "Single-origin daily rotation.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/coffee-business-concept-handsome-bearded-man-apron-making-coffee-while-standing-cafe_1258-104246.jpg",
|
||||
},
|
||||
{
|
||||
title: "Matcha Latte",
|
||||
description: "Ceremonial grade and smooth.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delicious-iced-coffee-with-milk_23-2149600674.jpg",
|
||||
},
|
||||
{
|
||||
title: "Daily Pastry",
|
||||
description: "Flaky, buttery, perfect crust.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-cinnamon-rolls-concept_23-2148779663.jpg",
|
||||
},
|
||||
{
|
||||
title: "Local Toastie",
|
||||
description: "Crispy sourdough, rich melt.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/black-man-chief-is-preparing-cake-molds-before-fill-them-with-batter-his-professional-artisan-confectionery_346278-681.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
42
src/pages/HomePage/sections/Reviews.tsx
Normal file
42
src/pages/HomePage/sections/Reviews.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
// 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 TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ReviewsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialTrustCard
|
||||
quote="Coffee is absolutely delicious — tasty sandwiches and desserts. I recommend the Iced Salted Maple Latte with vanilla foam."
|
||||
rating={5}
|
||||
author="Local Regular"
|
||||
avatars={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/baker-keeping-tray-baked-buns-shelf_1170-2269.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mike D.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/people-hangout-together-coffee-shop_53876-22946.jpg",
|
||||
},
|
||||
{
|
||||
name: "Elena R.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cafe-small-business-smiling-asian-barista-apron-standing-counter-coffee-shop_1258-199488.jpg",
|
||||
},
|
||||
{
|
||||
name: "David K.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-posing_23-2149745618.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sophie L.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/adorable-lovely-woman-fashion-clothes-is-sitting-open-air-cafe-is-using-smartphone-waiting-friends-city-lights-background_291650-842.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
49
src/pages/HomePage/sections/Visit.tsx
Normal file
49
src/pages/HomePage/sections/Visit.tsx
Normal file
@@ -0,0 +1,49 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "visit" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function VisitSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="visit" data-section="visit">
|
||||
<SectionErrorBoundary name="visit">
|
||||
<MetricsFeatureCards
|
||||
tag="Visit Us"
|
||||
title="29 Market Place, Kingston upon Thames"
|
||||
description="We are open daily until 7pm. People typically spend 25min to 1.5hrs here."
|
||||
metrics={[
|
||||
{
|
||||
value: "100%",
|
||||
title: "Craft-focused",
|
||||
features: [
|
||||
"In-house baking",
|
||||
"Slow-roast beans",
|
||||
"Ceremonial grade",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "KT1 1JH",
|
||||
title: "Location",
|
||||
features: [
|
||||
"Market Place",
|
||||
"Kingston",
|
||||
"Easily accessible",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "7pm",
|
||||
title: "Closing Time",
|
||||
features: [
|
||||
"Open daily",
|
||||
"Freshly baked",
|
||||
"Good vibes",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user