Bob AI: Removed image from about section
This commit is contained in:
@@ -1,222 +1,33 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
|
||||
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import { Activity, CheckCircle, Gauge, Heart, Users } 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 ServicesSection from './HomePage/sections/Services';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import ReviewsSection from './HomePage/sections/Reviews';
|
||||
import LocationSection from './HomePage/sections/Location';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroCenteredLogos
|
||||
avatarsSrc={[
|
||||
"http://img.b2bpic.net/free-photo/pharmacist-work_23-2150600109.jpg",
|
||||
]}
|
||||
avatarText="Dr. Chandra Madhu Das (MBBS)"
|
||||
title="Trusted Medical Care in Hyderabad"
|
||||
description="Providing compassionate and expert care by Dr. Chandra Madhu Das. Your health is our priority."
|
||||
primaryButton={{
|
||||
text: "Book Appointment",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "WhatsApp Now",
|
||||
href: "https://wa.me/923453601038",
|
||||
}}
|
||||
names={[
|
||||
"General Physician",
|
||||
"Expert Care",
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/empty-healthcare-medical-office-no-people-modern-hospital-interior-computer-desk-with-examining-diagnostic-data-checking-disease-doctor-medical-space_482257-64606.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Expertise"
|
||||
title="Dr. Chandra Madhu Das"
|
||||
description="With years of dedicated clinical experience, Dr. Das provides personalized, evidence-based healthcare for patients of all ages. We maintain a clean, welcoming, and trust-focused clinic environment."
|
||||
items={[
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Comprehensive Diagnostics",
|
||||
description: "Accurate assessment of your health issues.",
|
||||
},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Patient-Centered Approach",
|
||||
description: "We listen to your concerns thoroughly.",
|
||||
},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Accessible Care",
|
||||
description: "Convenient hours starting from 7 PM.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/pleased-young-bald-male-doctor-wearing-medical-robe-stethoscope-sitting-desk-work-with-medical-tools-his-thumb-up-isolated-green-background_141793-63436.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesBorderGlow
|
||||
tag="Our Services"
|
||||
title="Quality Medical Care"
|
||||
description="Professional treatment options tailored to your needs."
|
||||
features={[
|
||||
{
|
||||
icon: Activity,
|
||||
title: "General Consultation",
|
||||
description: "Routine checkups and health guidance.",
|
||||
},
|
||||
{
|
||||
icon: Gauge,
|
||||
title: "Fever & Infection",
|
||||
description: "Effective diagnosis and treatment.",
|
||||
},
|
||||
{
|
||||
icon: Heart,
|
||||
title: "Diabetes Care",
|
||||
description: "Long-term management and monitoring.",
|
||||
},
|
||||
{
|
||||
icon: Activity,
|
||||
title: "Blood Pressure",
|
||||
description: "Monitoring and hypertensive control.",
|
||||
},
|
||||
{
|
||||
icon: Users,
|
||||
title: "Family Healthcare",
|
||||
description: "Primary care for your whole family.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServicesSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="Impact"
|
||||
title="Clinic Standards"
|
||||
metrics={[
|
||||
{
|
||||
value: "100%",
|
||||
description: "Dedicated Care",
|
||||
},
|
||||
{
|
||||
value: "5.0",
|
||||
description: "Patient Satisfaction",
|
||||
},
|
||||
{
|
||||
value: "24/7",
|
||||
description: "Commitment",
|
||||
},
|
||||
]}
|
||||
description="Delivering reliable healthcare results every day."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialRatingCards
|
||||
tag="Testimonials"
|
||||
title="Patient Stories"
|
||||
description="See why our patients trust us with their health."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Muhammad Ali",
|
||||
role: "Patient",
|
||||
quote: "Excellent doctor, very kind and professional. Highly recommended for family care.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-with-white-short-hair_23-2148262831.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah Khan",
|
||||
role: "Patient",
|
||||
quote: "Dr. Das took his time to understand my concerns. Very thorough treatment.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-relaxing-sofa_329181-12161.jpg",
|
||||
},
|
||||
{
|
||||
name: "Ahmed Raza",
|
||||
role: "Patient",
|
||||
quote: "Professional environment and clear treatment advice. Great clinic.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/doctor-interacting-with-patient-medical-office-hospital_1170-2093.jpg",
|
||||
},
|
||||
{
|
||||
name: "Fatimah Zohra",
|
||||
role: "Patient",
|
||||
quote: "Excellent service and very knowledgeable. Will come back.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-senior-woman-shaking-hands-with-surgeon-hospital-hallway_637285-5280.jpg",
|
||||
},
|
||||
{
|
||||
name: "Zubair Ahmed",
|
||||
role: "Patient",
|
||||
quote: "Very good clinic and the staff is quite responsive.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-person-football-game_23-2149015525.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ReviewsSection />
|
||||
|
||||
<div id="location" data-section="location">
|
||||
<SectionErrorBoundary name="location">
|
||||
<ContactCta
|
||||
tag="Visit Us"
|
||||
text="Jahan Plaza 1, Main Doctor’s Line, Opposite Life Laboratory, Doctors Colony, Hyderabad, 71500, Pakistan. Opening 7 PM (Monday Onwards)."
|
||||
primaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "https://maps.google.com",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Call Now",
|
||||
href: "tel:+923453601038",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<LocationSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<FaqTwoColumn
|
||||
tag="Contact Info"
|
||||
title="Get In Touch"
|
||||
items={[
|
||||
{
|
||||
question: "Clinic Location",
|
||||
answer: "Jahan Plaza 1, Main Doctor’s Line, Hyderabad.",
|
||||
},
|
||||
{
|
||||
question: "WhatsApp Booking",
|
||||
answer: "+92 345 3601038",
|
||||
},
|
||||
{
|
||||
question: "Opening Hours",
|
||||
answer: "Daily from 7 PM (Monday onwards).",
|
||||
},
|
||||
{
|
||||
question: "Appointment",
|
||||
answer: "Book via call or WhatsApp message.",
|
||||
},
|
||||
]}
|
||||
description="Have questions about your health or appointment?"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
38
src/pages/HomePage/sections/About.tsx
Normal file
38
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
// 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 AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import { Activity, CheckCircle, Gauge, Heart, Users } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Expertise"
|
||||
title="Dr. Chandra Madhu Das"
|
||||
description="With years of dedicated clinical experience, Dr. Das provides personalized, evidence-based healthcare for patients of all ages. We maintain a clean, welcoming, and trust-focused clinic environment."
|
||||
items={[
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Comprehensive Diagnostics",
|
||||
description: "Accurate assessment of your health issues.",
|
||||
},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Patient-Centered Approach",
|
||||
description: "We listen to your concerns thoroughly.",
|
||||
},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Accessible Care",
|
||||
description: "Convenient hours starting from 7 PM.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Contact.tsx
Normal file
38
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
// 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 FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<FaqTwoColumn
|
||||
tag="Contact Info"
|
||||
title="Get In Touch"
|
||||
items={[
|
||||
{
|
||||
question: "Clinic Location",
|
||||
answer: "Jahan Plaza 1, Main Doctor’s Line, Hyderabad.",
|
||||
},
|
||||
{
|
||||
question: "WhatsApp Booking",
|
||||
answer: "+92 345 3601038",
|
||||
},
|
||||
{
|
||||
question: "Opening Hours",
|
||||
answer: "Daily from 7 PM (Monday onwards).",
|
||||
},
|
||||
{
|
||||
question: "Appointment",
|
||||
answer: "Book via call or WhatsApp message.",
|
||||
},
|
||||
]}
|
||||
description="Have questions about your health or appointment?"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
36
src/pages/HomePage/sections/Hero.tsx
Normal file
36
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
// 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 HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroCenteredLogos
|
||||
avatarsSrc={[
|
||||
"http://img.b2bpic.net/free-photo/pharmacist-work_23-2150600109.jpg",
|
||||
]}
|
||||
avatarText="Dr. Chandra Madhu Das (MBBS)"
|
||||
title="Trusted Medical Care in Hyderabad"
|
||||
description="Providing compassionate and expert care by Dr. Chandra Madhu Das. Your health is our priority."
|
||||
primaryButton={{
|
||||
text: "Book Appointment",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "WhatsApp Now",
|
||||
href: "https://wa.me/923453601038",
|
||||
}}
|
||||
names={[
|
||||
"General Physician",
|
||||
"Expert Care",
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/empty-healthcare-medical-office-no-people-modern-hospital-interior-computer-desk-with-examining-diagnostic-data-checking-disease-doctor-medical-space_482257-64606.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Location.tsx
Normal file
27
src/pages/HomePage/sections/Location.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 "location" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function LocationSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="location" data-section="location">
|
||||
<SectionErrorBoundary name="location">
|
||||
<ContactCta
|
||||
tag="Visit Us"
|
||||
text="Jahan Plaza 1, Main Doctor’s Line, Opposite Life Laboratory, Doctors Colony, Hyderabad, 71500, Pakistan. Opening 7 PM (Monday Onwards)."
|
||||
primaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "https://maps.google.com",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Call Now",
|
||||
href: "tel:+923453601038",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
34
src/pages/HomePage/sections/Metrics.tsx
Normal file
34
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="Impact"
|
||||
title="Clinic Standards"
|
||||
metrics={[
|
||||
{
|
||||
value: "100%",
|
||||
description: "Dedicated Care",
|
||||
},
|
||||
{
|
||||
value: "5.0",
|
||||
description: "Patient Satisfaction",
|
||||
},
|
||||
{
|
||||
value: "24/7",
|
||||
description: "Commitment",
|
||||
},
|
||||
]}
|
||||
description="Delivering reliable healthcare results every day."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Reviews.tsx
Normal file
57
src/pages/HomePage/sections/Reviews.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 "reviews" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ReviewsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialRatingCards
|
||||
tag="Testimonials"
|
||||
title="Patient Stories"
|
||||
description="See why our patients trust us with their health."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Muhammad Ali",
|
||||
role: "Patient",
|
||||
quote: "Excellent doctor, very kind and professional. Highly recommended for family care.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-with-white-short-hair_23-2148262831.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah Khan",
|
||||
role: "Patient",
|
||||
quote: "Dr. Das took his time to understand my concerns. Very thorough treatment.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-relaxing-sofa_329181-12161.jpg",
|
||||
},
|
||||
{
|
||||
name: "Ahmed Raza",
|
||||
role: "Patient",
|
||||
quote: "Professional environment and clear treatment advice. Great clinic.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/doctor-interacting-with-patient-medical-office-hospital_1170-2093.jpg",
|
||||
},
|
||||
{
|
||||
name: "Fatimah Zohra",
|
||||
role: "Patient",
|
||||
quote: "Excellent service and very knowledgeable. Will come back.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-senior-woman-shaking-hands-with-surgeon-hospital-hallway_637285-5280.jpg",
|
||||
},
|
||||
{
|
||||
name: "Zubair Ahmed",
|
||||
role: "Patient",
|
||||
quote: "Very good clinic and the staff is quite responsive.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-person-football-game_23-2149015525.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
48
src/pages/HomePage/sections/Services.tsx
Normal file
48
src/pages/HomePage/sections/Services.tsx
Normal file
@@ -0,0 +1,48 @@
|
||||
// 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 FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
|
||||
import { Activity, CheckCircle, Gauge, Heart, Users } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ServicesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesBorderGlow
|
||||
tag="Our Services"
|
||||
title="Quality Medical Care"
|
||||
description="Professional treatment options tailored to your needs."
|
||||
features={[
|
||||
{
|
||||
icon: Activity,
|
||||
title: "General Consultation",
|
||||
description: "Routine checkups and health guidance.",
|
||||
},
|
||||
{
|
||||
icon: Gauge,
|
||||
title: "Fever & Infection",
|
||||
description: "Effective diagnosis and treatment.",
|
||||
},
|
||||
{
|
||||
icon: Heart,
|
||||
title: "Diabetes Care",
|
||||
description: "Long-term management and monitoring.",
|
||||
},
|
||||
{
|
||||
icon: Activity,
|
||||
title: "Blood Pressure",
|
||||
description: "Monitoring and hypertensive control.",
|
||||
},
|
||||
{
|
||||
icon: Users,
|
||||
title: "Family Healthcare",
|
||||
description: "Primary care for your whole family.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user