import React from 'react' import PropTypes from 'prop-types' import { Emoji, Skins } from '.' import { getData } from '../utils' export default class Preview extends React.PureComponent { constructor(props) { super(props) this.state = { emoji: null } } render() { var { emoji } = this.state, { emojiProps, skinsProps, showSkinTones, title, emoji: idleEmoji, } = this.props if (emoji) { var emojiData = getData(emoji), { emoticons = [] } = emojiData, knownEmoticons = [], listedEmoticons = [] emoticons.forEach((emoticon) => { if (knownEmoticons.indexOf(emoticon.toLowerCase()) >= 0) { return } knownEmoticons.push(emoticon.toLowerCase()) listedEmoticons.push(emoticon) }) return (
{Emoji({ key: emoji.id, emoji: emoji, ...emojiProps })}
{emoji.name}
{emojiData.short_names.map((short_name) => ( :{short_name}: ))}
{listedEmoticons.map((emoticon) => ( {emoticon} ))}
) } else { return (
{idleEmoji && idleEmoji.length && Emoji({ emoji: idleEmoji, ...emojiProps })}
{title}
{showSkinTones && (
)}
) } } } Preview.propTypes = { showSkinTones: PropTypes.bool, title: PropTypes.string.isRequired, emoji: PropTypes.string.isRequired, emojiProps: PropTypes.object.isRequired, skinsProps: PropTypes.object.isRequired, } Preview.defaultProps = { showSkinTones: true, onChange: () => {}, }