import React, { useState } from 'react'; import { AlertCircle, CheckCircle, Clock, User } from 'lucide-react'; const CheckInKiosk = () => { const [step, setStep] = useState('welcome'); const [formData, setFormData] = useState({ firstName: '', lastName: '', dob: '', symptoms: [], severity: 'moderate' }); const [assignedBand, setAssignedBand] = useState(null); const symptoms = [ 'Chest Pain', 'Difficulty Breathing', 'Severe Headache', 'Abdominal Pain', 'Fever', 'Nausea/Vomiting', 'Dizziness', 'Injury/Trauma', 'Other' ]; const handleSymptomToggle = (symptom) => { setFormData(prev => ({ ...prev, symptoms: prev.symptoms.includes(symptom) ? prev.symptoms.filter(s => s !== symptom) : [...prev.symptoms, symptom] })); }; const handleSubmit = async () => { // Simulate API call to backend const patientId = `P${Date.now().toString().slice(-6)}`; const bandId = `VitalLink-${Math.floor(Math.random() * 65536).toString(16).toUpperCase().padStart(4, '0')}`; setAssignedBand({ patientId, bandId, station: Math.floor(Math.random() * 8) + 1 }); // In production, send to backend: // await fetch('/api/checkin', { method: 'POST', body: JSON.stringify({...formData, patientId, bandId}) }); setStep('complete'); }; if (step === 'welcome') { return (

Welcome to VitalLink

Emergency Room Check-In

What to expect:

Answer a few questions about your condition

Receive a smart wristband to monitor your vitals

Wait comfortably while we track your condition

); } if (step === 'form') { return (

Patient Information

setFormData({...formData, firstName: e.target.value})} className="w-full px-4 py-3 border-2 border-gray-300 rounded-lg focus:border-blue-500 focus:outline-none text-lg" placeholder="John" />
setFormData({...formData, lastName: e.target.value})} className="w-full px-4 py-3 border-2 border-gray-300 rounded-lg focus:border-blue-500 focus:outline-none text-lg" placeholder="Doe" />
setFormData({...formData, dob: e.target.value})} className="w-full px-4 py-3 border-2 border-gray-300 rounded-lg focus:border-blue-500 focus:outline-none text-lg" />
{symptoms.map((symptom) => ( ))}
{['mild', 'moderate', 'severe'].map((level) => ( ))}
); } if (step === 'complete') { return (

Check-In Complete!

Your wristband has been assigned

Your Patient ID

{assignedBand?.patientId}

Wristband ID

{assignedBand?.bandId}

Next Steps:

1

Pick up your wristband from Station {assignedBand?.station}

2

Wear it on your wrist - make sure it's snug but comfortable

3

Take a seat in the waiting area - your vitals are being monitored

A nurse will call you when it's your turn

); } }; export default CheckInKiosk;