Merge version_2_1781570009669 into main
Merge version_2_1781570009669 into main
This commit was merged in pull request #1.
This commit is contained in:
@@ -5,13 +5,13 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #0a0a0a;
|
||||
--card: #1a1a1a;
|
||||
--foreground: #f5f5f5;
|
||||
--primary-cta: #dfff1c;
|
||||
--primary-cta-text: #0a0a0a;
|
||||
--secondary-cta: #1a1a1a;
|
||||
--secondary-cta-text: #ffffff;
|
||||
--background: #060B14;
|
||||
--card: #E1E4E8;
|
||||
--foreground: #FFFFFF;
|
||||
--primary-cta: #0062E3;
|
||||
--primary-cta-text: #FFFFFF;
|
||||
--secondary-cta: #4B91F7;
|
||||
--secondary-cta-text: #FFFFFF;
|
||||
--accent: #8b9a1b;
|
||||
--background-accent: #5d6b00;
|
||||
|
||||
|
||||
@@ -1,246 +1,33 @@
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
|
||||
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||
import PricingLayeredCards from '@/components/sections/pricing/PricingLayeredCards';
|
||||
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
|
||||
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 FeaturesSection from './HomePage/sections/Features';
|
||||
import GallerySection from './HomePage/sections/Gallery';
|
||||
import PricingSection from './HomePage/sections/Pricing';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
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">
|
||||
<HeroBillboard
|
||||
tag="Elevate Your Training"
|
||||
title="Unleash Your True Potential"
|
||||
description="Experience the ultimate fitness environment at Romano's Gym. State-of-the-art equipment, elite trainers, and a community dedicated to your transformation."
|
||||
primaryButton={{
|
||||
text: "Start Free Trial",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Membership",
|
||||
href: "#pricing",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/trainer-helping-woman-while-practicing-pilates_107420-85001.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesMediaCards
|
||||
tag="Our Services"
|
||||
title="Everything You Need to Succeed"
|
||||
description="We offer a wide range of services designed to help you reach your goals faster."
|
||||
items={[
|
||||
{
|
||||
title: "Strength Training",
|
||||
description: "Access to a full suite of professional-grade powerlifting and bodybuilding equipment.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/dumbbell_74190-5777.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cardio Performance",
|
||||
description: "Modern machines to improve endurance, stamina, and heart health.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fit-woman-using-exercise-bike_651396-638.jpg",
|
||||
},
|
||||
{
|
||||
title: "Personal Coaching",
|
||||
description: "Expert trainers to guide your fitness journey and optimize your workout routines.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-women-gym-talking_23-2148419847.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="gallery" data-section="gallery">
|
||||
<SectionErrorBoundary name="gallery">
|
||||
<FeaturesImageBento
|
||||
tag="The Facility"
|
||||
title="A World-Class Environment"
|
||||
description="See why our members call Romano's Gym their second home."
|
||||
items={[
|
||||
{
|
||||
title: "Weight Area",
|
||||
description: "Professional racks and plates.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stationary-bike_23-2148017334.jpg",
|
||||
},
|
||||
{
|
||||
title: "Studio Floor",
|
||||
description: "Spacious and clean.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-beautifully-decorated-round-table-with-natural-fir-branch-candle-two-flutes-plates-against-classic-sofa-modern-apartment_132075-11383.jpg",
|
||||
},
|
||||
{
|
||||
title: "Flexibility Zone",
|
||||
description: "Dedicated stretching space.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-concentrated-young-sportsgirl_171337-9037.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hydration Station",
|
||||
description: "Stay refreshed.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/kit-sport-activities_23-2147829452.jpg",
|
||||
},
|
||||
{
|
||||
title: "Performance Rack",
|
||||
description: "Heavy lifting optimized.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fitness-equipment_53876-138086.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pro Flooring",
|
||||
description: "High impact rubber.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-doing-back-closely_1163-134.jpg",
|
||||
},
|
||||
{
|
||||
title: "Functional Tools",
|
||||
description: "Kettlebells and bands.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/still-life-gym-equipment_23-2148197736.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<GallerySection />
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingLayeredCards
|
||||
tag="Membership Options"
|
||||
title="Simple Pricing for Everyone"
|
||||
description="No hidden fees, no long contracts. Just results."
|
||||
plans={[
|
||||
{
|
||||
tag: "Essential",
|
||||
price: "$39",
|
||||
description: "Perfect for casual gym goers.",
|
||||
primaryButton: {
|
||||
text: "Join Now",
|
||||
href: "#",
|
||||
},
|
||||
features: [
|
||||
"Basic Access",
|
||||
"Cardio Machines",
|
||||
"Locker Room",
|
||||
],
|
||||
},
|
||||
{
|
||||
tag: "Elite",
|
||||
price: "$69",
|
||||
description: "For those serious about fitness.",
|
||||
primaryButton: {
|
||||
text: "Get Elite",
|
||||
href: "#",
|
||||
},
|
||||
features: [
|
||||
"Full Club Access",
|
||||
"Group Classes",
|
||||
"Guest Pass",
|
||||
"Personalized Plan",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PricingSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeOverlayCards
|
||||
tag="Success Stories"
|
||||
title="Hear from Our Community"
|
||||
description="What our members have to say about their experience at Romano's."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Alex R.",
|
||||
role: "Powerlifter",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-sportive-girl-posing-with-crossed-arms-dark-wall_176420-623.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah M.",
|
||||
role: "Athlete",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/athletic-suntanned-female-fitness-model-holding-barbell-weight-wall-from-grey-bricks_613910-15526.jpg",
|
||||
},
|
||||
{
|
||||
name: "John D.",
|
||||
role: "Fitness Enthusiast",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/half-naked-muscular-african-sportsman-resting_171337-9437.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily K.",
|
||||
role: "Personal Training",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-fit-woman-with-napkin-sitting-wooden-box-gym_23-2147949544.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mike P.",
|
||||
role: "Weightlifter",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-women-taking-part-spinning-class_23-2149332052.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTabbedAccordion
|
||||
tag="Common Questions"
|
||||
title="Need Help? Find Answers."
|
||||
description="Most questions about membership, hours, and training can be found here."
|
||||
categories={[
|
||||
{
|
||||
name: "Membership",
|
||||
items: [
|
||||
{
|
||||
question: "Are there contracts?",
|
||||
answer: "No, all memberships are month-to-month.",
|
||||
},
|
||||
{
|
||||
question: "Can I bring a guest?",
|
||||
answer: "Elite members get unlimited guest passes.",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Training",
|
||||
items: [
|
||||
{
|
||||
question: "Do you offer PT?",
|
||||
answer: "Yes, we have certified personal trainers on staff.",
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Join Today"
|
||||
text="Ready to start your journey? Sign up today and get your first session on us."
|
||||
primaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Book a Tour",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.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 "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="Join Today"
|
||||
text="Ready to start your journey? Sign up today and get your first session on us."
|
||||
primaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Book a Tour",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
44
src/pages/HomePage/sections/Faq.tsx
Normal file
44
src/pages/HomePage/sections/Faq.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 "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTabbedAccordion
|
||||
tag="Common Questions"
|
||||
title="Need Help? Find Answers."
|
||||
description="Most questions about membership, hours, and training can be found here."
|
||||
categories={[
|
||||
{
|
||||
name: "Membership",
|
||||
items: [
|
||||
{
|
||||
question: "Are there contracts?",
|
||||
answer: "No, all memberships are month-to-month.",
|
||||
},
|
||||
{
|
||||
question: "Can I bring a guest?",
|
||||
answer: "Elite members get unlimited guest passes.",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Training",
|
||||
items: [
|
||||
{
|
||||
question: "Do you offer PT?",
|
||||
answer: "Yes, we have certified personal trainers on staff.",
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Features.tsx
Normal file
37
src/pages/HomePage/sections/Features.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 "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesMediaCards
|
||||
tag="Our Services"
|
||||
title="Everything You Need to Succeed"
|
||||
description="We offer a wide range of services designed to help you reach your goals faster."
|
||||
items={[
|
||||
{
|
||||
title: "Strength Training",
|
||||
description: "Access to a full suite of professional-grade powerlifting and bodybuilding equipment.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/dumbbell_74190-5777.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cardio Performance",
|
||||
description: "Modern machines to improve endurance, stamina, and heart health.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fit-woman-using-exercise-bike_651396-638.jpg",
|
||||
},
|
||||
{
|
||||
title: "Personal Coaching",
|
||||
description: "Expert trainers to guide your fitness journey and optimize your workout routines.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-women-gym-talking_23-2148419847.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Gallery.tsx
Normal file
57
src/pages/HomePage/sections/Gallery.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 "gallery" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function GallerySection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="gallery" data-section="gallery">
|
||||
<SectionErrorBoundary name="gallery">
|
||||
<FeaturesImageBento
|
||||
tag="The Facility"
|
||||
title="A World-Class Environment"
|
||||
description="See why our members call Romano's Gym their second home."
|
||||
items={[
|
||||
{
|
||||
title: "Weight Area",
|
||||
description: "Professional racks and plates.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stationary-bike_23-2148017334.jpg",
|
||||
},
|
||||
{
|
||||
title: "Studio Floor",
|
||||
description: "Spacious and clean.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-beautifully-decorated-round-table-with-natural-fir-branch-candle-two-flutes-plates-against-classic-sofa-modern-apartment_132075-11383.jpg",
|
||||
},
|
||||
{
|
||||
title: "Flexibility Zone",
|
||||
description: "Dedicated stretching space.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-concentrated-young-sportsgirl_171337-9037.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hydration Station",
|
||||
description: "Stay refreshed.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/kit-sport-activities_23-2147829452.jpg",
|
||||
},
|
||||
{
|
||||
title: "Performance Rack",
|
||||
description: "Heavy lifting optimized.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fitness-equipment_53876-138086.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pro Flooring",
|
||||
description: "High impact rubber.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-doing-back-closely_1163-134.jpg",
|
||||
},
|
||||
{
|
||||
title: "Functional Tools",
|
||||
description: "Kettlebells and bands.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/still-life-gym-equipment_23-2148197736.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 HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboard
|
||||
tag="Elevate Your Training"
|
||||
title="BIENVENIDOS A ROMANO'S"
|
||||
description="LUNES - VIERNES 6:00AM - 1:00 PM Y 4:00 PM - 10:00PM | SABADO 7:00AM - 1:00PM"
|
||||
primaryButton={{
|
||||
text: "Start Free Trial",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Membership",
|
||||
href: "#pricing",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/trainer-helping-woman-while-practicing-pilates_107420-85001.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Pricing.tsx
Normal file
21
src/pages/HomePage/sections/Pricing.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 "pricing" section.
|
||||
|
||||
import React from 'react';
|
||||
import PricingLayeredCards from '@/components/sections/pricing/PricingLayeredCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PricingSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingLayeredCards
|
||||
tag="Membership Options"
|
||||
title="Simple Pricing for Everyone"
|
||||
description="No hidden fees, no long contracts. Just results."
|
||||
plans={[{"features":["ACCESO COMPLETO AL GYM","REGIMEN ALIMENTICIO","RUTINA PERSONALIZADA"],"primaryButton":{"href":"#contact","text":"Join Now"},"price":"$2000","tag":"PLAN PERSONALIZADO","description":"Mensual"},{"features":["EQUIPOS","VESTIDORES","REGADERAS","ASESORAMIENTO"],"price":"$600","primaryButton":{"href":"#contact","text":"Join Now"},"tag":"PLAN RECLUTA","description":"Mensual"},{"description":"6 Meses","tag":"PLAN CENTURIÓN","primaryButton":{"href":"#contact","text":"Join Now"},"price":"$2,999","features":["EQUIPOS","VESTIDORES","REGADERAS","ASESORAMIENTO"]},{"tag":"PLAN MILITUM","description":"Anual","features":["EQUIPOS","VESTIDORES","REGADERAS","ASESORAMIENTO"],"primaryButton":{"href":"#contact","text":"Join Now"},"price":"$5,999"}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
57
src/pages/HomePage/sections/Testimonials.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 "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeOverlayCards
|
||||
tag="Success Stories"
|
||||
title="Hear from Our Community"
|
||||
description="What our members have to say about their experience at Romano's."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Alex R.",
|
||||
role: "Powerlifter",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-sportive-girl-posing-with-crossed-arms-dark-wall_176420-623.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah M.",
|
||||
role: "Athlete",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/athletic-suntanned-female-fitness-model-holding-barbell-weight-wall-from-grey-bricks_613910-15526.jpg",
|
||||
},
|
||||
{
|
||||
name: "John D.",
|
||||
role: "Fitness Enthusiast",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/half-naked-muscular-african-sportsman-resting_171337-9437.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily K.",
|
||||
role: "Personal Training",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-fit-woman-with-napkin-sitting-wooden-box-gym_23-2147949544.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mike P.",
|
||||
role: "Weightlifter",
|
||||
company: "Romano's Gym",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-women-taking-part-spinning-class_23-2149332052.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user