// Package imports // import PropTypes from "prop-types"; import { PureComponent } from "react"; import { FormattedMessage } from "react-intl"; import ImmutablePropTypes from "react-immutable-proptypes"; import { Icon } from "flavours/glitch/components/icon"; import { me } from "flavours/glitch/initial_state"; export default class StatusPrepend extends PureComponent { static propTypes = { type: PropTypes.string.isRequired, account: ImmutablePropTypes.map.isRequired, parseClick: PropTypes.func.isRequired, notificationId: PropTypes.number, }; handleClick = (e) => { const { account, parseClick } = this.props; parseClick(e, `/@${account.get("acct")}`); }; Message = () => { const { type, account } = this.props; let link = ( ); switch (type) { case "featured": return ( ); case "reblogged_by": return ( ); case "favourite": return ( ); case "reblog": return ( ); case "status": return ( ); case "poll": if (me === account.get("id")) { return ( ); } else { return ( ); } case "update": return ( ); } return null; }; render () { const { Message } = this; const { type } = this.props; let iconId; switch(type) { case "favourite": iconId = "star"; break; case "featured": iconId = "thumb-tack"; break; case "poll": iconId = "tasks"; break; case "reblog": case "reblogged_by": iconId = "retweet"; break; case "status": iconId = "bell"; break; case "update": iconId = "pencil"; break; } return !type ? null : ( ); } }