Merge version_2_1782152521807 into main #1

Merged
bender merged 2 commits from version_2_1782152521807 into main 2026-06-22 18:25:03 +00:00
8 changed files with 323 additions and 217 deletions

View File

@@ -6,14 +6,14 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #000000;
--card: #1f4035;
--card: #111111;
--foreground: #ffffff;
--primary-cta: #ffffff;
--primary-cta-text: #051a12;
--secondary-cta: #0d2b1f;
--secondary-cta-text: #d4f6e8;
--accent: #0d5238;
--background-accent: #10b981;
--primary-cta-text: #000000;
--secondary-cta: #222222;
--secondary-cta-text: #ffffff;
--accent: #888888;
--background-accent: #333333;
/* @layout/border-radius/rounded */
--radius: 0.5rem;

View File

@@ -1,220 +1,33 @@
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
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 * as HeroModule from './HomePage/sections/Hero';
import MenuSection from './HomePage/sections/Menu';
import SpecialsSection from './HomePage/sections/Specials';
import FeedbackSection from './HomePage/sections/Feedback';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
const HeroExports = HeroModule as Record<string, unknown>;
const HeroSection = (HeroExports.default || HeroExports.HeroSection || HeroExports.Hero || (() => null)) as React.ElementType;
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarquee
tag="Welcome to LUXE"
title="Where Taste Meets Artistry"
description="Scan, browse, and discover our premium artisanal selection crafted just for you."
primaryButton={{
text: "Browse Menu",
href: "#menu",
}}
secondaryButton={{
text: "Our Story",
href: "#about",
}}
leftItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-latte-art_53876-165303.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/iced-matcha-latte_1339-1059.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/woman-pours-tea-into-armudu-glass_140725-8184.jpg",
},
]}
rightItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-croissant-plate-covered-chocolate-cafe_181624-57999.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/elegant-gourmet-dessert-with-flowers-white-plate_23-2151973732.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-hands-cutting-lemon_23-2148545906.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesRevealCardsBento
tag="Our Selections"
title="Signature Menu"
description="Tap to reveal our artisanal beverages and handcrafted delicacies."
items={[
{
title: "Artisan Coffee",
description: "Single-origin beans roasted to perfection.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/tool-used-coffee-machine-coffee-making-process_23-2150187556.jpg",
},
{
title: "French Pastries",
description: "Buttery, flaky, and made daily.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cupcake-with-cinnamon_23-2148604567.jpg",
},
{
title: "Matcha Bliss",
description: "Premium ceremonial grade matcha.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/iced-matcha-latte-plastic-cup-hands-woman_169016-43898.jpg",
},
{
title: "Dark Delights",
description: "Rich artisanal cocoa treats.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/berry-tart-decorated-with-strawberry-grape_140725-5731.jpg",
},
{
title: "Fresh Fruit Tarts",
description: "Seasonal fruit on crispy crust.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/open-pie-raspberry-galette-summer-berry-dessert_114579-8500.jpg",
},
{
title: "Citrus Infusions",
description: "Artisanal zesty refreshment.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/glass-lemonade-with-lemon-slices-grapefruits-marble-surface_114579-24824.jpg",
},
{
title: "Espresso Bar",
description: "Bold notes for connoisseurs.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/barista-pours-freshly-made-turkish-coffee-into-cup-closeup-professional-barista-prepares-coffee-by-hand-traditional-way-sand-selective-focus-space-text_166373-2978.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<MenuSection />
<div id="specials" data-section="specials">
<SectionErrorBoundary name="specials">
<FeaturesMediaCarousel
tag="Seasonal Specials"
title="Limited Edition Treats"
description="Experience our rotating seasonal lineup of unique flavors."
items={[
{
title: "Spiced Pumpkin Latte",
description: "A seasonal fall favorite, handcrafted.",
buttonIcon: "Coffee",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-open-coffee-kettle-coffee-beans_23-2148441197.jpg",
},
{
title: "Lavender Honey Chai",
description: "Floral notes with spiced comfort.",
buttonIcon: "Leaf",
imageSrc: "http://img.b2bpic.net/free-photo/green-lemon-herbal-tea-cups-wooden-desk_23-2148092038.jpg",
},
{
title: "Salted Caramel Tart",
description: "Sweet meets savory decadence.",
buttonIcon: "Cake",
imageSrc: "http://img.b2bpic.net/free-photo/chocolade-volcano-with-ice-cream-tea_140725-9484.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<SpecialsSection />
<div id="feedback" data-section="feedback">
<SectionErrorBoundary name="feedback">
<TestimonialColumnMarqueeCards
tag="Reviews"
title="Guest Experiences"
description="What our wonderful patrons say about us."
testimonials={[
{
name: "Elena R.",
role: "Foodie",
quote: "The most artisanal coffee I've ever had in a café setting.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-asian-barista-girl-giving-takeaway-coffee-cup-prepare-takeout-order-guest-cafe-wearing_1258-199322.jpg",
},
{
name: "Marcus J.",
role: "Local",
quote: "Effortless ordering experience, perfect for quick morning bites.",
imageSrc: "http://img.b2bpic.net/free-photo/beauty-book-tenderness-cute-chair_1150-1189.jpg",
},
{
name: "Sarah W.",
role: "Digital Nomad",
quote: "The vibes are incredible, especially the matcha selection.",
imageSrc: "http://img.b2bpic.net/free-photo/young-man-drinking-coffee-cafe-using-tablet-computer-freelancer-workplace-lunch_639032-2879.jpg",
},
{
name: "David T.",
role: "Regular",
quote: "Truly a premium experience right from scanning the code.",
imageSrc: "http://img.b2bpic.net/free-photo/humorous-talks-with-close-friends-dinner-hot-spring-day-cafe_8353-10001.jpg",
},
{
name: "Linda P.",
role: "Visitor",
quote: "Absolutely charming atmosphere and divine pastries.",
imageSrc: "http://img.b2bpic.net/free-photo/collage-customer-experience-concept_23-2149367136.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeedbackSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Assistance"
title="Common Questions"
description="Find answers to help you order with ease."
items={[
{
question: "Can I order multiple items at once?",
answer: "Yes, our menu allows you to add multiple items to your cart before checking out.",
},
{
question: "Do you offer vegan options?",
answer: "Absolutely! Look for the leaf icon on our menu items indicating plant-based choices.",
},
{
question: "How do I pay my order?",
answer: "We accept all major credit cards and digital wallets right through your phone.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Reach Out"
text="Need assistance? Our staff is here to help you enjoy your visit."
primaryButton={{
text: "Call Staff",
href: "tel:+1234567890",
}}
secondaryButton={{
text: "Get Directions",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}
}

View 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="Reach Out"
text="Need assistance? Our staff is here to help you enjoy your visit."
primaryButton={{
text: "Call Staff",
href: "tel:+1234567890",
}}
secondaryButton={{
text: "Get Directions",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View 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="Assistance"
title="Common Questions"
description="Find answers to help you order with ease."
items={[
{
question: "Can I order multiple items at once?",
answer: "Yes, our menu allows you to add multiple items to your cart before checking out.",
},
{
question: "Do you offer vegan options?",
answer: "Absolutely! Look for the leaf icon on our menu items indicating plant-based choices.",
},
{
question: "How do I pay my order?",
answer: "We accept all major credit cards and digital wallets right through your phone.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "feedback" section.
import React from 'react';
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeedbackSection(): React.JSX.Element {
return (
<div id="feedback" data-section="feedback">
<SectionErrorBoundary name="feedback">
<TestimonialColumnMarqueeCards
tag="Reviews"
title="Guest Experiences"
description="What our wonderful patrons say about us."
testimonials={[
{
name: "Elena R.",
role: "Foodie",
quote: "The most artisanal coffee I've ever had in a café setting.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-asian-barista-girl-giving-takeaway-coffee-cup-prepare-takeout-order-guest-cafe-wearing_1258-199322.jpg",
},
{
name: "Marcus J.",
role: "Local",
quote: "Effortless ordering experience, perfect for quick morning bites.",
imageSrc: "http://img.b2bpic.net/free-photo/beauty-book-tenderness-cute-chair_1150-1189.jpg",
},
{
name: "Sarah W.",
role: "Digital Nomad",
quote: "The vibes are incredible, especially the matcha selection.",
imageSrc: "http://img.b2bpic.net/free-photo/young-man-drinking-coffee-cafe-using-tablet-computer-freelancer-workplace-lunch_639032-2879.jpg",
},
{
name: "David T.",
role: "Regular",
quote: "Truly a premium experience right from scanning the code.",
imageSrc: "http://img.b2bpic.net/free-photo/humorous-talks-with-close-friends-dinner-hot-spring-day-cafe_8353-10001.jpg",
},
{
name: "Linda P.",
role: "Visitor",
quote: "Absolutely charming atmosphere and divine pastries.",
imageSrc: "http://img.b2bpic.net/free-photo/collage-customer-experience-concept_23-2149367136.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,76 @@
/* 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: "Browse Menu",
href: "#menu"
};
const secondaryButton = {
text: "Our Story",
href: "#about"
};
const leftItems = [
{
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-latte-art_53876-165303.jpg"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/iced-matcha-latte_1339-1059.jpg"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/woman-pours-tea-into-armudu-glass_140725-8184.jpg"
}
];
const rightItems = [
{
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-croissant-plate-covered-chocolate-cafe_181624-57999.jpg"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/elegant-gourmet-dessert-with-flowers-white-plate_23-2151973732.jpg"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-hands-cutting-lemon_23-2148545906.jpg"
}
];
type HeroSplitVerticalMarqueeProps = {
tag: string;
title: string;
description: string;
primaryButton: { text: string; href: string };
secondaryButton: { text: string; href: string };
leftItems: ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never })[];
rightItems: ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never })[];
};
const HeroInline = () => {
const duplicatedLeft = [...leftItems, ...leftItems, ...leftItems, ...leftItems];
const duplicatedRight = [...rightItems, ...rightItems, ...rightItems, ...rightItems];
return (
<div className="relative w-full py-24 bg-background">
<div className="w-content-width mx-auto text-center">
<span className="inline-block px-3 py-1 mb-6 text-sm font-medium border border-foreground/20 rounded-full text-foreground">
Welcome to LUXE
</span>
<h1 className="text-5xl md:text-7xl font-bold text-foreground mb-6">
Where Taste Meets Artistry
</h1>
<p className="text-lg md:text-xl text-accent mb-10 max-w-2xl mx-auto">
Scan, browse, and discover our premium artisanal selection crafted just for you.
</p>
<div className="flex flex-col sm:flex-row items-center justify-center gap-4">
<a href="#menu" className="primary-button w-full sm:w-auto text-center">
Browse Menu
</a>
<a href="#about" className="secondary-button w-full sm:w-auto text-center">
Our Story
</a>
</div>
</div>
</div>
);
}

View 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 Selections"
title="Signature Menu"
description="Tap to reveal our artisanal beverages and handcrafted delicacies."
items={[
{
title: "Artisan Coffee",
description: "Single-origin beans roasted to perfection.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/tool-used-coffee-machine-coffee-making-process_23-2150187556.jpg",
},
{
title: "French Pastries",
description: "Buttery, flaky, and made daily.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cupcake-with-cinnamon_23-2148604567.jpg",
},
{
title: "Matcha Bliss",
description: "Premium ceremonial grade matcha.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/iced-matcha-latte-plastic-cup-hands-woman_169016-43898.jpg",
},
{
title: "Dark Delights",
description: "Rich artisanal cocoa treats.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/berry-tart-decorated-with-strawberry-grape_140725-5731.jpg",
},
{
title: "Fresh Fruit Tarts",
description: "Seasonal fruit on crispy crust.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/open-pie-raspberry-galette-summer-berry-dessert_114579-8500.jpg",
},
{
title: "Citrus Infusions",
description: "Artisanal zesty refreshment.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/glass-lemonade-with-lemon-slices-grapefruits-marble-surface_114579-24824.jpg",
},
{
title: "Espresso Bar",
description: "Bold notes for connoisseurs.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/barista-pours-freshly-made-turkish-coffee-into-cup-closeup-professional-barista-prepares-coffee-by-hand-traditional-way-sand-selective-focus-space-text_166373-2978.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,40 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "specials" section.
import React from 'react';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function SpecialsSection(): React.JSX.Element {
return (
<div id="specials" data-section="specials">
<SectionErrorBoundary name="specials">
<FeaturesMediaCarousel
tag="Seasonal Specials"
title="Limited Edition Treats"
description="Experience our rotating seasonal lineup of unique flavors."
items={[
{
title: "Spiced Pumpkin Latte",
description: "A seasonal fall favorite, handcrafted.",
buttonIcon: "Coffee",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-open-coffee-kettle-coffee-beans_23-2148441197.jpg",
},
{
title: "Lavender Honey Chai",
description: "Floral notes with spiced comfort.",
buttonIcon: "Leaf",
imageSrc: "http://img.b2bpic.net/free-photo/green-lemon-herbal-tea-cups-wooden-desk_23-2148092038.jpg",
},
{
title: "Salted Caramel Tart",
description: "Sweet meets savory decadence.",
buttonIcon: "Cake",
imageSrc: "http://img.b2bpic.net/free-photo/chocolade-volcano-with-ice-cream-tea_140725-9484.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}