From 770264fc5ddb6f179e600ce4a91b833000110467 Mon Sep 17 00:00:00 2001 From: Frank Karlitschek Date: Thu, 6 Aug 2026 15:25:44 +0200 Subject: [PATCH 1/3] feat(navigation): move "New category" next to the Categories caption MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The full-width NcAppNavigationNew button sat above everything else in the sidebar and drew attention away from the note list, even though creating a category is a rare action compared to picking one. It is now an inline action on the "Categories" caption: NcActions renders a single inline action as one icon button, so it appears as a small folder-plus next to the heading, with the action text as its accessible name and tooltip. No separate overflow menu is rendered, because there are no other actions. Dropping a note on the caption row still starts a new category containing that note, which is what the old button offered. The row rather than the icon is the drop target: it is a much larger area to aim at than a single icon, and the caption gets its own drop highlight since it is not an .app-navigation-entry and cannot reuse the existing .drop-over rule. Both the click and the drop path now call CategoriesList.startNewCategory() directly instead of round-tripping through the notes:category:new event bus. The subscription stays in place so anything else can still trigger it. The action is hidden while the note list is in an error state, matching the old button's `v-show="!loading.notes && !error"`. CategoriesList takes a `hideNewCategoryAction` prop for that — it only suppresses the action, the caption itself keeps rendering. The drag handlers honour it too, so the row stops being a drop target along with the action. NcActions renders nothing when its slot yields no action, so one caption covers both states. The accessible name is unchanged, so the Playwright helpers that locate the button by role and name keep working. Assisted-by: Claude Code:claude-opus-5[1m] Co-Authored-By: Andy Scherzinger Signed-off-by: Andy Scherzinger --- src/App.vue | 42 +-------------------- src/components/CategoriesList.vue | 62 ++++++++++++++++++++++++++++++- 2 files changed, 61 insertions(+), 43 deletions(-) diff --git a/src/App.vue b/src/App.vue index 1a6fdf0c4..99a01185d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,18 +12,7 @@ > - + + + store.notes.getNote(noteId)) + if (noteId === null) { + return + } + event.preventDefault() + event.stopPropagation() + this.startNewCategory({ noteId }) + }, + stopNewCategoryMonitor() { if (this.newCategoryMonitor) { cancelAnimationFrame(this.newCategoryMonitor) @@ -453,10 +507,14 @@ export default { From b6db0b4dd125869b2efe27effd3e15d355852ff1 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Tue, 25 Aug 2026 08:22:45 +0200 Subject: [PATCH 3/3] style(icons): Use outlined variant fpr category menu Assisted-by: Claude Code:claude-opus-5[1m] Signed-off-by: Andy Scherzinger --- src/components/CategoriesList.vue | 33 ++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/components/CategoriesList.vue b/src/components/CategoriesList.vue index 5bdf5e3af..6495ad72f 100644 --- a/src/components/CategoriesList.vue +++ b/src/components/CategoriesList.vue @@ -51,11 +51,7 @@ ref="newCategoryItem" name="" :draggable="false" - :editable="true" - :editLabel="t('notes', 'Rename category')" :editPlaceholder="t('notes', 'New category')" - :forceMenu="true" - :forceDisplayActions="true" class="category-draft" @click.prevent.stop @dragstart="onCategoryDragStart" @@ -72,11 +68,10 @@