import { useState, useEffect } from 'react'; import { sessionStore } from '../store/sessionStore'; const findingsCategories = [ { name: 'Thin Acetowhite Epithelium', features: ['Dull white', 'Appears slowly', 'Fades quickly'] }, { name: 'Borders', features: ['Irregular', 'Geographic', 'Feathered edges', 'Sharp', 'Raised', 'Rolled edges', 'Inner border sign'] }, { name: 'Vascular Pattern', features: ['Fine punctation', 'Fine mosaic', 'Coarse punctation', 'Coarse mosaic'] }, { name: 'Dense Acetowhite Epithelium', features: ['Chalky white', 'Oyster white', 'Greyish white', 'Rapid onset', 'Persists'] }, { name: 'Gland Openings', features: ['Cuffed', 'Enlarged crypt openings'] }, { name: 'Non-Specific Abnormal Findings', features: ['Leukoplakia (keratosis)', 'Hyperkeratosis', 'Erosion'] } ]; export function AceticFindingsForm() { // Restore previously saved findings from sessionStore const savedAcetic = sessionStore.get().aceticFindings ?? {}; const [selectedCategories, setSelectedCategories] = useState>( savedAcetic.selectedCategories ?? {} ); const [selectedFindings, setSelectedFindings] = useState>( savedAcetic.selectedFindings ?? {} ); const [additionalNotes, setAdditionalNotes] = useState( savedAcetic.additionalNotes ?? '' ); // Persist to sessionStore whenever selections change useEffect(() => { sessionStore.merge({ aceticFindings: { selectedCategories, selectedFindings, additionalNotes } }); }, [selectedCategories, selectedFindings, additionalNotes]); const toggleCategory = (name: string) => setSelectedCategories(prev => ({ ...prev, [name]: !prev[name] })); const toggleFinding = (label: string) => setSelectedFindings(prev => ({ ...prev, [label]: !prev[label] })); return (
{/* Header */}

Clinical Findings

Select findings observed during acetic acid examination

{findingsCategories.map((category, index) => (
{/* Category header */} {/* Feature checkboxes */}
{category.features.map(feature => ( ))}
))}
{/* Additional Notes */}