Compare commits
4 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d7f97d430d | |||
|
|
9ec1b95c00 | ||
| 98488435e2 | |||
| 454dfa0b14 |
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #f5faff;
|
||||
--card: #ffffff;
|
||||
--foreground: #001122;
|
||||
--primary-cta: #15479c;
|
||||
--primary-cta-text: #f5faff;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #001122;
|
||||
--accent: #a8cce8;
|
||||
--background-accent: #7ba3cf;
|
||||
--background: #030712;
|
||||
--card: rgba(255, 255, 255, 0.03);
|
||||
--foreground: #f9fafb;
|
||||
--primary-cta: rgba(255, 255, 255, 0.1);
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: rgba(255, 255, 255, 0.02);
|
||||
--secondary-cta-text: #9ca3af;
|
||||
--accent: #38bdf8;
|
||||
--background-accent: #0ea5e9;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 0.5rem;
|
||||
|
||||
@@ -1,276 +1,33 @@
|
||||
import FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroOverlayMarquee from '@/components/sections/hero/HeroOverlayMarquee';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import PricingSplitCards from '@/components/sections/pricing/PricingSplitCards';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import { Lock, Shield, Zap } 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 ServicesSection from './HomePage/sections/Services';
|
||||
import RefillsSection from './HomePage/sections/Refills';
|
||||
import DeliverySection from './HomePage/sections/Delivery';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroOverlayMarquee
|
||||
tag="Trusted Pharmacy Services"
|
||||
title="Your Prescriptions, Delivered Your Way"
|
||||
description="Refill, transfer, and receive medications in hours—online, anytime. Fast, safe, and simple pharmacy care at your fingertips."
|
||||
primaryButton={{
|
||||
text: "Start Your Prescription",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Learn About Delivery",
|
||||
href: "#services",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
text: "24/7 Support",
|
||||
icon: Shield,
|
||||
},
|
||||
{
|
||||
text: "Fast Delivery",
|
||||
icon: Zap,
|
||||
},
|
||||
{
|
||||
text: "Secure Records",
|
||||
icon: Lock,
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/professional-pharmacist-work_329181-19514.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesMediaCards
|
||||
tag="Our Services"
|
||||
title="Care Built Around Your Life"
|
||||
description="We simplify your pharmacy needs with digital-first solutions."
|
||||
items={[
|
||||
{
|
||||
title: "Online Refills",
|
||||
description: "Quickly request refills for existing prescriptions with a single click via our secure dashboard.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/patient-filling-online-form-out_1098-16972.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pharmacy Transfers",
|
||||
description: "Easily transfer your prescriptions from any local pharmacy to our streamlined digital system.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mobile-phone-stethoscope-chart-file-desktop-mobile-medical-handheld-doctor-concepts_1387-44.jpg",
|
||||
},
|
||||
{
|
||||
title: "Doorstep Delivery",
|
||||
description: "Choose between express same-day delivery or scheduled local pickup at your convenience.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-pills-container-blue-background_23-2149870492.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServicesSection />
|
||||
|
||||
<div id="refills" data-section="refills">
|
||||
<SectionErrorBoundary name="refills">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Prescription Hub"
|
||||
title="Full Prescription Management"
|
||||
description="Keep track of your health journey with our intuitive management tools."
|
||||
items={[
|
||||
{
|
||||
title: "Order History",
|
||||
description: "View all past orders and refill dates instantly.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/general-practitioner-recommending-vitamins-painkillers-insurance_482257-113488.jpg",
|
||||
},
|
||||
{
|
||||
title: "Auto-Refills",
|
||||
description: "Never miss a dose with our automated reminder and refill system.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elderly-pharmacist-using-pulse-oximeter_482257-81362.jpg",
|
||||
},
|
||||
{
|
||||
title: "Caregiver Access",
|
||||
description: "Manage medications for dependents with shared account access.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delivery-guy-carrying-cardboard-box_23-2148577148.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cost Transparency",
|
||||
description: "Real-time pricing for every medication and delivery option.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elderly-doctor-using-tablet-office_23-2147896139.jpg",
|
||||
},
|
||||
{
|
||||
title: "Insurance Sync",
|
||||
description: "Direct integration with major health insurance providers.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-character-emerging-from-smartphone_23-2151336648.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pharmacist Chat",
|
||||
description: "Message a licensed pharmacist with any questions securely.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-party-girl-with-santa-hat-standing-big-xmas-gift_179666-18556.jpg",
|
||||
},
|
||||
{
|
||||
title: "Medication Tracker",
|
||||
description: "Daily reminders to take your medication on time.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-carrying-crate-food_23-2148773387.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<RefillsSection />
|
||||
|
||||
<div id="delivery" data-section="delivery">
|
||||
<SectionErrorBoundary name="delivery">
|
||||
<PricingSplitCards
|
||||
tag="Flexible Delivery"
|
||||
title="Choose How You Receive Care"
|
||||
description="We offer transparent, low-cost options to fit your busy schedule."
|
||||
plans={[
|
||||
{
|
||||
tag: "Standard",
|
||||
price: "$0",
|
||||
period: "/ delivery",
|
||||
description: "2-3 day shipping for non-urgent refills.",
|
||||
primaryButton: {
|
||||
text: "Select Standard",
|
||||
href: "#",
|
||||
},
|
||||
featuresTitle: "Standard Benefits",
|
||||
features: [
|
||||
"Eco-friendly packaging",
|
||||
"Standard tracking",
|
||||
"No hidden fees",
|
||||
],
|
||||
},
|
||||
{
|
||||
tag: "Express",
|
||||
price: "$4.99",
|
||||
period: "/ delivery",
|
||||
description: "Same-day service for when you need it fast.",
|
||||
primaryButton: {
|
||||
text: "Select Express",
|
||||
href: "#",
|
||||
},
|
||||
featuresTitle: "Express Benefits",
|
||||
features: [
|
||||
"Same-day delivery",
|
||||
"Priority handling",
|
||||
"Real-time updates",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<DeliverySection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="Our Impact"
|
||||
title="Pharmacy Care You Can Trust"
|
||||
description="Reliability and service that speaks for itself."
|
||||
metrics={[
|
||||
{
|
||||
value: "99.9%",
|
||||
description: "Accuracy Rate",
|
||||
},
|
||||
{
|
||||
value: "50k+",
|
||||
description: "Prescriptions Filled",
|
||||
},
|
||||
{
|
||||
value: "24/7",
|
||||
description: "Expert Availability",
|
||||
},
|
||||
{
|
||||
value: "98%",
|
||||
description: "Patient Satisfaction",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Testimonials"
|
||||
title="What Our Patients Say"
|
||||
description="Trusted by thousands of busy individuals and families."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
role: "Full-time Working Mom",
|
||||
quote: "The pharmacy app is a lifesaver. Refills take seconds, and the delivery is always on time.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/social-worker-helping-senior-woman_23-2149031383.jpg",
|
||||
},
|
||||
{
|
||||
name: "Robert K.",
|
||||
role: "Caregiver",
|
||||
quote: "Managing my father's prescriptions used to be stressful, but this platform has made it so easy.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-doctor_23-2148485966.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily D.",
|
||||
role: "Nurse",
|
||||
quote: "As someone in healthcare, I appreciate the accuracy and speed. Highly professional service.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/white-dog-looking-smiling-young-couple-sitting-with-their-son-front-television_23-2147938778.jpg",
|
||||
},
|
||||
{
|
||||
name: "Michael L.",
|
||||
role: "Teacher",
|
||||
quote: "Simple, transparent, and incredibly convenient. I don't think I'll ever go back to in-person pharmacy visits.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/senior-man-checking-his-blood-pressure-while-lying-home-sofa_496169-1546.jpg",
|
||||
},
|
||||
{
|
||||
name: "Jessica M.",
|
||||
role: "Small Business Owner",
|
||||
quote: "Excellent delivery updates. I always know when my medication will arrive.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elderly-couple-after-training_1398-4934.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSimple
|
||||
tag="Questions?"
|
||||
title="Frequently Asked Questions"
|
||||
description="Find quick answers to common questions about our services."
|
||||
items={[
|
||||
{
|
||||
question: "Is my medical data safe?",
|
||||
answer: "Yes, we use industry-standard encryption and follow all HIPAA guidelines.",
|
||||
},
|
||||
{
|
||||
question: "Can you accept insurance?",
|
||||
answer: "Absolutely, we integrate with all major insurance providers.",
|
||||
},
|
||||
{
|
||||
question: "How do I transfer a script?",
|
||||
answer: "Simply provide your current pharmacy details, and we handle the transfer process.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer home delivery?",
|
||||
answer: "Yes, we offer both same-day express and standard delivery services.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
54
src/pages/HomePage/sections/Delivery.tsx
Normal file
54
src/pages/HomePage/sections/Delivery.tsx
Normal file
@@ -0,0 +1,54 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "delivery" section.
|
||||
|
||||
import React from 'react';
|
||||
import PricingSplitCards from '@/components/sections/pricing/PricingSplitCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function DeliverySection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="delivery" data-section="delivery">
|
||||
<SectionErrorBoundary name="delivery">
|
||||
<PricingSplitCards
|
||||
tag="Flexible Delivery"
|
||||
title="Choose How You Receive Care"
|
||||
description="We offer transparent, low-cost options to fit your busy schedule."
|
||||
plans={[
|
||||
{
|
||||
tag: "Standard",
|
||||
price: "$0",
|
||||
period: "/ delivery",
|
||||
description: "2-3 day shipping for non-urgent refills.",
|
||||
primaryButton: {
|
||||
text: "Select Standard",
|
||||
href: "#",
|
||||
},
|
||||
featuresTitle: "Standard Benefits",
|
||||
features: [
|
||||
"Eco-friendly packaging",
|
||||
"Standard tracking",
|
||||
"No hidden fees",
|
||||
],
|
||||
},
|
||||
{
|
||||
tag: "Express",
|
||||
price: "$4.99",
|
||||
period: "/ delivery",
|
||||
description: "Same-day service for when you need it fast.",
|
||||
primaryButton: {
|
||||
text: "Select Express",
|
||||
href: "#",
|
||||
},
|
||||
featuresTitle: "Express Benefits",
|
||||
features: [
|
||||
"Same-day delivery",
|
||||
"Priority handling",
|
||||
"Real-time updates",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Faq.tsx
Normal file
38
src/pages/HomePage/sections/Faq.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 "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="Questions?"
|
||||
title="Frequently Asked Questions"
|
||||
description="Find quick answers to common questions about our services."
|
||||
items={[
|
||||
{
|
||||
question: "Is my medical data safe?",
|
||||
answer: "Yes, we use industry-standard encryption and follow all HIPAA guidelines.",
|
||||
},
|
||||
{
|
||||
question: "Can you accept insurance?",
|
||||
answer: "Absolutely, we integrate with all major insurance providers.",
|
||||
},
|
||||
{
|
||||
question: "How do I transfer a script?",
|
||||
answer: "Simply provide your current pharmacy details, and we handle the transfer process.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer home delivery?",
|
||||
answer: "Yes, we offer both same-day express and standard delivery services.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
44
src/pages/HomePage/sections/Hero.tsx
Normal file
44
src/pages/HomePage/sections/Hero.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 "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroOverlayMarquee from '@/components/sections/hero/HeroOverlayMarquee';
|
||||
import { Lock, Shield, Zap } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroOverlayMarquee
|
||||
tag="Trusted Pharmacy Services"
|
||||
title="Your Prescriptions, Delivered Your Way"
|
||||
description="Refill, transfer, and receive medications in hours—online, anytime. Fast, safe, and simple pharmacy care at your fingertips."
|
||||
primaryButton={{
|
||||
text: "eruithleirhgipure",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Learn About Delivery",
|
||||
href: "#services",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
text: "24/7 Support",
|
||||
icon: Shield,
|
||||
},
|
||||
{
|
||||
text: "Fast Delivery",
|
||||
icon: Zap,
|
||||
},
|
||||
{
|
||||
text: "Secure Records",
|
||||
icon: Lock,
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/professional-pharmacist-work_329181-19514.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Metrics.tsx
Normal file
38
src/pages/HomePage/sections/Metrics.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 "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="Our Impact"
|
||||
title="Pharmacy Care You Can Trust"
|
||||
description="Reliability and service that speaks for itself."
|
||||
metrics={[
|
||||
{
|
||||
value: "99.9%",
|
||||
description: "Accuracy Rate",
|
||||
},
|
||||
{
|
||||
value: "50k+",
|
||||
description: "Prescriptions Filled",
|
||||
},
|
||||
{
|
||||
value: "24/7",
|
||||
description: "Expert Availability",
|
||||
},
|
||||
{
|
||||
value: "98%",
|
||||
description: "Patient Satisfaction",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/Refills.tsx
Normal file
64
src/pages/HomePage/sections/Refills.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "refills" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function RefillsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="refills" data-section="refills">
|
||||
<SectionErrorBoundary name="refills">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Prescription Hub"
|
||||
title="Full Prescription Management"
|
||||
description="Keep track of your health journey with our intuitive management tools."
|
||||
items={[
|
||||
{
|
||||
title: "Order History",
|
||||
description: "View all past orders and refill dates instantly.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/general-practitioner-recommending-vitamins-painkillers-insurance_482257-113488.jpg",
|
||||
},
|
||||
{
|
||||
title: "Auto-Refills",
|
||||
description: "Never miss a dose with our automated reminder and refill system.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elderly-pharmacist-using-pulse-oximeter_482257-81362.jpg",
|
||||
},
|
||||
{
|
||||
title: "Caregiver Access",
|
||||
description: "Manage medications for dependents with shared account access.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delivery-guy-carrying-cardboard-box_23-2148577148.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cost Transparency",
|
||||
description: "Real-time pricing for every medication and delivery option.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elderly-doctor-using-tablet-office_23-2147896139.jpg",
|
||||
},
|
||||
{
|
||||
title: "Insurance Sync",
|
||||
description: "Direct integration with major health insurance providers.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-character-emerging-from-smartphone_23-2151336648.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pharmacist Chat",
|
||||
description: "Message a licensed pharmacist with any questions securely.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-party-girl-with-santa-hat-standing-big-xmas-gift_179666-18556.jpg",
|
||||
},
|
||||
{
|
||||
title: "Medication Tracker",
|
||||
description: "Daily reminders to take your medication on time.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-carrying-crate-food_23-2148773387.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Services.tsx
Normal file
37
src/pages/HomePage/sections/Services.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 "services" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ServicesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesMediaCards
|
||||
tag="Our Services"
|
||||
title="Care Built Around Your Life"
|
||||
description="We simplify your pharmacy needs with digital-first solutions."
|
||||
items={[
|
||||
{
|
||||
title: "Online Refills",
|
||||
description: "Quickly request refills for existing prescriptions with a single click via our secure dashboard.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/patient-filling-online-form-out_1098-16972.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pharmacy Transfers",
|
||||
description: "Easily transfer your prescriptions from any local pharmacy to our streamlined digital system.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mobile-phone-stethoscope-chart-file-desktop-mobile-medical-handheld-doctor-concepts_1387-44.jpg",
|
||||
},
|
||||
{
|
||||
title: "Doorstep Delivery",
|
||||
description: "Choose between express same-day delivery or scheduled local pickup at your convenience.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-pills-container-blue-background_23-2149870492.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</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 TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Testimonials"
|
||||
title="What Our Patients Say"
|
||||
description="Trusted by thousands of busy individuals and families."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
role: "Full-time Working Mom",
|
||||
quote: "The pharmacy app is a lifesaver. Refills take seconds, and the delivery is always on time.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/social-worker-helping-senior-woman_23-2149031383.jpg",
|
||||
},
|
||||
{
|
||||
name: "Robert K.",
|
||||
role: "Caregiver",
|
||||
quote: "Managing my father's prescriptions used to be stressful, but this platform has made it so easy.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-doctor_23-2148485966.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily D.",
|
||||
role: "Nurse",
|
||||
quote: "As someone in healthcare, I appreciate the accuracy and speed. Highly professional service.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/white-dog-looking-smiling-young-couple-sitting-with-their-son-front-television_23-2147938778.jpg",
|
||||
},
|
||||
{
|
||||
name: "Michael L.",
|
||||
role: "Teacher",
|
||||
quote: "Simple, transparent, and incredibly convenient. I don't think I'll ever go back to in-person pharmacy visits.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/senior-man-checking-his-blood-pressure-while-lying-home-sofa_496169-1546.jpg",
|
||||
},
|
||||
{
|
||||
name: "Jessica M.",
|
||||
role: "Small Business Owner",
|
||||
quote: "Excellent delivery updates. I always know when my medication will arrive.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elderly-couple-after-training_1398-4934.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user