/** * EWAAST React Application * * Main app component with state machine for navigation. * Adapted from Google's appoint-ready App.js pattern. */ import React, { useState } from 'react'; import WelcomePage from './components/WelcomePage/WelcomePage'; import PatientSelector from './components/PatientSelector/PatientSelector'; import SimulationBriefing from './components/SimulationBriefing/SimulationBriefing'; import WoundUpload from './components/WoundUpload/WoundUpload'; import Assessment from './components/Assessment/Assessment'; import './shared/Style.css'; const App = () => { const [currentPage, setCurrentPage] = useState('welcome'); const [selectedPatient, setSelectedPatient] = useState(null); const [selectedWound, setSelectedWound] = useState(null); const [uploadedImage, setUploadedImage] = useState(null); const [patientContext, setPatientContext] = useState(''); const [assessmentResult, setAssessmentResult] = useState(null); const handleStartAssessment = () => { setCurrentPage('patientSelector'); }; const handlePatientSelected = (patient, wound) => { setSelectedPatient(patient); setSelectedWound(wound); setPatientContext(patient.ehr_summary); setCurrentPage('simulationBriefing'); }; const handleStartSimulation = () => { setCurrentPage('upload'); }; const handleImageUploaded = (imageFile, context) => { setUploadedImage(imageFile); setPatientContext(context); setCurrentPage('assessment'); }; const handleAssessmentComplete = (result) => { setAssessmentResult(result); }; const handleBack = () => { if (currentPage === 'patientSelector') { setCurrentPage('welcome'); } else if (currentPage === 'simulationBriefing') { setCurrentPage('patientSelector'); } else if (currentPage === 'upload') { setCurrentPage('simulationBriefing'); } else if (currentPage === 'assessment') { setCurrentPage('upload'); setAssessmentResult(null); } }; const handleStartOver = () => { setCurrentPage('welcome'); setSelectedPatient(null); setSelectedWound(null); setUploadedImage(null); setPatientContext(''); setAssessmentResult(null); }; return (
{currentPage === 'welcome' && ( )} {currentPage === 'patientSelector' && ( )} {currentPage === 'simulationBriefing' && ( )} {currentPage === 'upload' && ( )} {currentPage === 'assessment' && ( )}
); }; export default App;