From d72c0a4cc0ea47d54bf3b0e977669a87b3375997 Mon Sep 17 00:00:00 2001 From: v0 Date: Thu, 24 Sep 2026 04:17:34 +0000 Subject: [PATCH] Add editable pane layout preference --- app/page.tsx | 85 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 8 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 57cbeed..12b0126 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -22,6 +22,14 @@ import { HamburgerMenu } from "@/components/hamburger-menu" import { useCanvasAnimation } from "@/hooks/use-canvas-animation" import { Button } from "@/components/ui/button" import { Separator } from "@/components/ui/separator" +import { Switch } from "@/components/ui/switch" +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog" // Animation duration constant const PANEL_TRANSITION_DURATION = "300ms" @@ -244,6 +252,8 @@ export default function VisualNovelEditor() { const [leftPanelVisible, setLeftPanelVisible] = useState(true) const [rightPanelVisible, setRightPanelVisible] = useState(true) const [bottomPanelVisible, setBottomPanelVisible] = useState(true) + const [bottomPanelBetweenSidePanes, setBottomPanelBetweenSidePanes] = useState(false) + const [preferencesOpen, setPreferencesOpen] = useState(false) const [leftPanelWidth, setLeftPanelWidth] = useState(300) const [rightPanelWidth, setRightPanelWidth] = useState(300) const [bottomPanelHeight, setBottomPanelHeight] = useState(200) @@ -297,6 +307,11 @@ export default function VisualNovelEditor() { } const handleMenuItemClick = (item: MenuItem) => { + if (item.id === "preferences") { + setPreferencesOpen(true) + return + } + console.log("Menu item clicked:", item.label) } @@ -342,19 +357,37 @@ export default function VisualNovelEditor() { {/* Main Content Area */} -
+
{/* Top Section - Left, Main, Right Panels */}
{/* Left Panel - Node Tree */}
{/* Main Panel */} -
+
{/* Action Buttons */} {selectedNode && selectedNode.actions.length > 0 && ( @@ -438,6 +471,8 @@ export default function VisualNovelEditor() {
@@ -523,6 +566,32 @@ export default function VisualNovelEditor() {
+ + + + + Preferences + Customize how the editor panels are arranged. + + +
+
+ +

+ Keep the side panes full height and place the properties pane below the preview. +

+
+ +
+
+
) }