diff --git a/src/extensions/Emoji.js b/src/extensions/Emoji.js index 83a0a47eced..5cee3c8ccfb 100644 --- a/src/extensions/Emoji.js +++ b/src/extensions/Emoji.js @@ -99,17 +99,19 @@ export default class Emoji extends Extension { // First search for exact matches let results = searchItems.filter(item => item.short_names .filter(name => name.toLowerCase() === query.toLowerCase()).length > 0) + console.debug('results', results) - // TODO: prevent duplicated results // Second search for matches that start with query string - results = results.concat(searchItems.filter(item => item.short_names - .filter(name => name.toLowerCase().startsWith(query.toLowerCase())).length > 0)) + results = [...new Set([...results, ...searchItems.filter(item => item.short_names + .filter(name => name.toLowerCase().startsWith(query.toLowerCase())).length > 0)])] + console.debug('results', results) // If we still don't have enough, search for general matches if (results.length < 5) { - results = results.concat(searchItems.filter(item => item.short_names - .filter(name => name.toLowerCase().includes(query.toLowerCase())).length > 0)) + results = [...new Set([...results, ...searchItems.filter(item => item.short_names + .filter(name => name.toLowerCase().includes(query.toLowerCase())).length > 0)])] } + console.debug('results', results) return results.slice(0, 5) },