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() +}