Merge version_2_1781620746465 into main #3

Merged
bender merged 1 commits from version_2_1781620746465 into main 2026-06-16 14:40:46 +00:00
10 changed files with 270 additions and 169 deletions

View File

@@ -5,11 +5,11 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #efebe5;
--card: #f7f2ea;
--foreground: #000000;
--primary-cta: #000000;
--primary-cta-text: #efebe5;
--background: #000000;
--card: #111111;
--foreground: #ffffff;
--primary-cta: #ffffff;
--primary-cta-text: #000000;
--secondary-cta: #ffffff;
--secondary-cta-text: #000000;
--accent: #ffffff;

View File

@@ -1,176 +1,36 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
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 ServicesSection from './HomePage/sections/Services';
import TestimonialsSection from './HomePage/sections/Testimonials';
import MetricsSection from './HomePage/sections/Metrics';
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">
<HeroBillboardTiltedCarousel
tag="Wellness Journey"
title="Relax & Restore Your Mind and Body"
description="Experience deep rejuvenation and therapeutic relief in our calm, serene sanctuary."
primaryButton={{
text: "Book Session", href: "#contact"}}
secondaryButton={{
text: "Our Services", href: "#services"}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/composed-bottles-with-rustic-decor_23-2147693388.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/close-up-couple-having-intimacy-moments_23-2149169159.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-sitting-wooden-stool-reading-book_23-2147872108.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/spa-products-with-orchids_93675-128362.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/two-birds-near-white-cake-leaves-white-background_23-2147975468.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-hand-massage-with-pressure-point-massage_1150-20442.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Philosophy"
quote="Massage is not just a luxury; it's a vital necessity for modern life balance and health."
author="Elena Rossi"
role="Founder & Master Therapist"
imageSrc="http://img.b2bpic.net/free-photo/young-woman-holding-tea-cup-relaxing-spa-salon_176420-7542.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesArrowCards
tag="Treatments"
title="Customized Care for You"
description="We specialize in personalized therapy to meet your body's specific needs."
items={[
{
title: "Swedish Relaxation", tags: [
"Deep Relief", "Stress"],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-patient-alternative-therapy_23-2148815330.jpg"},
{
title: "Hot Stone Therapy", tags: [
"Warmth", "Muscle"],
imageSrc: "http://img.b2bpic.net/free-photo/nurse-taking-care-patient_23-2149277899.jpg"},
{
title: "Clinical Reflexology", tags: [
"Targeted", "Energy"],
imageSrc: "http://img.b2bpic.net/free-photo/modern-foot-massage-with-oil-heel-toe-relaxation_169016-69500.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesRevealCardsBento
tag="Our Collection"
title="Enhance Your Experience"
description="Premium add-ons and curated wellness products for your home."
items={[
{
title: "Aromatic Oils", description: "Pure essential oil blends.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/close-up-floating-water_23-2150963082.jpg"},
{
title: "Healing Creams", description: "Organic soothing relief.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/boomers-using-cbd-oil-cream-treating-body-pain_23-2151263432.jpg"},
{
title: "Zen Candles", description: "Hand-poured tranquility.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/cozy-composition-with-candles-knitted-element-garland_169016-48476.jpg"},
{
title: "Wellness Teas", description: "Calming herbal infusions.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-bowls-cookies-cloves-citrus-fruits-wooden-board-with-herbal-tea-red-scarf-tea-strainer-white-surface_176474-28128.jpg"},
{
title: "Soft Linens", description: "Luxurious spa comforts.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/sideviews-spa-stones-towels_23-2148223690.jpg"},
{
title: "Diffuser Stones", description: "Artisanal scent holders.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/christmas-still-life-with-aroma-diffuser-moisturizing-air_169016-43245.jpg"},
{
title: "Gift Packages", description: "The perfect relaxing gift.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/spa-composition-with-thai-orchid-flowers-bath-accessories_169016-17217.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialQuoteCards
tag="Client Stories"
title="Trusted by Our Community"
description="Read what our clients have to say about their healing experiences."
testimonials={[
{
name: "Sarah Miller", role: "Creative Director", quote: "The best massage experience in the city. Truly transformative.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-relaxed-smiley-woman_23-2149144908.jpg"},
{
name: "Mark D.", role: "Software Engineer", quote: "Finally found relief from chronic shoulder pain. Highly recommended.", imageSrc: "http://img.b2bpic.net/free-photo/happy-smiling-hispanic-woman-sitting-rattan-armchair-hotel-patio_197531-22784.jpg"},
{
name: "Chloe J.", role: "Architect", quote: "Such a serene space. I leave feeling like a completely different person.", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-smiley-women-bathroom_23-2149485699.jpg"},
{
name: "James L.", role: "Professor", quote: "Expert therapist and a lovely, calm environment. Worth every penny.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12671.jpg"},
{
name: "Maria K.", role: "Entrepreneur", quote: "Professional, welcoming, and deeply effective. I'm a regular now.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-warm-white-hoodie-home-kitchen-starts-her-day-with-cup-coffee_343596-7226.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Our Impact"
title="Wellness by the Numbers"
description="Committed to delivering consistent quality and comfort."
metrics={[
{
icon: "Users", title: "Happy Clients", value: "10,000+"},
{
icon: "Award", title: "Years of Care", value: "15"},
{
icon: "Heart", title: "Sessions Held", value: "25k+"},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked Questions"
description="Have questions about our sessions? We have the answers."
items={[
{
question: "What should I wear?", answer: "Wear whatever makes you comfortable! We provide linens for draping."},
{
question: "Do you accept insurance?", answer: "We provide detailed receipts that you can submit to your insurance."},
{
question: "Can I request a specific therapist?", answer: "Yes, you can select your preferred therapist during the booking flow."},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get Started"
text="Ready for your moment of peace?"
primaryButton={{
text: "Book Online", href: "#"}}
secondaryButton={{
text: "Call Us", href: "tel:5550123"}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View 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="Massage is not just a luxury; it's a vital necessity for modern life balance and health."
author="Elena Rossi"
role="Founder & Master Therapist"
imageSrc="http://img.b2bpic.net/free-photo/young-woman-holding-tea-cup-relaxing-spa-salon_176420-7542.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,23 @@
// 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="Get Started"
text="Ready for your moment of peace?"
primaryButton={{
text: "Book Online", href: "#"}}
secondaryButton={{
text: "Call Us", href: "tel:5550123"}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// 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="Support"
title="Frequently Asked Questions"
description="Have questions about our sessions? We have the answers."
items={[
{
question: "What should I wear?", answer: "Wear whatever makes you comfortable! We provide linens for draping."},
{
question: "Do you accept insurance?", answer: "We provide detailed receipts that you can submit to your insurance."},
{
question: "Can I request a specific therapist?", answer: "Yes, you can select your preferred therapist during the booking flow."},
]}
/>
</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 "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="Treatments"
title="Customized Care for You"
description="We specialize in personalized therapy to meet your body's specific needs."
items={[
{
title: "Swedish Relaxation", tags: [
"Deep Relief", "Stress"],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-patient-alternative-therapy_23-2148815330.jpg"},
{
title: "Hot Stone Therapy", tags: [
"Warmth", "Muscle"],
imageSrc: "http://img.b2bpic.net/free-photo/nurse-taking-care-patient_23-2149277899.jpg"},
{
title: "Clinical Reflexology", tags: [
"Targeted", "Energy"],
imageSrc: "http://img.b2bpic.net/free-photo/modern-foot-massage-with-oil-heel-toe-relaxation_169016-69500.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// 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 HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboardTiltedCarousel
tag="Wellness Journey"
title="Relax & Restore Your Mind and Body"
description="Experience deep rejuvenation and therapeutic relief in our calm, serene sanctuary."
primaryButton={{
text: "Book Session", href: "#contact"}}
secondaryButton={{
text: "Our Services", href: "#services"}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/composed-bottles-with-rustic-decor_23-2147693388.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/close-up-couple-having-intimacy-moments_23-2149169159.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-sitting-wooden-stool-reading-book_23-2147872108.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/spa-products-with-orchids_93675-128362.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/two-birds-near-white-cake-leaves-white-background_23-2147975468.jpg"},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-hand-massage-with-pressure-point-massage_1150-20442.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// 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 MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Our Impact"
title="Wellness by the Numbers"
description="Committed to delivering consistent quality and comfort."
metrics={[
{
icon: "Users", title: "Happy Clients", value: "10,000+"},
{
icon: "Award", title: "Years of Care", value: "15"},
{
icon: "Heart", title: "Sessions Held", value: "25k+"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,36 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "services" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesRevealCardsBento
tag="Our Collection"
title="Enhance Your Experience"
description="Premium add-ons and curated wellness products for your home."
items={[
{
title: "Aromatic Oils", description: "Pure essential oil blends.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/close-up-floating-water_23-2150963082.jpg"},
{
title: "Healing Creams", description: "Organic soothing relief.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/boomers-using-cbd-oil-cream-treating-body-pain_23-2151263432.jpg"},
{
title: "Zen Candles", description: "Hand-poured tranquility.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/cozy-composition-with-candles-knitted-element-garland_169016-48476.jpg"},
{
title: "Wellness Teas", description: "Calming herbal infusions.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-bowls-cookies-cloves-citrus-fruits-wooden-board-with-herbal-tea-red-scarf-tea-strainer-white-surface_176474-28128.jpg"},
{
title: "Soft Linens", description: "Luxurious spa comforts.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/sideviews-spa-stones-towels_23-2148223690.jpg"},
{
title: "Diffuser Stones", description: "Artisanal scent holders.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/christmas-still-life-with-aroma-diffuser-moisturizing-air_169016-43245.jpg"},
{
title: "Gift Packages", description: "The perfect relaxing gift.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/spa-composition-with-thai-orchid-flowers-bath-accessories_169016-17217.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,32 @@
// 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 TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialQuoteCards
tag="Client Stories"
title="Trusted by Our Community"
description="Read what our clients have to say about their healing experiences."
testimonials={[
{
name: "Sarah Miller", role: "Creative Director", quote: "The best massage experience in the city. Truly transformative.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-relaxed-smiley-woman_23-2149144908.jpg"},
{
name: "Mark D.", role: "Software Engineer", quote: "Finally found relief from chronic shoulder pain. Highly recommended.", imageSrc: "http://img.b2bpic.net/free-photo/happy-smiling-hispanic-woman-sitting-rattan-armchair-hotel-patio_197531-22784.jpg"},
{
name: "Chloe J.", role: "Architect", quote: "Such a serene space. I leave feeling like a completely different person.", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-smiley-women-bathroom_23-2149485699.jpg"},
{
name: "James L.", role: "Professor", quote: "Expert therapist and a lovely, calm environment. Worth every penny.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12671.jpg"},
{
name: "Maria K.", role: "Entrepreneur", quote: "Professional, welcoming, and deeply effective. I'm a regular now.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-warm-white-hoodie-home-kitchen-starts-her-day-with-cup-coffee_343596-7226.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}