blob: 453176c26447fe36c0aa225c8244ecc24501a465 [file] [log] [blame]
gio5f2f1002025-03-20 18:38:48 +04001import { Resources } from "@/components/resources";
2import { Canvas } from "@/components/canvas";
3import { Details } from "@/components/details";
giod0026612025-05-08 13:00:36 +00004import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "./components/ui/resizable";
gio5f2f1002025-03-20 18:38:48 +04005import { Tools } from "./Tootls";
gio818da4e2025-05-12 14:45:35 +00006import { useStateStore } from "./lib/state";
gio5f2f1002025-03-20 18:38:48 +04007
8export function CanvasBuilder() {
gio818da4e2025-05-12 14:45:35 +00009 const store = useStateStore();
giod0026612025-05-08 13:00:36 +000010 return (
giobc47f9f2025-05-12 08:31:07 +000011 <ResizablePanelGroup direction="horizontal" className="w-full h-full">
giod0026612025-05-08 13:00:36 +000012 <ResizablePanel defaultSize={80}>
13 <ResizablePanelGroup direction="vertical">
14 <ResizablePanel defaultSize={80}>
15 <ResizablePanelGroup direction="horizontal">
gio818da4e2025-05-12 14:45:35 +000016 {store.mode === "edit" && (
17 <>
18 <ResizablePanel defaultSize={15}>
19 <Resources />
20 </ResizablePanel>
21 <ResizableHandle withHandle />
22 </>
23 )}
24 <ResizablePanel defaultSize={store.mode === "edit" ? 85 : 100}>
giod0026612025-05-08 13:00:36 +000025 <Canvas />
26 </ResizablePanel>
27 </ResizablePanelGroup>
28 </ResizablePanel>
29 <ResizableHandle withHandle />
30 <ResizablePanel defaultSize={20}>
31 <Tools />
32 </ResizablePanel>
33 </ResizablePanelGroup>
34 </ResizablePanel>
35 <ResizableHandle withHandle />
36 <ResizablePanel defaultSize={20}>
37 <Details />
38 </ResizablePanel>
39 </ResizablePanelGroup>
40 );
gio5f2f1002025-03-20 18:38:48 +040041}