// Root app — wires nav, modals, assistant. const { useState: usApp } = React; function App() { const [route, setRoute] = usApp('dashboard'); const [assistantOpen, setAssistantOpen] = usApp(false); // Modals const [detailCandidate, setDetailCandidate] = usApp(null); const [chatCand, setChatCand] = usApp(null); const [callCand, setCallCand] = usApp(null); const [scheduleCand, setScheduleCand] = usApp(null); const [kitCand, setKitCand] = usApp(null); const [submitCand, setSubmitCand] = usApp(null); const [campaignOpen, setCampaignOpen] = usApp(false); // ⌘J shortcut React.useEffect(() => { const h = (e) => { if ((e.metaKey || e.ctrlKey) && (e.key === 'j' || e.key === 'J')) { e.preventDefault(); setAssistantOpen((v) => !v); } }; window.addEventListener('keydown', h); return () => window.removeEventListener('keydown', h); }, []); const navigate = (r) => { setRoute(r); window.scrollTo({ top: 0, behavior: 'smooth' }); }; const screenProps = { onNavigate: navigate, onOpenAssistant: () => setAssistantOpen(true), onOpenCandidate: setDetailCandidate, onOpenChat: setChatCand, onOpenCall: setCallCand, onOpenSchedule: setScheduleCand, onOpenKit: setKitCand, onOpenSubmit: setSubmitCand, onOpenCampaign: () => setCampaignOpen(true), onLaunchCall: setCallCand, }; return (
setAssistantOpen(true)} onNavigate={navigate} />
{route === 'dashboard' && } {route === 'requisitions' && } {route === 'candidates' && } {route === 'screening' && } {route === 'interviews' && } {route === 'clients' && } {route === 'reports' && } {route === 'settings' && }
{/* Slide-overs and modals */} setDetailCandidate(null)} onOpenChat={(c) => setChatCand(c)} onOpenCall={(c) => setCallCand(c)} onOpenSchedule={(c) => setScheduleCand(c)} onOpenKit={(c) => setKitCand(c)} onOpenSubmit={(c) => setSubmitCand(c)} /> setAssistantOpen(false)} onNavigate={navigate} onOpenCandidate={(c) => { setAssistantOpen(false); setDetailCandidate(c); }} /> setChatCand(null)} candidate={chatCand} /> setCallCand(null)} candidate={callCand} /> setScheduleCand(null)} candidate={scheduleCand} /> setKitCand(null)} candidate={kitCand} /> setSubmitCand(null)} candidate={submitCand} /> setCampaignOpen(false)} />
); } ReactDOM.createRoot(document.getElementById('root')).render();