| gio | 5f2f100 | 2025-03-20 18:38:48 +0400 | [diff] [blame] | 1 | import { Resources } from "@/components/resources"; |
| 2 | import { Canvas } from "@/components/canvas"; |
| 3 | import { Details } from "@/components/details"; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 4 | import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "./components/ui/resizable"; |
| gio | 5f2f100 | 2025-03-20 18:38:48 +0400 | [diff] [blame] | 5 | import { Tools } from "./Tootls"; |
| gio | 818da4e | 2025-05-12 14:45:35 +0000 | [diff] [blame^] | 6 | import { useStateStore } from "./lib/state"; |
| gio | 5f2f100 | 2025-03-20 18:38:48 +0400 | [diff] [blame] | 7 | |
| 8 | export function CanvasBuilder() { |
| gio | 818da4e | 2025-05-12 14:45:35 +0000 | [diff] [blame^] | 9 | const store = useStateStore(); |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 10 | return ( |
| gio | bc47f9f | 2025-05-12 08:31:07 +0000 | [diff] [blame] | 11 | <ResizablePanelGroup direction="horizontal" className="w-full h-full"> |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 12 | <ResizablePanel defaultSize={80}> |
| 13 | <ResizablePanelGroup direction="vertical"> |
| 14 | <ResizablePanel defaultSize={80}> |
| 15 | <ResizablePanelGroup direction="horizontal"> |
| gio | 818da4e | 2025-05-12 14:45:35 +0000 | [diff] [blame^] | 16 | {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}> |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 25 | <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 | ); |
| gio | 5f2f100 | 2025-03-20 18:38:48 +0400 | [diff] [blame] | 41 | } |