import PropTypes from "prop-types"; import classNames from "classnames"; import ImmutablePropTypes from "react-immutable-proptypes"; import ImmutablePureComponent from "react-immutable-pure-component"; import { Avatar } from "flavours/glitch/components/avatar"; import { DisplayName } from "flavours/glitch/components/display_name"; import { IconButton } from "flavours/glitch/components/icon_button"; import { RelativeTimestamp } from "flavours/glitch/components/relative_timestamp"; import StatusContent from "flavours/glitch/components/status_content"; 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 &&