Support RGI emoji reacts conditionally

This commit is contained in:
Alex Gleason
2021-01-18 13:31:16 -06:00
parent bebe50cc33
commit fb99d36494
3 changed files with 35 additions and 9 deletions

View File

@ -1,9 +1,29 @@
import api from '../api';
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
import { getFeatures } from 'soapbox/utils/features';
export const SOAPBOX_CONFIG_REQUEST_SUCCESS = 'SOAPBOX_CONFIG_REQUEST_SUCCESS';
export const SOAPBOX_CONFIG_REQUEST_FAIL = 'SOAPBOX_CONFIG_REQUEST_FAIL';
const allowedEmoji = ImmutableList([
'👍',
'❤',
'😆',
'😮',
'😢',
'😩',
]);
// https://git.pleroma.social/pleroma/pleroma/-/issues/2355
const allowedEmojiRGI = ImmutableList([
'👍',
'❤️',
'😆',
'😮',
'😢',
'😩',
]);
export const defaultConfig = ImmutableMap({
logo: '',
banner: '',
@ -18,18 +38,22 @@ export const defaultConfig = ImmutableMap({
navlinks: ImmutableMap({
homeFooter: ImmutableList(),
}),
allowedEmoji: ImmutableList([
'👍',
'❤️',
'😆',
'😮',
'😢',
'😩',
]),
allowedEmoji: allowedEmoji,
});
export function getSoapboxConfig(state) {
return defaultConfig.merge(state.get('soapbox'));
const instance = state.get('instance');
const soapbox = state.get('soapbox');
const features = getFeatures(instance);
// https://git.pleroma.social/pleroma/pleroma/-/issues/2355
if (features.emojiReactsRGI) {
return defaultConfig
.set('allowedEmoji', allowedEmojiRGI)
.merge(soapbox);
} else {
return defaultConfig.merge(soapbox);
}
}
export function fetchSoapboxConfig() {