Spaces:
Running
Running
File size: 1,413 Bytes
877add7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import { useState } from "react";
import { PAGES, type PageName } from "./lib/constants";
import Home from "./pages/Home";
import Dashboard from "./pages/Dashboard";
import PatientWorkbench from "./pages/PatientWorkbench";
import EpisodeReplay from "./pages/EpisodeReplay";
import PolicyCompare from "./pages/PolicyCompare";
import PrecisionDosing from "./pages/PrecisionDosing";
import TrainingMonitor from "./pages/TrainingMonitor";
import SafetyInspector from "./pages/SafetyInspector";
const PAGE_MAP: Record<PageName, JSX.Element> = {
Home: <Home />,
Dashboard: <Dashboard />,
PatientWorkbench: <PatientWorkbench />,
EpisodeReplay: <EpisodeReplay />,
PolicyCompare: <PolicyCompare />,
PrecisionDosing: <PrecisionDosing />,
TrainingMonitor: <TrainingMonitor />,
SafetyInspector: <SafetyInspector />,
};
export default function App() {
const [page, setPage] = useState<PageName>("Home");
return (
<div className="app-shell">
<aside className="sidebar">
<div className="brand">POLYGUARD-OPENENV</div>
<nav>
{PAGES.map((item) => (
<button
key={item}
className={item === page ? "active" : ""}
onClick={() => setPage(item)}
>
{item}
</button>
))}
</nav>
</aside>
<main className="workspace">{PAGE_MAP[page]}</main>
</div>
);
}
|