diff --git a/app/gabsocial/utils/__tests__/emoji_reacts-test.js b/app/gabsocial/utils/__tests__/emoji_reacts-test.js index e7bc0622b..e53c241cd 100644 --- a/app/gabsocial/utils/__tests__/emoji_reacts-test.js +++ b/app/gabsocial/utils/__tests__/emoji_reacts-test.js @@ -93,25 +93,25 @@ describe('mergeEmojiFavourites', () => { describe('reduceEmoji', () => { describe('with a clusterfuck of emoji', () => { const emojiReacts = fromJS([ - { 'count': 1, 'me': false, 'name': '😡', accounts: [{ id: '2' }] }, - { 'count': 1, 'me': true, 'name': '🔪', accounts: [{ id: '1' }] }, - { 'count': 7, 'me': true, 'name': '😯', accounts: [{ id: '1' }, { id: '17' }, { id: '18' }, { id: '19' }, { id: '20' }, { id: '21' }, { id: '22' }] }, - { 'count': 3, 'me': false, 'name': '😢', accounts: [{ id: '49' }, { id: '50' }, { id: '51' }] }, - { 'count': 1, 'me': true, 'name': '🌵', accounts: [{ id: '1' }] }, - { 'count': 20, 'me': true, 'name': '👍', accounts: [{ id: '1' }, { id: '23' }, { id: '24' }, { id: '25' }, { id: '26' }, { id: '27' }, { id: '28' }, { id: '29' }, { id: '30' }, { id: '31' }, { id: '32' }, { id: '33' }, { id: '34' }, { id: '35' }, { id: '36' }, { id: '37' }, { id: '38' }, { id: '39' }, { id: '40' }, { id: '41' }] }, - { 'count': 7, 'me': false, 'name': '😂', accounts: [{ id: '42' }, { id: '43' }, { id: '44' }, { id: '45' }, { id: '46' }, { id: '47' }, { id: '48' }] }, - { 'count': 15, 'me': true, 'name': '❤', accounts: [{ id: '1' }, { id: '3' }, { id: '4' }, { id: '5' }, { id: '6' }, { id: '7' }, { id: '8' }, { id: '9' }, { id: '10' }, { id: '11' }, { id: '12' }, { id: '13' }, { id: '14' }, { id: '15' }, { id: '16' }] }, - { 'count': 1, 'me': false, 'name': '👀', accounts: [{ id: '52' }] }, - { 'count': 1, 'me': false, 'name': '🍩', accounts: [{ id: '53' }] }, + { 'count': 1, 'me': false, 'name': '😡' }, + { 'count': 1, 'me': true, 'name': '🔪' }, + { 'count': 7, 'me': true, 'name': '😯' }, + { 'count': 3, 'me': false, 'name': '😢' }, + { 'count': 1, 'me': true, 'name': '🌵' }, + { 'count': 20, 'me': true, 'name': '👍' }, + { 'count': 7, 'me': false, 'name': '😂' }, + { 'count': 15, 'me': true, 'name': '❤' }, + { 'count': 1, 'me': false, 'name': '👀' }, + { 'count': 1, 'me': false, 'name': '🍩' }, ]); it('sorts, filters, and combines emoji and favourites', () => { expect(reduceEmoji(emojiReacts, 7, '1')).toEqual(fromJS([ - { 'count': 27, 'me': true, 'name': '👍', accounts: [{ id: '1' }, { id: '23' }, { id: '24' }, { id: '25' }, { id: '26' }, { id: '27' }, { id: '28' }, { id: '29' }, { id: '30' }, { id: '31' }, { id: '32' }, { id: '33' }, { id: '34' }, { id: '35' }, { id: '36' }, { id: '37' }, { id: '38' }, { id: '39' }, { id: '40' }, { id: '41' }] }, - { 'count': 14, 'me': false, 'name': '❤', accounts: [{ id: '3' }, { id: '4' }, { id: '5' }, { id: '6' }, { id: '7' }, { id: '8' }, { id: '9' }, { id: '10' }, { id: '11' }, { id: '12' }, { id: '13' }, { id: '14' }, { id: '15' }, { id: '16' }] }, - { 'count': 7, 'me': false, 'name': '😂', accounts: [{ id: '42' }, { id: '43' }, { id: '44' }, { id: '45' }, { id: '46' }, { id: '47' }, { id: '48' }] }, - { 'count': 6, 'me': false, 'name': '😯', accounts: [{ id: '17' }, { id: '18' }, { id: '19' }, { id: '20' }, { id: '21' }, { id: '22' }] }, - { 'count': 3, 'me': false, 'name': '😢', accounts: [{ id: '49' }, { id: '50' }, { id: '51' }] }, - { 'count': 1, 'me': false, 'name': '😡', accounts: [{ id: '2' }] }, + { 'count': 27, 'me': true, 'name': '👍' }, + { 'count': 15, 'me': true, 'name': '❤' }, + { 'count': 7, 'me': true, 'name': '😯' }, + { 'count': 7, 'me': false, 'name': '😂' }, + { 'count': 3, 'me': false, 'name': '😢' }, + { 'count': 1, 'me': false, 'name': '😡' }, ])); }); }); diff --git a/app/gabsocial/utils/emoji_reacts.js b/app/gabsocial/utils/emoji_reacts.js index 75b0b5187..141fa7992 100644 --- a/app/gabsocial/utils/emoji_reacts.js +++ b/app/gabsocial/utils/emoji_reacts.js @@ -68,9 +68,9 @@ export const filterEmoji = emojiReacts => ( ))); export const reduceEmoji = (emojiReacts, favouritesCount, me) => ( - sortEmoji(mergeEmojiFavourites(oneEmojiPerAccount(filterEmoji(sortEmoji(mergeEmoji( - emojiReacts - ))), me), favouritesCount))); + filterEmoji(sortEmoji(mergeEmoji(mergeEmojiFavourites( + emojiReacts, favouritesCount + ))))); export const getReactForStatus = status => { const emojiReacts = status.getIn(['pleroma', 'emoji_reactions'], ImmutableList());