From d7b0998af834faf1e0f79b0a341772c3b5878ad3 Mon Sep 17 00:00:00 2001 From: bruno Date: Mon, 27 Jul 2026 22:50:46 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20drag-to-split=20=E2=80=94=20drop=20zone?= =?UTF-8?q?=20sur=20.content-wrapper=20en=20mode=20single-pane?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cause: _setupPaneDropZone était uniquement appelé sur .pane-container (créé par split). En mode single-pane, le DOM est .content-wrapper > .tab-bar + .content-area sans wrapper. → Ajout de _setupPaneDropZone sur .content-wrapper dans PaneManager.init() → CSS: position:relative sur .content-wrapper pour les indicateurs absolute Changements: - pane-manager.js: init() ajoute drop zone sur .content-wrapper (single-pane) - style.css: position:relative sur .content-wrapper --- frontend/js/pane-manager.js | 7 +++++++ frontend/style.css | 1 + 2 files changed, 8 insertions(+) diff --git a/frontend/js/pane-manager.js b/frontend/js/pane-manager.js index 561a5fc..1686f9b 100644 --- a/frontend/js/pane-manager.js +++ b/frontend/js/pane-manager.js @@ -481,6 +481,13 @@ const PaneManager = { this.tabManagers[0] = createPaneTabManager(0); this.tabManagers[0].init(); + // Setup drop zone on content-wrapper for single-pane drag-to-split + const wrapper = document.querySelector('.content-wrapper'); + if (wrapper && !wrapper.dataset.dropZoneSetup) { + wrapper.dataset.dropZoneSetup = '1'; + this._setupPaneDropZone(wrapper, 0); + } + const saved = localStorage.getItem('obsigate-panes'); if (saved) { try { diff --git a/frontend/style.css b/frontend/style.css index 2a84a3e..5dee4ad 100644 --- a/frontend/style.css +++ b/frontend/style.css @@ -1245,6 +1245,7 @@ select { flex-direction: column; min-width: 0; overflow: hidden; + position: relative; } /* --- Multi-Pane Grid (Split View #75) --- */