import PropTypes from "prop-types"; import { defineMessages, injectIntl, FormattedMessage } from "react-intl"; import classNames from "classnames"; import ImmutablePropTypes from "react-immutable-proptypes"; import ImmutablePureComponent from "react-immutable-pure-component"; import AttachmentList from "flavours/glitch/components/attachment_list"; import { Avatar } from "flavours/glitch/components/avatar"; import Button from "flavours/glitch/components/button"; import { DisplayName } from "flavours/glitch/components/display_name"; import { Icon } from "flavours/glitch/components/icon"; import { RelativeTimestamp } from "flavours/glitch/components/relative_timestamp"; import StatusContent from "flavours/glitch/components/status_content"; import VisibilityIcon from "flavours/glitch/components/status_visibility_icon"; const messages = defineMessages({ favourite: { id: "status.favourite", defaultMessage: "Favourite" }, }); class FavouriteModal extends ImmutablePureComponent { static contextTypes = { router: PropTypes.object, }; static propTypes = { status: ImmutablePropTypes.map.isRequired, onFavourite: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, }; componentDidMount() { this.button.focus(); } handleFavourite = () => { this.props.onFavourite(this.props.status); this.props.onClose(); }; handleAccountClick = (e) => { if (e.button === 0) { e.preventDefault(); this.props.onClose(); this.context.router.history.push(`/@${this.props.status.getIn(["account", "acct"])}`); } }; setRef = (c) => { this.button = c; }; render () { const { status, intl } = this.props; return (
{status.get("media_attachments").size > 0 && ( )}
Shift + }} />
); } } export default injectIntl(FavouriteModal);