From baee3c43b9a845fab1d16703511fb0d2e5eff279 Mon Sep 17 00:00:00 2001 From: BinarySandia04 Date: Mon, 8 Jun 2026 11:24:57 +0200 Subject: [PATCH] Good goy --- frontend/app/components/managers/ContextMenuManager.vue | 8 ++++++++ frontend/app/components/partials/NestedNoteList.vue | 6 ++++-- frontend/app/services/ContextMenu.js | 8 ++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/frontend/app/components/managers/ContextMenuManager.vue b/frontend/app/components/managers/ContextMenuManager.vue index 3847320..dc1de13 100644 --- a/frontend/app/components/managers/ContextMenuManager.vue +++ b/frontend/app/components/managers/ContextMenuManager.vue @@ -38,6 +38,14 @@ onMounted(() => { border: 1px solid var(--color-border); overflow: visible; + .context-menu-divider { + height: 1px; + margin: 4px 0; + border-top: 1px solid var(--color-border); + background-color: transparent; + border: none; + } + .context-menu-element { &:last-child { border-width: 1px 1px 1px 1px; diff --git a/frontend/app/components/partials/NestedNoteList.vue b/frontend/app/components/partials/NestedNoteList.vue index 9160663..b27337e 100644 --- a/frontend/app/components/partials/NestedNoteList.vue +++ b/frontend/app/components/partials/NestedNoteList.vue @@ -153,6 +153,7 @@ function buildNoteContextMenu(note) { } function buildFolderContextMenu(folder) { + if (!folder || !folder._id) return []; return [ { name: 'New Note Here', icon: '/icons/iconoir/regular/plus.svg', action: () => createNoteInFolder(folder._id) }, { name: 'Rename', icon: '/icons/iconoir/regular/edit-pencil.svg', action: () => renameFolder(folder._id, folder.name) }, @@ -180,8 +181,9 @@ async function deleteNote(note) { try { const response = await Server().post('/note/delete', { id: note.key }); if (response.data.status === 'ok') { emit('reload-notes'); emitter.emit('delete-note', note.key); } - } catch (error) {} - HideContextMenu(); + } catch (error) {} finally { + HideContextMenu(); + } } function renameFolder(folderId, name) { CreateWindow('new_folder', { folderId, campaign: props.campaignId, name }); } diff --git a/frontend/app/services/ContextMenu.js b/frontend/app/services/ContextMenu.js index d8117c0..7839820 100644 --- a/frontend/app/services/ContextMenu.js +++ b/frontend/app/services/ContextMenu.js @@ -27,6 +27,14 @@ function PopulateContext(val){ let elementNum = 0; val.forEach(element => { + // Handle divider elements + if (element.divider) { + let contextMenuElement = document.createElement('div'); + contextMenuElement.classList.add("context-menu-divider"); + children.push(contextMenuElement); + return; + } + let contextMenuElement = document.createElement('div'); contextMenuElement.classList.add("context-menu-element"); if(element.action)