From c73cec641ac0f0d53dc44eaf09546aad6d151281 Mon Sep 17 00:00:00 2001
From: Martin Giger <martin@humanoids.be>
Date: Sat, 24 Apr 2021 17:07:24 +0000
Subject: [PATCH] Only suggest existing tag once

---
 changes/changelog.d/1427.bugfix               |  1 +
 front/src/components/library/TagsSelector.vue | 11 ++++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 changes/changelog.d/1427.bugfix

diff --git a/changes/changelog.d/1427.bugfix b/changes/changelog.d/1427.bugfix
new file mode 100644
index 0000000000..a017d9eb93
--- /dev/null
+++ b/changes/changelog.d/1427.bugfix
@@ -0,0 +1 @@
+Only suggest typed tag once if it already exists
diff --git a/front/src/components/library/TagsSelector.vue b/front/src/components/library/TagsSelector.vue
index 2084daceb5..c19a5ece48 100644
--- a/front/src/components/library/TagsSelector.vue
+++ b/front/src/components/library/TagsSelector.vue
@@ -52,7 +52,16 @@ export default {
               ...response,
             }
             if (currentSearch) {
-              response.results = [{name: currentSearch}, ...response.results]
+              let existingTag = response.results.find((result) => result.name === currentSearch)
+              if (existingTag) {
+                if (response.results.indexOf(existingTag) !== 0) {
+                  response.results = [existingTag, ...response.results]
+                  response.results.splice(response.results.indexOf(existingTag) + 1, 1)
+                }
+              }
+              else {
+                response.results = [{name: currentSearch}, ...response.results]
+              }
             }
             return response
           }
-- 
GitLab