aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2019-06-08 17:15:48 +0300
committerHenry Jameson <me@hjkos.com>2019-06-08 17:15:48 +0300
commita3cc8cc5d8241576d8355200ef79854aedb43c2f (patch)
treed1a923ace8c752be273c5e40aa843a245b7a0536 /src
parent0a778160cc7842ebd4ddfe8059a3ef81526637a2 (diff)
sorting
Diffstat (limited to 'src')
-rw-r--r--src/components/emoji-input/suggestor.js16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/components/emoji-input/suggestor.js b/src/components/emoji-input/suggestor.js
index 54fd7f29..c414b1bf 100644
--- a/src/components/emoji-input/suggestor.js
+++ b/src/components/emoji-input/suggestor.js
@@ -29,7 +29,21 @@ function suggestUsers (users) {
user.screen_name.toLowerCase().startsWith(noPrefix) ||
user.name.toLowerCase().startsWith(noPrefix)
/* eslint-disable camelcase */
- ).map(({ screen_name, name, profile_image_url_original }) => ({
+ ).slice(0, 20).sort((a, b) => {
+ let aScore = 0
+ let bScore = 0
+
+ aScore += a.screen_name.toLowerCase().startsWith(noPrefix) * 2
+ aScore += a.name.toLowerCase().startsWith(noPrefix)
+ bScore += b.screen_name.toLowerCase().startsWith(noPrefix) * 2
+ bScore += b.name.toLowerCase().startsWith(noPrefix)
+
+ const diff = bScore * 10 - aScore * 10
+ const nameAlphabetically = a.name > b.name ? 1 : -1
+ const screenNameAlphabetically = a.screen_name > b.screen_name ? 1 : -1
+
+ return diff + nameAlphabetically + screenNameAlphabetically
+ }).map(({ screen_name, name, profile_image_url_original }) => ({
displayText: screen_name,
detailText: name,
imageUrl: profile_image_url_original,