Spaces:
Running
Running
File size: 1,833 Bytes
9b05cbd a6c2420 41e6303 de4a32f 9b05cbd dfb5a61 41e6303 9b05cbd 65a5a49 9b05cbd d8f744e 65a5a49 af85f3e 65a5a49 af85f3e 65a5a49 d8f744e 65a5a49 dfb5a61 65a5a49 9b05cbd 18fd890 | 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 47 48 49 50 51 52 53 54 55 56 57 58 | import DecisionBoundaryPlot from "./DecisionBoundaryPlot.tsx";
import Sidebar from "./Sidebar.tsx";
// import { LoadingScreen } from "@elvis/ui";
import useAppLogic from "./useAppLogic.ts";
export default function App() {
const app = useAppLogic();
//if (!app.backendReady) {
//return <LoadingScreen message="Loading" />;
//}
return (
<div className="grid grid-cols-[1fr_12fr_1fr] lg:h-dvh bg-stone-50">
<div/>
<div className="flex flex-col gap-6 p-6 min-h-0">
<div className="title">Decision Boundary Visualizer</div>
{/* <div className="desc">Description</div> */}
<div className="grid grid-cols-1 lg:grid-cols-[8fr_4fr] gap-12 flex-1 min-h-0 overflow-auto">
<DecisionBoundaryPlot
dataPoints={app.dataPoints}
addDataPoint={app.handleAddDataPoint}
decisionBoundaryResult={app.decisionBoundaryResult}
xRangeRef={app.xRangeRef}
yRangeRef={app.yRangeRef}
setRanges={app.handleRangeChange}
canAddPoints={app.canAddPoints}
pointLabel={app.pointLabel}
labelColors={app.labelColors}
plotHandle={app.plotHandle}
/>
<Sidebar
pointLabel={app.pointLabel}
setPointLabel={app.setPointLabel}
setCanAddPoints={app.setCanAddPoints}
undoDataPoint={app.handleUndoDataPoint}
clearDataPoints={app.handleClearDataPoints}
modelSettings={app.modelSettings}
setModelSettings={app.handleModelSettingsChange}
csvSettings={app.csvSettings}
onCsvSettingsChange={app.handleCsvSettingsChange}
onGetDecisionBoundary={app.handleGetDecisionBoundary}
onCsvUpload={app.handleCsvUpload}
csvError={app.csvError}
onCsvExport={app.getCsvDataset}
onSvgExport={app.getPlotSvg}
/>
</div>
</div>
<div/>
</div>
);
}
|