aboutsummaryrefslogtreecommitdiff
path: root/src/components/emoji_picker/emoji_picker.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2020-10-17 21:26:13 +0300
committerHenry Jameson <me@hjkos.com>2020-10-17 21:26:13 +0300
commita664fde02f5f5eec96bbcaa2b6f19e1694541e76 (patch)
tree251b21d50cb6e0dbc8a4d8082989266aca6c8e54 /src/components/emoji_picker/emoji_picker.js
parent29ff0be92cfd87ba95d1f78323794dfb1223b514 (diff)
parent76a9a51620c01257492a450f6cd0a6f98a885dce (diff)
Merge remote-tracking branch 'origin/develop' into settings-changed
* origin/develop: fix fontello Translated using Weblate (Russian) Translated using Weblate (Italian) lint fix fixed copy-pasting leftovers improved algorithm, possibly speed too fix 8x spaces inside this paren feat/reorder-emojis-by-position-of-keyword rename to gravestone Apply 1 suggestion(s) to 1 file(s) change i18n phrasing separate reply button to its own component, add changelog entry add basic deletes support that works with masto WS
Diffstat (limited to 'src/components/emoji_picker/emoji_picker.js')
-rw-r--r--src/components/emoji_picker/emoji_picker.js16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/components/emoji_picker/emoji_picker.js b/src/components/emoji_picker/emoji_picker.js
index 5c09f6ca..3ad80df3 100644
--- a/src/components/emoji_picker/emoji_picker.js
+++ b/src/components/emoji_picker/emoji_picker.js
@@ -8,10 +8,20 @@ const LOAD_EMOJI_BY = 60
const LOAD_EMOJI_MARGIN = 64
const filterByKeyword = (list, keyword = '') => {
+ if (keyword === '') return list
+
const keywordLowercase = keyword.toLowerCase()
- return list.filter(emoji =>
- emoji.displayText.toLowerCase().includes(keywordLowercase)
- )
+ let orderedEmojiList = []
+ for (const emoji of list) {
+ const indexOfKeyword = emoji.displayText.toLowerCase().indexOf(keywordLowercase)
+ if (indexOfKeyword > -1) {
+ if (!Array.isArray(orderedEmojiList[indexOfKeyword])) {
+ orderedEmojiList[indexOfKeyword] = []
+ }
+ orderedEmojiList[indexOfKeyword].push(emoji)
+ }
+ }
+ return orderedEmojiList.flat()
}
const EmojiPicker = {