diff --git a/app/soapbox/actions/soapbox.js b/app/soapbox/actions/soapbox.js
index 58a2417c7..ee203dbb1 100644
--- a/app/soapbox/actions/soapbox.js
+++ b/app/soapbox/actions/soapbox.js
@@ -18,10 +18,18 @@ export const defaultConfig = ImmutableMap({
navlinks: ImmutableMap({
homeFooter: ImmutableList(),
}),
+ allowedEmoji: ImmutableList([
+ '👍',
+ '❤️',
+ '😆',
+ '😮',
+ '😢',
+ '😩',
+ ]),
});
export function getSoapboxConfig(state) {
- return defaultConfig.mergeDeep(state.get('soapbox'));
+ return defaultConfig.merge(state.get('soapbox'));
}
export function fetchSoapboxConfig() {
diff --git a/app/soapbox/components/emoji_selector.js b/app/soapbox/components/emoji_selector.js
index 7ef0e2b0a..4cd0395e3 100644
--- a/app/soapbox/components/emoji_selector.js
+++ b/app/soapbox/components/emoji_selector.js
@@ -1,10 +1,17 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { ALLOWED_EMOJI } from 'soapbox/utils/emoji_reacts';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
import emojify from 'soapbox/features/emoji/emoji';
+import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import classNames from 'classnames';
-export default class EmojiSelector extends React.Component {
+const mapStateToProps = state => ({
+ allowedEmoji: getSoapboxConfig(state).get('allowedEmoji'),
+});
+
+export default @connect(mapStateToProps)
+class EmojiSelector extends ImmutablePureComponent {
static propTypes = {
onReact: PropTypes.func.isRequired,
@@ -17,11 +24,11 @@ export default class EmojiSelector extends React.Component {
}
render() {
- const { onReact, visible } = this.props;
+ const { onReact, visible, allowedEmoji } = this.props;
return (
- {ALLOWED_EMOJI.map((emoji, i) => (
+ {allowedEmoji.map((emoji, i) => (