diff --git a/frontend/src/components/modal/TagPanel.vue b/frontend/src/components/modal/TagPanel.vue
index 7ca5e08..4b3066a 100644
--- a/frontend/src/components/modal/TagPanel.vue
+++ b/frontend/src/components/modal/TagPanel.vue
@@ -10,6 +10,19 @@
>
{{ iconFor(tag.kind) }}
{{ tag.name }}→
+
+
+
+
+
+
+ Rename…
+
+
+
No tags yet.
@@ -23,6 +36,19 @@
{{ errorMsg }}
+
+
+
+
+
+
@@ -31,6 +57,8 @@ import { ref } from 'vue'
import { useModalStore } from '../../stores/modal.js'
import { useTagStore } from '../../stores/tags.js'
import TagAutocomplete from './TagAutocomplete.vue'
+import SuggestionsPanel from './SuggestionsPanel.vue'
+import TagRenameDialog from './TagRenameDialog.vue'
const modal = useModalStore()
const store = useTagStore()
@@ -58,6 +86,19 @@ async function onPickNew(payload) {
try { await modal.createAndAdd(payload) }
catch (e) { errorMsg.value = e.message }
}
+
+const renameDialog = ref(false)
+const renameTarget = ref(null)
+
+function openRename(tag) {
+ renameTarget.value = tag
+ renameDialog.value = true
+}
+async function onRenamed() {
+ renameDialog.value = false
+ // Reflect the new name in the modal's current tag list without a full reload.
+ await modal.reloadTags()
+}