[Glitch] retrieve custom emoji list via API instead of before page load

Port b08ab329f4 to glitch-soc
This commit is contained in:
Thibaut Girka
2018-04-07 22:05:21 +02:00
parent d55ab8e3e8
commit 1822ce89f9
3 changed files with 49 additions and 9 deletions

View File

@ -1,16 +1,15 @@
import { List as ImmutableList } from 'immutable';
import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
import { List as ImmutableList, fromJS as ConvertToImmutable } from 'immutable';
import { CUSTOM_EMOJIS_FETCH_SUCCESS } from 'flavours/glitch/actions/custom_emojis';
import { search as emojiSearch } from 'flavours/glitch/util/emoji/emoji_mart_search_light';
import { buildCustomEmojis } from 'flavours/glitch/util/emoji';
const initialState = ImmutableList();
const initialState = ImmutableList([]);
export default function custom_emojis(state = initialState, action) {
switch(action.type) {
case STORE_HYDRATE:
emojiSearch('', { custom: buildCustomEmojis(action.state.get('custom_emojis', [])) });
return action.state.get('custom_emojis');
default:
return state;
if(action.type === CUSTOM_EMOJIS_FETCH_SUCCESS) {
state = ConvertToImmutable(action.custom_emojis);
emojiSearch('', { custom: buildCustomEmojis(state) });
}
return state;
};