// Package imports. import PropTypes from "prop-types"; import ImmutablePropTypes from "react-immutable-proptypes"; import ImmutablePureComponent from "react-immutable-pure-component"; // Our imports, import StatusContainer from "flavours/glitch/containers/status_container"; import NotificationAdminReportContainer from "../containers/admin_report_container"; import NotificationFollowRequestContainer from "../containers/follow_request_container"; import NotificationAdminSignup from "./admin_signup"; import NotificationFollow from "./follow"; export default class Notification extends ImmutablePureComponent { static propTypes = { notification: ImmutablePropTypes.map.isRequired, hidden: PropTypes.bool, onMoveUp: PropTypes.func.isRequired, onMoveDown: PropTypes.func.isRequired, onMention: PropTypes.func.isRequired, getScrollPosition: PropTypes.func, updateScrollBottom: PropTypes.func, cacheMediaWidth: PropTypes.func, cachedMediaWidth: PropTypes.number, onUnmount: PropTypes.func, unread: PropTypes.bool, }; render () { const { hidden, notification, onMoveDown, onMoveUp, onMention, getScrollPosition, updateScrollBottom, } = this.props; switch(notification.get("type")) { case "follow": return (