diff --git a/script.js b/script.js index 5e137ae..f6e2f29 100644 --- a/script.js +++ b/script.js @@ -4921,7 +4921,7 @@ function renderDocFolderBar() { const subfolders = allDocFolders.filter(f => (f.parent_id || null) === currentDocFolderId); const grid = document.getElementById('doc-folders-grid'); grid.innerHTML = subfolders.map(f => - `
📁 ${esc(f.name)}
` + `
📁 ${esc(f.name)}
` ).join(''); } @@ -4944,6 +4944,14 @@ function navigateDocFolder(folderId) { renderDocumentsList(); } +async function deleteDocFolder(folderId, folderName) { + if (!confirm(`Poistetaanko kansio "${folderName}"?\n\nKansion dokumentit ja alikansiot siirretään ylätasolle.`)) return; + try { + await apiCall('document_folder_delete', 'POST', { id: folderId }); + await loadDocuments(); + } catch (e) { alert('Kansion poisto epäonnistui: ' + e.message); } +} + // ---- Sub-tabit ---- function switchDocSubTab(target) { diff --git a/style.css b/style.css index 9c6e576..1a36e66 100644 --- a/style.css +++ b/style.css @@ -1621,6 +1621,9 @@ span.empty { transition: background 0.15s, border-color 0.15s; } .doc-folder-item:hover { background: #e5e7eb; } +.doc-folder-delete { background: none; border: none; cursor: pointer; font-size: 0.75rem; padding: 0 0.15rem; opacity: 0; transition: opacity 0.15s; margin-left: 0.25rem; } +.doc-folder-item:hover .doc-folder-delete { opacity: 0.6; } +.doc-folder-delete:hover { opacity: 1 !important; } #doc-breadcrumbs a { color: var(--primary-color); text-decoration: none; font-weight: 500; } #doc-breadcrumbs a:hover { text-decoration: underline; }