Bob AI: Removed testimonial section and added food menu
This commit is contained in:
@@ -1,136 +1,34 @@
|
||||
import AboutText from '@/components/sections/about/AboutText';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
|
||||
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
|
||||
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 BentoSection from './HomePage/sections/Bento';
|
||||
import PricingSection from './HomePage/sections/Pricing';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import ReservationsSection from './HomePage/sections/Reservations';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroTiltedCards
|
||||
tag="Cafétéria • Restaurant • Lounge"
|
||||
title="Welcome to SEB'S GARDEN"
|
||||
description="An exquisite culinary oasis located in the heart of the city, blending timeless elegance with modern comfort."
|
||||
primaryButton={{ text: "Book a Table", href: "#reservations" }}
|
||||
secondaryButton={{ text: "Explore Menu", href: "#menu" }}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/luxury-meeting-dining-room-table-multiple-chairs_114579-2067.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/catering-tablecloth-plate-drink-background_1203-5091.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/texture-blind_23-2147626016.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/luxury-modern-home-interior-with-comfortable-furniture-generated-by-ai_188544-38262.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/pretty-indian-girl-black-saree-dress-posed-restaurant_627829-2039.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutText
|
||||
title="A Garden Oasis for the Refined Palate"
|
||||
primaryButton={{ text: "Learn Our Story", href: "#about" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesArrowCards
|
||||
tag="Our Essence"
|
||||
title="Defining Luxury"
|
||||
description="Discover the unique dimensions that define Seb's Garden."
|
||||
items={[
|
||||
{ title: "The Lounge", tags: ["Warm", "Cozy", "Modern"], imageSrc: "http://img.b2bpic.net/free-photo/two-leather-yellow-armchairs-coffee-table-restaurant_140725-8902.jpg" },
|
||||
{ title: "The Refreshments", tags: ["Mixology", "Vibrant"], imageSrc: "http://img.b2bpic.net/free-photo/fruit-dessert-with-yogurt-cranberries_140725-2121.jpg" },
|
||||
{ title: "Signature Dining", tags: ["Artisanal", "Gourmet"], imageSrc: "http://img.b2bpic.net/free-photo/closeup-process-making-lollipops-from-natural-ingredients_169016-19566.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="bento" data-section="bento">
|
||||
<SectionErrorBoundary name="bento">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Gallery"
|
||||
title="Atmospheric Impressions"
|
||||
description="Explore the vibrant atmosphere and culinary craftsmanship that make Seb's Garden unforgettable."
|
||||
items={[
|
||||
{ title: "Lounge Booths", description: "Warm wood tones and cinematic lighting.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/antique-lamp-outdoor_1339-7212.jpg" },
|
||||
{ title: "Signature Strawberry Cheesecake", description: "Artisanal dessert served on dark ceramic.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-berry-tart-decorated-with-strawberry-grape-peach_140725-5093.jpg" },
|
||||
{ title: "Electric Blue Mocktails", description: "Fresh, vibrant, and perfectly garnished.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/blue-cocktail-strawberries_23-2147795397.jpg" },
|
||||
{ title: "Modern Interior", description: "Large windows, wooden paneling.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/decorated-wedding-reception-venue-with-view-sea-through-windows_637285-1001.jpg" },
|
||||
{ title: "Culinary Art", description: "Exquisite plate presentations.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/pasta-bowl-dark-background_23-2148340403.jpg" },
|
||||
{ title: "Evening Ambiance", description: "Warm candlelight and cozy nights.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-cocktail-with-mint-table_23-2149418266.jpg?_wi=1" },
|
||||
{ title: "Marble Surfaces", description: "Refined and clean aesthetic.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-table-setting-gey-surface-with-empty-black-plates-silver-spoon-fork-knife_140725-12953.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<BentoSection />
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingMediaCards
|
||||
tag="Menu Preview"
|
||||
title="Signature Selections"
|
||||
description="From morning cafe delights to evening fine dining, discover our curated menu."
|
||||
plans={[
|
||||
{ tag: "Café", price: "$8+", period: "Daily", features: ["Fresh Pastries", "Artisan Coffee"], primaryButton: { text: "View Full Menu", href: "#menu" }, imageSrc: "http://img.b2bpic.net/free-photo/happy-couple-lovely-date_23-2148422309.jpg" },
|
||||
{ tag: "Restaurant", price: "$25+", period: "Daily", features: ["Gourmet Meals", "Local Ingredients"], primaryButton: { text: "View Full Menu", href: "#menu" }, imageSrc: "http://img.b2bpic.net/free-photo/front-view-fresh-red-tomatoes-with-eggplants-dark-background_179666-19367.jpg" },
|
||||
{ tag: "Signature", price: "$12+", period: "Daily", features: ["Strawberry Cheesecake", "Decadent Desserts"], primaryButton: { text: "View Full Menu", href: "#menu" }, imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-cheesecake-with-strawberry-chocolate-plate-strawberry-bowl-biscuit-xmas-candy_140725-105637.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PricingSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="Our Promise"
|
||||
title="Experience Excellence"
|
||||
description="Dedication to quality and comfort in every detail."
|
||||
metrics={[
|
||||
{ value: "15+", description: "Signature Cocktails" },
|
||||
{ value: "24/7", description: "Passion for Quality" },
|
||||
{ value: "100%", description: "Fresh Ingredients" },
|
||||
{ value: "5k+", description: "Satisfied Patrons" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="testimonial" data-section="testimonial">
|
||||
<SectionErrorBoundary name="testimonial">
|
||||
<TestimonialOverlayCards
|
||||
tag="Stories"
|
||||
title="Voices of Seb's Garden"
|
||||
description="Hear what our beloved guests have to say about their dining experiences at Seb's Garden."
|
||||
testimonials={[
|
||||
{ name: "Sarah J.", role: "Food Critic", company: "Culinary Times", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/high-angle-modern-woman-talking-mobile_23-2148415912.jpg" },
|
||||
{ name: "Michael D.", role: "Patron", company: "City Life", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/latte-black-coffee-milk-espresso-cinnamon-milk-foam-side-view_141793-12256.jpg" },
|
||||
{ name: "Emily P.", role: "Designer", company: "Studio X", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/tarragon-with-lemon-slice-ice_140725-4091.jpg" },
|
||||
{ name: "David W.", role: "Chef", company: "Local Gastronomy", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/high-angle-cupcake-candles-arrangement_23-2149528351.jpg" },
|
||||
{ name: "Olivia R.", role: "Event Planner", company: "Vivid Events", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/man-holds-plate-with-red-gurza-side-view_141793-4739.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="reservations" data-section="reservations">
|
||||
<SectionErrorBoundary name="reservations">
|
||||
<ContactCta
|
||||
tag="Join Us"
|
||||
text="Book your table now and experience the elegance of Seb's Garden."
|
||||
primaryButton={{ text: "Reserve a Table", href: "#" }}
|
||||
secondaryButton={{ text: "Contact Us", href: "#contact" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ReservationsSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
19
src/pages/HomePage/sections/About.tsx
Normal file
19
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
// 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 AboutText from '@/components/sections/about/AboutText';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutText
|
||||
title="A Garden Oasis for the Refined Palate"
|
||||
primaryButton={{ text: "Learn Our Story", href: "#about" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Bento.tsx
Normal file
29
src/pages/HomePage/sections/Bento.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "bento" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function BentoSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="bento" data-section="bento">
|
||||
<SectionErrorBoundary name="bento">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Gallery"
|
||||
title="Atmospheric Impressions"
|
||||
description="Explore the vibrant atmosphere and culinary craftsmanship that make Seb's Garden unforgettable."
|
||||
items={[
|
||||
{ title: "Lounge Booths", description: "Warm wood tones and cinematic lighting.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/antique-lamp-outdoor_1339-7212.jpg" },
|
||||
{ title: "Signature Strawberry Cheesecake", description: "Artisanal dessert served on dark ceramic.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-berry-tart-decorated-with-strawberry-grape-peach_140725-5093.jpg" },
|
||||
{ title: "Electric Blue Mocktails", description: "Fresh, vibrant, and perfectly garnished.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/blue-cocktail-strawberries_23-2147795397.jpg" },
|
||||
{ title: "Modern Interior", description: "Large windows, wooden paneling.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/decorated-wedding-reception-venue-with-view-sea-through-windows_637285-1001.jpg" },
|
||||
{ title: "Culinary Art", description: "Exquisite plate presentations.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/pasta-bowl-dark-background_23-2148340403.jpg" },
|
||||
{ title: "Evening Ambiance", description: "Warm candlelight and cozy nights.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-cocktail-with-mint-table_23-2149418266.jpg?_wi=1" },
|
||||
{ title: "Marble Surfaces", description: "Refined and clean aesthetic.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-table-setting-gey-surface-with-empty-black-plates-silver-spoon-fork-knife_140725-12953.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Features.tsx
Normal file
25
src/pages/HomePage/sections/Features.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 "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesArrowCards
|
||||
tag="Our Essence"
|
||||
title="Defining Luxury"
|
||||
description="Discover the unique dimensions that define Seb's Garden."
|
||||
items={[
|
||||
{ title: "The Lounge", tags: ["Warm", "Cozy", "Modern"], imageSrc: "http://img.b2bpic.net/free-photo/two-leather-yellow-armchairs-coffee-table-restaurant_140725-8902.jpg" },
|
||||
{ title: "The Refreshments", tags: ["Mixology", "Vibrant"], imageSrc: "http://img.b2bpic.net/free-photo/fruit-dessert-with-yogurt-cranberries_140725-2121.jpg" },
|
||||
{ title: "Signature Dining", tags: ["Artisanal", "Gourmet"], imageSrc: "http://img.b2bpic.net/free-photo/closeup-process-making-lollipops-from-natural-ingredients_169016-19566.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Hero.tsx
Normal file
29
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// 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 HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroTiltedCards
|
||||
tag="Cafétéria • Restaurant • Lounge"
|
||||
title="Welcome to SEB'S GARDEN"
|
||||
description="An exquisite culinary oasis located in the heart of the city, blending timeless elegance with modern comfort."
|
||||
primaryButton={{ text: "Book a Table", href: "#reservations" }}
|
||||
secondaryButton={{ text: "Explore Menu", href: "#menu" }}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/luxury-meeting-dining-room-table-multiple-chairs_114579-2067.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/catering-tablecloth-plate-drink-background_1203-5091.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/texture-blind_23-2147626016.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/luxury-modern-home-interior-with-comfortable-furniture-generated-by-ai_188544-38262.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/pretty-indian-girl-black-saree-dress-posed-restaurant_627829-2039.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
26
src/pages/HomePage/sections/Metrics.tsx
Normal file
26
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
// 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="Our Promise"
|
||||
title="Experience Excellence"
|
||||
description="Dedication to quality and comfort in every detail."
|
||||
metrics={[
|
||||
{ value: "15+", description: "Signature Cocktails" },
|
||||
{ value: "24/7", description: "Passion for Quality" },
|
||||
{ value: "100%", description: "Fresh Ingredients" },
|
||||
{ value: "5k+", description: "Satisfied Patrons" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Pricing.tsx
Normal file
25
src/pages/HomePage/sections/Pricing.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 "pricing" section.
|
||||
|
||||
import React from 'react';
|
||||
import PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PricingSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingMediaCards
|
||||
tag="Menu Preview"
|
||||
title="Signature Selections"
|
||||
description="From morning cafe delights to evening fine dining, discover our curated menu."
|
||||
plans={[
|
||||
{ tag: "Café", price: "$8+", period: "Daily", features: ["Fresh Pastries", "Artisan Coffee"], primaryButton: { text: "View Full Menu", href: "#menu" }, imageSrc: "http://img.b2bpic.net/free-photo/happy-couple-lovely-date_23-2148422309.jpg" },
|
||||
{ tag: "Restaurant", price: "$25+", period: "Daily", features: ["Gourmet Meals", "Local Ingredients"], primaryButton: { text: "View Full Menu", href: "#menu" }, imageSrc: "http://img.b2bpic.net/free-photo/front-view-fresh-red-tomatoes-with-eggplants-dark-background_179666-19367.jpg" },
|
||||
{ tag: "Signature", price: "$12+", period: "Daily", features: ["Strawberry Cheesecake", "Decadent Desserts"], primaryButton: { text: "View Full Menu", href: "#menu" }, imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-cheesecake-with-strawberry-chocolate-plate-strawberry-bowl-biscuit-xmas-candy_140725-105637.jpg" }
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Reservations.tsx
Normal file
21
src/pages/HomePage/sections/Reservations.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "reservations" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ReservationsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="reservations" data-section="reservations">
|
||||
<SectionErrorBoundary name="reservations">
|
||||
<ContactCta
|
||||
tag="Join Us"
|
||||
text="Book your table now and experience the elegance of Seb's Garden."
|
||||
primaryButton={{ text: "Reserve a Table", href: "#" }}
|
||||
secondaryButton={{ text: "Contact Us", href: "#contact" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user