import PureRenderMixin from 'react-addons-pure-render-mixin'; import ImmutablePropTypes from 'react-immutable-proptypes'; import StatusContainer from '../../../containers/status_container'; import AccountContainer from '../../../containers/account_container'; import { FormattedMessage } from 'react-intl'; import Permalink from '../../../components/permalink'; import emojify from '../../../emoji'; import escapeTextContentForBrowser from 'react/lib/escapeTextContentForBrowser'; const messageStyle = { marginLeft: '68px', padding: '8px 0', paddingBottom: '0', cursor: 'default', color: '#d9e1e8', fontSize: '15px', position: 'relative' }; const linkStyle = { fontWeight: '500' }; const Notification = React.createClass({ propTypes: { notification: ImmutablePropTypes.map.isRequired }, mixins: [PureRenderMixin], renderFollow (account, link) { return (
); }, renderMention (notification) { return ; }, renderFavourite (notification, link) { return (
); }, renderReblog (notification, link) { return (
); }, render () { const { notification } = this.props; const account = notification.get('account'); const displayName = account.get('display_name').length > 0 ? account.get('display_name') : account.get('username'); const displayNameHTML = { __html: emojify(escapeTextContentForBrowser(displayName)) }; const link = ; switch(notification.get('type')) { case 'follow': return this.renderFollow(account, link); case 'mention': return this.renderMention(notification); case 'favourite': return this.renderFavourite(notification, link); case 'reblog': return this.renderReblog(notification, link); } } }); export default Notification;