From f8267bbc1e991e080cc35574e0940a5569eadae1 Mon Sep 17 00:00:00 2001 From: Bruno Charest Date: Wed, 3 Jun 2026 13:14:14 -0400 Subject: [PATCH] Fix: palette files use TabManager for tab tracking, hide .tab-bar on mobile --- frontend/js/palette.js | 16 +++++++++++----- frontend/style.css | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/js/palette.js b/frontend/js/palette.js index 2bebedb..508ec70 100644 --- a/frontend/js/palette.js +++ b/frontend/js/palette.js @@ -1,6 +1,5 @@ /* ObsiGate — Command Palette (Ctrl+Shift+Espace / Ctrl+Alt+Espace) */ import { api } from './auth.js'; -import { openFile } from './viewer.js'; import { showToast, toggleTheme, TabManager } from './ui.js'; import { openEditor } from './utils.js'; import { state } from './state.js'; @@ -128,7 +127,7 @@ async function renderBrowse() { if (isDeleteFile) { _items.push({ type:'_file', label: '📄 '+f.name, sublabel: f.vault+'/'+fp, act:()=>execDelFile(fp) }); } else if (isOpenFile) { - _items.push({ type:'_file', label: '📄 '+f.name, sublabel: f.vault+'/'+fp, act:()=>{ close(); openFile(vault, fp); } }); + _items.push({ type:'_file', label: '📄 '+f.name, sublabel: f.vault+'/'+fp, act:()=>{ close(); TabManager.openPersistent(vault, fp); } }); } else { _items.push({ type:'_info', label: '📄 '+f.name, sublabel: fp }); } @@ -210,11 +209,11 @@ async function searchBrowseGlobal(rawQ) { if (isDeleteFile) { _items.push({ type:'_file', label:'📄 '+name, sublabel:s.vault+'/'+fp, act:()=>execDelFileBrowsed(s.vault, fp) }); } else if (isOpenFile) { - _items.push({ type:'_file', label:'📄 '+name, sublabel:s.vault+'/'+fp, act:()=>{ close(); openFile(s.vault, fp); } }); + _items.push({ type:'_file', label:'📄 '+name, sublabel:s.vault+'/'+fp, act:()=>{ close(); TabManager.openPersistent(s.vault, fp); } }); } else if (isDeleteDir) { _items.push({ type:'_file', label:'📁 '+name, sublabel:s.vault+'/'+fp, act:()=>execDelDirBrowsed(s.vault, fp) }); } else { - _items.push({ type:'_file', label:'📄 '+name, sublabel:s.vault+'/'+fp, act:()=>{ close(); openFile(s.vault, fp); } }); + _items.push({ type:'_file', label:'📄 '+name, sublabel:s.vault+'/'+fp, act:()=>{ close(); TabManager.openPersistent(s.vault, fp); } }); } } @@ -553,7 +552,14 @@ function onOverlayKeyDown(e) { function exec(idx) { const it = _items[idx]; if (!it) return; - if (it.type === 'file') { close(); openFile(it.vault, it.path); } + if (it.type === 'file') { + close(); + if (window.innerWidth <= 768) { + TabManager.openPersistent(it.vault, it.path); + } else { + TabManager.openPreview(it.vault, it.path); + } + } else if (it.type === 'cmd' || it.type === '_browse') { it.act(); } else if (it.type === '_vault') { _browse.vault = it.vault; switchMode('browse'); renderBrowse(); } else if (it.type === '_nav') { diff --git a/frontend/style.css b/frontend/style.css index 23e8da5..a95d166 100644 --- a/frontend/style.css +++ b/frontend/style.css @@ -6607,7 +6607,7 @@ body.popup-mode .content-area { } /* Hide desktop tab bar on mobile (bottom toolbar has its own tab button) */ - .tab-bar-container { + .tab-bar { display: none !important; }