import React from 'react'; import PropTypes from 'prop-types'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; import StatusContent from 'flavours/glitch/components/status_content'; import Avatar from 'flavours/glitch/components/avatar'; import RelativeTimestamp from 'flavours/glitch/components/relative_timestamp'; import DisplayName from 'flavours/glitch/components/display_name'; import classNames from 'classnames'; import IconButton from 'flavours/glitch/components/icon_button'; export default class ActionsModal extends ImmutablePureComponent { static propTypes = { status: ImmutablePropTypes.map, onClick: PropTypes.func, actions: PropTypes.arrayOf(PropTypes.shape({ active: PropTypes.bool, href: PropTypes.string, icon: PropTypes.string, meta: PropTypes.string, name: PropTypes.string, text: PropTypes.string, })), renderItemContents: PropTypes.func, }; renderAction = (action, i) => { if (action === null) { return
  • ; } const { icon = null, text, meta = null, active = false, href = '#' } = action; let contents = this.props.renderItemContents && this.props.renderItemContents(action, i); if (!contents) { contents = ( {icon && }
    {text}
    {meta}
    ); } return (
  • {contents}
  • ); }; render () { const status = this.props.status && (
    ); return (
    {status}
    ); } }