+ {items => (
+
+ {items.map(({ key, data, style }) => (
+
+ ))}
+
+ )}
+
+ );
+ }
+
+}
+
+class Reaction extends ImmutablePureComponent {
+
+ static propTypes = {
+ statusId: PropTypes.string,
+ reaction: ImmutablePropTypes.map.isRequired,
+ addReaction: PropTypes.func.isRequired,
+ removeReaction: PropTypes.func.isRequired,
+ canReact: PropTypes.bool.isRequired,
+ style: PropTypes.object,
+ };
+
+ state = {
+ hovered: false,
+ };
+
+ handleClick = () => {
+ const { reaction, statusId, addReaction, removeReaction } = this.props;
+
+ if (reaction.get('me')) {
+ removeReaction(statusId, reaction.get('name'));
+ } else {
+ addReaction(statusId, reaction.get('name'));
+ }
+ }
+
+ handleMouseEnter = () => this.setState({ hovered: true })
+
+ handleMouseLeave = () => this.setState({ hovered: false })
+
+ render() {
+ const { reaction } = this.props;
+
+ return (
+