Populate emojis in autosuggest again

merge-requests/535/head
Alex Gleason 3 years ago
parent d5d51487c7
commit bce54285e4
No known key found for this signature in database
GPG Key ID: 7211D1F99744FBB7

@ -38,7 +38,7 @@ function clearCustomEmojis(pool) {
});
}
function addCustomToPool(custom, pool) {
export function addCustomToPool(custom, pool = originalPool) {
if (customEmojisList.length) clearCustomEmojis(pool);
custom.forEach((emoji) => {
@ -54,7 +54,7 @@ function addCustomToPool(custom, pool) {
index = {};
}
function search(value, { emojisToShowFilter, maxResults, include, exclude, custom } = {}) {
export function search(value, { emojisToShowFilter, maxResults, include, exclude, custom } = {}) {
if (custom !== undefined) {
if (customEmojisList !== custom)
addCustomToPool(custom, originalPool);
@ -181,5 +181,3 @@ function search(value, { emojisToShowFilter, maxResults, include, exclude, custo
return results;
}
export { search };

@ -1,17 +1,27 @@
import { List as ImmutableList, fromJS } from 'immutable';
import { CUSTOM_EMOJIS_FETCH_SUCCESS } from '../actions/custom_emojis';
import { addCustomToPool } from 'soapbox/features/emoji/emoji_mart_search_light';
import { buildCustomEmojis } from '../features/emoji/emoji';
import { emojis as emojiData } from 'soapbox/features/emoji/emoji_mart_data_light';
const initialState = ImmutableList();
const importEmojis = (state, emojis) => {
return fromJS(emojis).filter(emoji => {
// Populate custom emojis for composer autosuggest
const autosuggestPopulate = emojis => {
addCustomToPool(buildCustomEmojis(emojis));
};
const importEmojis = (state, customEmojis) => {
const emojis = fromJS(customEmojis).filter(emoji => {
// If a custom emoji has the shortcode of a Unicode emoji, skip it.
// Otherwise it breaks EmojiMart.
// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/610
const shortcode = emoji.get('shortcode', '').toLowerCase();
return !emojiData[shortcode];
});
autosuggestPopulate(emojis);
return emojis;
};
export default function custom_emojis(state = initialState, action) {

Loading…
Cancel
Save