Add close-all tabs, close-current-file command, fix AI toolbar light theme + sticky
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s

This commit is contained in:
2026-06-03 13:33:44 -04:00
parent f8267bbc1e
commit db8041d990
6 changed files with 37 additions and 9 deletions
+4 -1
View File
@@ -212,8 +212,11 @@ export async function createAIToolbar(container, getEditorView) {
gap: '2px',
padding: '4px 8px',
borderBottom: '1px solid var(--border-color)',
background: '#2a2a2a',
background: 'var(--bg-secondary)',
flexWrap: 'wrap',
position: 'sticky',
top: '0',
zIndex: '5',
});
function ev() { return getEditorView(); }
+7
View File
@@ -112,6 +112,7 @@ export function initMobileToolbar() {
const paletteBtn = document.getElementById('mt-palette');
const tabsBtn = document.getElementById('mt-tabs');
const sheetClose = document.getElementById('mt-sheet-close');
const closeAll = document.getElementById('mt-close-all');
const overlay = document.getElementById('mt-overlay');
if (explorerBtn) explorerBtn.addEventListener('click', toggleExplorer);
@@ -119,6 +120,12 @@ export function initMobileToolbar() {
if (paletteBtn) paletteBtn.addEventListener('click', openCommandPalette);
if (tabsBtn) tabsBtn.addEventListener('click', openTabSwitcher);
if (sheetClose) sheetClose.addEventListener('click', closeTabSwitcher);
if (closeAll) closeAll.addEventListener('click', () => {
const tabs = [...(TabManager._tabs || [])];
tabs.forEach(t => TabManager.close(t.id));
updateTabCount();
renderTabList();
});
if (overlay) overlay.addEventListener('click', closeTabSwitcher);
setInterval(updateTabCount, 2000);
+1
View File
@@ -40,6 +40,7 @@ const CMDS = [
{ id:'create-file', label:'📄 Créer fichier markdown', desc:'Choisir la vault, naviguer, puis nommer le fichier', cat:'Fichiers', act:()=>startBrowse('create-file') },
{ id:'delete-file', label:'🗑️ Supprimer fichier', desc:'Rechercher un fichier à supprimer', cat:'Fichiers', act:()=>startBrowse('delete-file') },
{ id:'delete-cur', label:'🗑️ Supprimer fichier courant', desc:'Supprimer le fichier de l\'onglet actif', cat:'Fichiers', act:async()=>{close();await delCurFile();} },
{ id:'close-cur', label:'✕ Fermer fichier courant', desc:'Fermer l\'onglet actif sans supprimer', cat:'Fichiers', act:()=>{close();const f=getCurrentFile();if(f){const tab=TabManager._tabs.find(t=>t.vault===f.vault&&t.path===f.path);if(tab)TabManager.close(tab.id);else triggerGoHome();}else{showToast('Aucun fichier ouvert','error');}} },
{ id:'create-dir', label:'📁 Créer répertoire', desc:'Choisir la vault, naviguer, puis nommer le dossier', cat:'Répertoires', act:()=>startBrowse('create-dir') },
{ id:'delete-dir', label:'🗑️ Supprimer répertoire', desc:'Choisir la vault, naviguer et supprimer', cat:'Répertoires', act:()=>startBrowse('delete-dir') },
{ id:'theme', label:'🌓 Changer le thème', desc:'Basculer clair/sombre', cat:'Actions', act:()=>{close();toggleTheme();} },