import React, { useState, useEffect } from 'react';
import {
Heart, Phone, Mail, Eye, EyeOff, MapPin,
Calendar, Clock, Shield, Star, ChevronRight,
User, Search, Filter, Home, FileText,
Bell, Menu, X, CheckCircle, AlertTriangle,
Droplets, Activity, Thermometer, Brain,
CreditCard, Smartphone, Facebook,
MessageCircle, Headphones, Zap, Plus,
ArrowLeft, ArrowRight, Download, Share2
} from 'lucide-react';
const CuraMedPatientApp = () => {
const [currentScreen, setCurrentScreen] = useState('welcome');
const [showPassword, setShowPassword] = useState(false);
const [loginData, setLoginData] = useState({ phone: '', password: '' });
const [registerData, setRegisterData] = useState({
firstName: '', lastName: '', phone: '', email: '', password: ''
});
const [selectedTests, setSelectedTests] = useState([]);
const [currentUser, setCurrentUser] = useState(null);
// Color palette
const colors = {
deepPlum: '#564259',
almostBlack: '#020102',
grayBrown: '#635e61',
offWhite: '#fcfbfc',
warmBeige: '#a48a70',
darkBrown: '#2a2622',
lightLavender: '#bfade4',
palePurple: '#dbd6e4',
softGray: '#f8f5f5',
purpleGray: '#55526f',
warmBrown: '#a5735b',
dustyRose: '#b694a9'
};
const mockUser = {
name: 'John Adebayo',
phone: '+234 803 123 4567',
email: 'john.adebayo@email.com',
location: 'Victoria Island, Lagos',
totalTests: 8,
lastTest: '2025-08-20',
healthScore: 92
};
const popularTests = [
{
id: 1,
name: 'Malaria Profile',
price: 32500,
duration: '24 hours',
category: 'Haematology',
description: 'Complete malaria parasite detection',
popular: true
},
{
id: 2,
name: 'Full Blood Count',
price: 15600,
duration: '4 hours',
category: 'Haematology',
description: 'Complete blood analysis',
popular: true
},
{
id: 3,
name: 'Lipid Profile',
price: 28900,
duration: '24 hours',
category: 'Chemistry',
description: 'Cholesterol and heart health check',
popular: true
},
{
id: 4,
name: 'Thyroid Function',
price: 45200,
duration: '48 hours',
category: 'Endocrinology',
description: 'Complete thyroid hormone analysis',
popular: false
}
];
const recentResults = [
{
id: 'CM001',
testName: 'Malaria Profile',
date: '2025-08-20',
status: 'Complete',
result: 'Normal',
critical: false
},
{
id: 'CM002',
testName: 'Full Blood Count',
date: '2025-08-18',
status: 'Complete',
result: 'Minor abnormality',
critical: false
}
];
const WelcomeScreen = () => (
{/* Header with gradient overlay */}
{/* Logo and Brand */}
CuraMed
Healthcare at your doorstep
{/* Features highlights */}
Home Collection
Professional phlebotomists come to you
Fast Results
Get results in 4-72 hours
Trusted Labs
Partnered with leading Nigerian labs
{/* CTA Buttons */}
{/* Skip option */}
{/* Footer */}
Serving Lagos • Victoria Island • Lekki • Ikeja • Ikoyi
);
const LoginScreen = () => (
{/* Header */}
Log In
{/* Welcome back message */}
Welcome Back
Log in to access your health records
{/* Login Form */}
{/* Divider */}
{/* Social Login */}
{/* Sign up link */}
Don't have an account?
);
const DashboardScreen = () => (
{/* Header */}
Hello, {currentUser?.name.split(' ')[0]}!
How can we help you today?
{/* Health Score Card */}
{currentUser?.healthScore}%
Health Score
{currentUser?.totalTests} tests completed
Last: {currentUser?.lastTest}
{/* Quick Actions */}
Quick Actions
{/* Popular Tests */}
Popular Tests
{popularTests.filter(test => test.popular).map(test => (
{test.name}
{test.description}
₦{test.price.toLocaleString()}
{test.duration}
))}
{/* Recent Results */}
Recent Results
{recentResults.map(result => (
{result.testName}
{result.date} • {result.result}
))}
{/* Bottom Navigation */}
);
const BrowseTestsScreen = () => (
{/* Header */}
{/* Test Categories */}
Categories
{[
{ name: 'Popular', icon:
, color: colors.warmBeige },
{ name: 'Haematology', icon:
, color: colors.dustyRose },
{ name: 'Chemistry', icon:
, color: colors.lightLavender },
{ name: 'Endocrinology', icon:
, color: colors.purpleGray }
].map((category, index) => (
))}
{/* All Tests */}
All Tests
{popularTests.map(test => (
{test.name}
{test.description}
₦{test.price.toLocaleString()}
{test.duration}
{test.category}
))}
);
// Screen routing
const renderScreen = () => {
switch(currentScreen) {
case 'welcome':
return ;
case 'login':
return ;
case 'dashboard':
return ;
case 'browse':
return ;
default:
return ;
}
};
return (
{renderScreen()}
);
};
export default CuraMedPatientApp;