Bob AI: Updated theme colors to red, white, and black palette

This commit is contained in:
kudinDmitriyUp
2026-06-21 11:38:09 +00:00
parent 7fe01afb97
commit 15fb3600dc
10 changed files with 378 additions and 277 deletions

View File

@@ -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;

View File

@@ -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 />
</>
);
}

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 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>
);
}

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="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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}