diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-23 05:40:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-23 05:40:28 +0200 |
commit | 66126f302167d21e4bf247e660f595ff0beaaf20 (patch) | |
tree | c63eb3ba86ec37d2a0a7fd0f39e62a1c86f785d3 /app/javascript/mastodon/features/compose/components | |
parent | 293972f716476933df2b665ad755cafe4d29d82d (diff) |
Add custom emojis to the emoji picker (#5052)
Diffstat (limited to 'app/javascript/mastodon/features/compose/components')
-rw-r--r-- | app/javascript/mastodon/features/compose/components/compose_form.js | 2 | ||||
-rw-r--r-- | app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js index bb747b611..d31041061 100644 --- a/app/javascript/mastodon/features/compose/components/compose_form.js +++ b/app/javascript/mastodon/features/compose/components/compose_form.js @@ -12,7 +12,7 @@ import Collapsable from '../../../components/collapsable'; import SpoilerButtonContainer from '../containers/spoiler_button_container'; import PrivacyDropdownContainer from '../containers/privacy_dropdown_container'; import SensitiveButtonContainer from '../containers/sensitive_button_container'; -import EmojiPickerDropdown from './emoji_picker_dropdown'; +import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container'; import UploadFormContainer from '../containers/upload_form_container'; import WarningContainer from '../containers/warning_container'; import { isMobile } from '../../../is_mobile'; diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js index 43e175be5..f55d59e03 100644 --- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js @@ -4,6 +4,8 @@ import { defineMessages, injectIntl } from 'react-intl'; import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components'; import { Overlay } from 'react-overlays'; import classNames from 'classnames'; +import ImmutablePropTypes from 'react-immutable-proptypes'; +import { buildCustomEmojis } from '../../../emoji'; const messages = defineMessages({ emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' }, @@ -130,6 +132,7 @@ class ModifierPicker extends React.PureComponent { class EmojiPickerMenu extends React.PureComponent { static propTypes = { + custom_emojis: ImmutablePropTypes.list, loading: PropTypes.bool, onClose: PropTypes.func.isRequired, onPick: PropTypes.func.isRequired, @@ -194,6 +197,10 @@ class EmojiPickerMenu extends React.PureComponent { } handleClick = emoji => { + if (!emoji.native) { + emoji.native = emoji.colons; + } + this.props.onClose(); this.props.onPick(emoji); } @@ -225,6 +232,7 @@ class EmojiPickerMenu extends React.PureComponent { return ( <div className={classNames('emoji-picker-dropdown__menu', { selecting: modifierOpen })} style={style} ref={this.setRef}> <EmojiPicker + custom={buildCustomEmojis(this.props.custom_emojis)} perLine={8} emojiSize={22} sheetSize={32} @@ -255,6 +263,7 @@ class EmojiPickerMenu extends React.PureComponent { export default class EmojiPickerDropdown extends React.PureComponent { static propTypes = { + custom_emojis: ImmutablePropTypes.list, intl: PropTypes.object.isRequired, onPickEmoji: PropTypes.func.isRequired, }; @@ -328,7 +337,12 @@ export default class EmojiPickerDropdown extends React.PureComponent { </div> <Overlay show={active} placement='bottom' target={this.findTarget}> - <EmojiPickerMenu loading={loading} onClose={this.onHideDropdown} onPick={onPickEmoji} /> + <EmojiPickerMenu + custom_emojis={this.props.custom_emojis} + loading={loading} + onClose={this.onHideDropdown} + onPick={onPickEmoji} + /> </Overlay> </div> ); |