diff --git a/frontend/js/dashboard.js b/frontend/js/dashboard.js index 697a908..a68f2ba 100644 --- a/frontend/js/dashboard.js +++ b/frontend/js/dashboard.js @@ -330,9 +330,9 @@ const DashboardRecentWidget = { card.appendChild(footer); - // Click handler + // Click handler — open in tab system (not raw openFile) card.addEventListener("click", () => { - openFile(file.vault, file.path); + TabManager.openPreview(file.vault, file.path); }); return card; diff --git a/frontend/js/pane-manager.js b/frontend/js/pane-manager.js index 1686f9b..461ca02 100644 --- a/frontend/js/pane-manager.js +++ b/frontend/js/pane-manager.js @@ -804,7 +804,6 @@ const PaneManager = { try { const dragData = JSON.parse(raw); if (dragData.paneId == null || dragData.tabId == null) return; - if (dragData.paneId === paneId) return; // Same pane, tab handler deals with it // Recalculate edge zone from drop coordinates const rect = container.getBoundingClientRect(); @@ -824,9 +823,11 @@ const PaneManager = { const newPaneId = this.panes.length - 1; this.transferTab(dragData.paneId, dragData.tabId, newPaneId); }, 200); - } else { + } else if (dragData.paneId !== paneId) { + // Cross-pane transfer (already in split mode, different panes) this.transferTab(dragData.paneId, dragData.tabId, paneId); } + // else: same pane, not edge — tab handler deals with reorder } catch (e2) { console.debug('PaneManager drop error:', e2); } }); },