Bob AI: Updated theme colors to red, white, and black palette
This commit is contained in:
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #fafffb;
|
||||
--card: #ffffff;
|
||||
--foreground: #001a0a;
|
||||
--primary-cta: #0a705f;
|
||||
--primary-cta-text: #fafffb;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #001a0a;
|
||||
--accent: #a8d9be;
|
||||
--background-accent: #6bbfb8;
|
||||
--background: #ffffff;
|
||||
--card: #f9f9f9;
|
||||
--foreground: #000000;
|
||||
--primary-cta: #cc0000;
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: #000000;
|
||||
--secondary-cta-text: #ffffff;
|
||||
--accent: #666666;
|
||||
--background-accent: #ffe6e6;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 0.5rem;
|
||||
|
||||
@@ -1,280 +1,36 @@
|
||||
import AboutText from '@/components/sections/about/AboutText';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
|
||||
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import TeamDetailedCards from '@/components/sections/team/TeamDetailedCards';
|
||||
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
import { Instagram } from "lucide-react";
|
||||
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 MetricsSection from './HomePage/sections/Metrics';
|
||||
import TeamSection from './HomePage/sections/Team';
|
||||
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">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="Top Rated Gym in Mumbai"
|
||||
title="Achieve Your Peak Physical Potential"
|
||||
description="PhysioActive Pro offers world-class facilities, expert trainers, and a clean environment to help you stay motivated and reach your fitness goals."
|
||||
primaryButton={{
|
||||
text: "Book a Tour",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Membership",
|
||||
href: "#pricing",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/blurred-view-exercise-machines_1203-949.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-fitness-strap-dumbbells-skipping-rope-weights-headphone-shoes-wooden-textured-background_23-2147924687.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-preparing-basketball-game-locker_23-2150847248.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-friends-training-together-with-dumbbells_23-2149391997.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pretty-girl-sitting-window-sill-with-smartphone-hands_1153-4472.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-sports-man-happy-expression_1194-1586.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-trying-high-five-man-gym_23-2148766008.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-happy-bearded-senior-man-doing-plank-gym-with-his-beautiful-fit-female-trainer-clapping-hands-make-exercise-more-complex-healthy-active-lifestyle-people-age-fitness-concept_343059-4790.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-dark-skinned-runner-resting-seaside-after-activity-open-air-sitting-embankment-enjoying-sunset-summer-evening-cheerful-student-spending-his-vacations-exercising-outdoors_273609-1184.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-fitness-woman-with-towel-resting_171337-6262.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-sporty-black-man-standing-with-his-arms-crossed_1262-16419.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-womens-gym-giving-high-five_23-2148419841.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutText
|
||||
title="Experience Professional Fitness Excellence"
|
||||
primaryButton={{
|
||||
text: "Read Reviews",
|
||||
href: "#testimonials",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBentoGrid
|
||||
tag="What We Offer"
|
||||
title="A Gym Built for Your Success"
|
||||
description="We combine top-tier equipment with a supportive community to ensure every workout is effective and safe."
|
||||
features={[
|
||||
{
|
||||
title: "Top-Tier Equipment",
|
||||
description: "Latest machines for cardio and strength.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/intensive-training-with-barbell_1098-14344.jpg",
|
||||
},
|
||||
{
|
||||
title: "Elite Hygiene Standards",
|
||||
description: "Daily deep cleaning for peace of mind.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/white-indoors-doors_23-2148106970.jpg",
|
||||
},
|
||||
{
|
||||
title: "Expert Certified Trainers",
|
||||
description: "Guidance from Mumbai's finest coaches.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/trainer-helping-beginner-gym_23-2149561857.jpg",
|
||||
},
|
||||
{
|
||||
title: "24/7 Community Support",
|
||||
description: "Dedicated staff always ready to help.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-doing-crossfit-workout_23-2149080498.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsFeatureCards
|
||||
tag="Proven Results"
|
||||
title="Why Members Love Us"
|
||||
description="Consistently recognized as one of Mumbai's most reliable and professional fitness centers."
|
||||
metrics={[
|
||||
{
|
||||
value: "110+",
|
||||
title: "Google Reviews",
|
||||
features: [
|
||||
"Consistently high rating",
|
||||
"4.1 average score",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "13",
|
||||
title: "Expert Trainers",
|
||||
features: [
|
||||
"Certified professionals",
|
||||
"Personalized support",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "5",
|
||||
title: "Hygiene Protocols",
|
||||
features: [
|
||||
"Rigorous daily schedule",
|
||||
"Premium facilities",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamDetailedCards
|
||||
tag="Our Experts"
|
||||
title="Train With The Best"
|
||||
description="Our professional team is dedicated to your health and transformation."
|
||||
members={[
|
||||
{
|
||||
name: "Rahul Mehta",
|
||||
role: "Head Trainer",
|
||||
description: "Over 10 years of expertise in strength conditioning.",
|
||||
socialLinks: [
|
||||
{
|
||||
icon: Instagram,
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sports-man-spend-time-morning-gym_1157-28936.jpg",
|
||||
},
|
||||
{
|
||||
name: "Anjali Sharma",
|
||||
role: "Fitness Consultant",
|
||||
description: "Specialist in wellness and nutrition planning.",
|
||||
socialLinks: [
|
||||
{
|
||||
icon: Instagram,
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/two-internationals-friends-is-engaged-gym_1157-32106.jpg",
|
||||
},
|
||||
{
|
||||
name: "Vikram Singh",
|
||||
role: "Performance Coach",
|
||||
description: "Focused on agility and endurance coaching.",
|
||||
socialLinks: [
|
||||
{
|
||||
icon: Instagram,
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/healthy-fitness-concept-beautiful-american-african-lady-fitness-clothes-workout-with-dumbbell-isolated-white-background_1258-104890.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TeamSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialTrustCard
|
||||
quote="The cleanest gym in Mumbai! The trainers are super attentive and the equipment is always well-maintained."
|
||||
rating={5}
|
||||
author="Amin Patel, Local Guide"
|
||||
avatars={[
|
||||
{
|
||||
name: "User 1",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/female-athlete-clenches-fists-with-joy-celebrates-victory-marathon-smiles-broadly-dressed-grey-top-smiles-broadly-enjoys-triumph-poses-indoor-against-white-wall_273609-33762.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 2",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-smiling-athletic-woman-warming-up-while-exercising-living-room_637285-6208.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 3",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-athlete-woman-with-smartphone_23-2148213192.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 4",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/group-happy-people-with-exercise-mat-gym_23-2147949691.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 5",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-black-man-lifting-barbell-with-personal-trainer_1262-16411.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Support"
|
||||
title="Frequently Asked Questions"
|
||||
description="Need more information? Here are answers to common questions about our gym."
|
||||
items={[
|
||||
{
|
||||
question: "What are your hygiene protocols?",
|
||||
answer: "We have a strict 5-point hygiene checklist executed daily.",
|
||||
},
|
||||
{
|
||||
question: "Are trainers included?",
|
||||
answer: "We have 13 certified trainers ready to assist every member.",
|
||||
},
|
||||
{
|
||||
question: "Is equipment always available?",
|
||||
answer: "Yes, we maintain double units for high-demand machines.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer membership trials?",
|
||||
answer: "Yes, come in for a complimentary tour and trial session.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/young-adult-doing-indoor-sport-gym_23-2149205574.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get Started"
|
||||
text="Start your journey at PhysioActive Pro today. Build a stronger version of yourself."
|
||||
primaryButton={{
|
||||
text: "Contact Us Now",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Call Today",
|
||||
href: "tel:+",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
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 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="Experience Professional Fitness Excellence"
|
||||
primaryButton={{
|
||||
text: "Read Reviews",
|
||||
href: "#testimonials",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
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="Get Started"
|
||||
text="Start your journey at PhysioActive Pro today. Build a stronger version of yourself."
|
||||
primaryButton={{
|
||||
text: "Contact Us Now",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Call Today",
|
||||
href: "tel:+",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
39
src/pages/HomePage/sections/Faq.tsx
Normal file
39
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
// 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 FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Support"
|
||||
title="Frequently Asked Questions"
|
||||
description="Need more information? Here are answers to common questions about our gym."
|
||||
items={[
|
||||
{
|
||||
question: "What are your hygiene protocols?",
|
||||
answer: "We have a strict 5-point hygiene checklist executed daily.",
|
||||
},
|
||||
{
|
||||
question: "Are trainers included?",
|
||||
answer: "We have 13 certified trainers ready to assist every member.",
|
||||
},
|
||||
{
|
||||
question: "Is equipment always available?",
|
||||
answer: "Yes, we maintain double units for high-demand machines.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer membership trials?",
|
||||
answer: "Yes, come in for a complimentary tour and trial session.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/young-adult-doing-indoor-sport-gym_23-2149205574.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
42
src/pages/HomePage/sections/Features.tsx
Normal file
42
src/pages/HomePage/sections/Features.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 "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBentoGrid
|
||||
tag="What We Offer"
|
||||
title="A Gym Built for Your Success"
|
||||
description="We combine top-tier equipment with a supportive community to ensure every workout is effective and safe."
|
||||
features={[
|
||||
{
|
||||
title: "Top-Tier Equipment",
|
||||
description: "Latest machines for cardio and strength.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/intensive-training-with-barbell_1098-14344.jpg",
|
||||
},
|
||||
{
|
||||
title: "Elite Hygiene Standards",
|
||||
description: "Daily deep cleaning for peace of mind.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/white-indoors-doors_23-2148106970.jpg",
|
||||
},
|
||||
{
|
||||
title: "Expert Certified Trainers",
|
||||
description: "Guidance from Mumbai's finest coaches.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/trainer-helping-beginner-gym_23-2149561857.jpg",
|
||||
},
|
||||
{
|
||||
title: "24/7 Community Support",
|
||||
description: "Dedicated staff always ready to help.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-doing-crossfit-workout_23-2149080498.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
68
src/pages/HomePage/sections/Hero.tsx
Normal file
68
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,68 @@
|
||||
// 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 HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="Top Rated Gym in Mumbai"
|
||||
title="Achieve Your Peak Physical Potential"
|
||||
description="PhysioActive Pro offers world-class facilities, expert trainers, and a clean environment to help you stay motivated and reach your fitness goals."
|
||||
primaryButton={{
|
||||
text: "Book a Tour",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Membership",
|
||||
href: "#pricing",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/blurred-view-exercise-machines_1203-949.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-fitness-strap-dumbbells-skipping-rope-weights-headphone-shoes-wooden-textured-background_23-2147924687.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-preparing-basketball-game-locker_23-2150847248.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-friends-training-together-with-dumbbells_23-2149391997.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pretty-girl-sitting-window-sill-with-smartphone-hands_1153-4472.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-sports-man-happy-expression_1194-1586.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-trying-high-five-man-gym_23-2148766008.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-happy-bearded-senior-man-doing-plank-gym-with-his-beautiful-fit-female-trainer-clapping-hands-make-exercise-more-complex-healthy-active-lifestyle-people-age-fitness-concept_343059-4790.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-dark-skinned-runner-resting-seaside-after-activity-open-air-sitting-embankment-enjoying-sunset-summer-evening-cheerful-student-spending-his-vacations-exercising-outdoors_273609-1184.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-fitness-woman-with-towel-resting_171337-6262.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-sporty-black-man-standing-with-his-arms-crossed_1262-16419.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-womens-gym-giving-high-five_23-2148419841.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
46
src/pages/HomePage/sections/Metrics.tsx
Normal file
46
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,46 @@
|
||||
// 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 MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsFeatureCards
|
||||
tag="Proven Results"
|
||||
title="Why Members Love Us"
|
||||
description="Consistently recognized as one of Mumbai's most reliable and professional fitness centers."
|
||||
metrics={[
|
||||
{
|
||||
value: "110+",
|
||||
title: "Google Reviews",
|
||||
features: [
|
||||
"Consistently high rating",
|
||||
"4.1 average score",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "13",
|
||||
title: "Expert Trainers",
|
||||
features: [
|
||||
"Certified professionals",
|
||||
"Personalized support",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "5",
|
||||
title: "Hygiene Protocols",
|
||||
features: [
|
||||
"Rigorous daily schedule",
|
||||
"Premium facilities",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
59
src/pages/HomePage/sections/Team.tsx
Normal file
59
src/pages/HomePage/sections/Team.tsx
Normal file
@@ -0,0 +1,59 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "team" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamDetailedCards from '@/components/sections/team/TeamDetailedCards';
|
||||
import { Instagram } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TeamSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamDetailedCards
|
||||
tag="Our Experts"
|
||||
title="Train With The Best"
|
||||
description="Our professional team is dedicated to your health and transformation."
|
||||
members={[
|
||||
{
|
||||
name: "Rahul Mehta",
|
||||
role: "Head Trainer",
|
||||
description: "Over 10 years of expertise in strength conditioning.",
|
||||
socialLinks: [
|
||||
{
|
||||
icon: Instagram,
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sports-man-spend-time-morning-gym_1157-28936.jpg",
|
||||
},
|
||||
{
|
||||
name: "Anjali Sharma",
|
||||
role: "Fitness Consultant",
|
||||
description: "Specialist in wellness and nutrition planning.",
|
||||
socialLinks: [
|
||||
{
|
||||
icon: Instagram,
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/two-internationals-friends-is-engaged-gym_1157-32106.jpg",
|
||||
},
|
||||
{
|
||||
name: "Vikram Singh",
|
||||
role: "Performance Coach",
|
||||
description: "Focused on agility and endurance coaching.",
|
||||
socialLinks: [
|
||||
{
|
||||
icon: Instagram,
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/healthy-fitness-concept-beautiful-american-african-lady-fitness-clothes-workout-with-dumbbell-isolated-white-background_1258-104890.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
42
src/pages/HomePage/sections/Testimonials.tsx
Normal file
42
src/pages/HomePage/sections/Testimonials.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 "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialTrustCard
|
||||
quote="The cleanest gym in Mumbai! The trainers are super attentive and the equipment is always well-maintained."
|
||||
rating={5}
|
||||
author="Amin Patel, Local Guide"
|
||||
avatars={[
|
||||
{
|
||||
name: "User 1",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/female-athlete-clenches-fists-with-joy-celebrates-victory-marathon-smiles-broadly-dressed-grey-top-smiles-broadly-enjoys-triumph-poses-indoor-against-white-wall_273609-33762.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 2",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-smiling-athletic-woman-warming-up-while-exercising-living-room_637285-6208.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 3",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-athlete-woman-with-smartphone_23-2148213192.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 4",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/group-happy-people-with-exercise-mat-gym_23-2147949691.jpg",
|
||||
},
|
||||
{
|
||||
name: "User 5",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-black-man-lifting-barbell-with-personal-trainer_1262-16411.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user