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; }