Просмотр исходного кода

fix: make TagInput suggestion filter case-insensitive (#941)

The suggestion dropdown still showed tags that only differed in casing
from already-selected tags (e.g. showing 'openapiHA' when 'openapiha'
was already selected). Selecting such a suggestion would then fail as
a duplicate, creating a confusing UX.

Follows up on the case-insensitive duplicate check added in #940.
sususu98 3 недель назад
Родитель
Сommit
1ce12e12f4
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      src/components/ui/tag-input.tsx

+ 4 - 1
src/components/ui/tag-input.tsx

@@ -189,7 +189,10 @@ export function TagInput({
     return normalizedSuggestions.filter((s) => {
       const keywords = s.keywords?.join(" ") || "";
       const haystack = `${s.label} ${s.value} ${keywords}`.toLowerCase();
-      return haystack.includes(search) && (allowDuplicates || !value.includes(s.value));
+      return (
+        haystack.includes(search) &&
+        (allowDuplicates || !value.some((v) => v.toLowerCase() === s.value.toLowerCase()))
+      );
     });
   }, [normalizedSuggestions, inputValue, value, allowDuplicates]);