// app-main.jsx — root component. Route → Screen + store provider.

function App() {
  const route = useRoute();

  // Expose store imperatively for places that need it without useContext
  // (e.g. notification drawer's inline navigation handler).
  const StoreBridge = () => {
    const store = useStore();
    React.useEffect(() => { window.__pcStore = store; }, [store]);
    return null;
  };

  return (
    <StoreProvider>
      <StoreBridge/>
      <RouteSwitch route={route}/>
    </StoreProvider>
  );
}

function RouteSwitch({ route }) {
  switch (route.name) {
    case 'dashboard':       return <DashboardScreen/>;
    case 'claims':          return <DashboardScreen/>;
    case 'claim-new':       return <NewClaimScreen/>;
    case 'claim':           return <ClaimHubScreen claimId={route.id} tab={route.tab}/>;
    case 'cfo':             return <CFOScreen/>;
    case 'frontdesk-admit': return <FrontDeskAdmitScreen claimId={route.id}/>;
    case 'settings':        return <SettingsScreen tab={route.tab}/>;
    default:                return <DashboardScreen/>;
  }
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App/>);
