Spaces:
Running
Running
File size: 1,148 Bytes
1f2f6bf ea649e4 1f2f6bf 419db65 1f2f6bf 419db65 1f2f6bf c507f8c e0d819a c507f8c e0d819a ea649e4 e0d819a c507f8c 4347540 c507f8c 4347540 419db65 c507f8c e0d819a 1f2f6bf | 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 | import { useState } from 'react'
import { Tabs } from "@elvis/ui";
import ConvolutionVisualizer from "./ConvolutionVisualizer.tsx"
import PoolingVisualizer from "./PoolingVisualizer.tsx"
import NetworkVisualizer from "./NetworkVisualizer.tsx"
function App() {
const tabs = ["Convolution", "Pooling", "Network"];
const [activeTab, setActiveTab] = useState<string>(tabs[0]);
return (
<div className="grid grid-cols-[1fr_12fr_1fr] h-dvh bg-stone-50">
<div/>
<div className="flex flex-col min-h-0 p-6">
<div className="title">CNN Visualizer</div>
{/* <div className="desc"></div> */}
<Tabs
tabs={tabs}
activeTab={activeTab}
onChange={setActiveTab}
/>
<div className="min-h-0 flex-1 overflow-auto mt-4">
<div className={activeTab === "Convolution" ? "h-full" : "hidden"}>
<ConvolutionVisualizer />
</div>
<div className={activeTab === "Pooling" ? "h-full" : "hidden"}>
<PoolingVisualizer />
</div>
{ activeTab === "Network" && (
<NetworkVisualizer />
)}
</div>
</div>
<div/>
</div>
);
}
export default App;
|