50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
import ImmutablePropTypes from 'react-immutable-proptypes'
|
|
import { FormattedMessage } from 'react-intl'
|
|
import ImmutablePureComponent from 'react-immutable-pure-component'
|
|
import { NavLink } from 'react-router-dom'
|
|
import DisplayName from './display_name'
|
|
import Icon from './icon'
|
|
|
|
// : todo :
|
|
export default class MovedNote extends ImmutablePureComponent {
|
|
|
|
static contextTypes = {
|
|
router: PropTypes.object,
|
|
}
|
|
|
|
static propTypes = {
|
|
fromAcct: ImmutablePropTypes.map.isRequired,
|
|
to: ImmutablePropTypes.map.isRequired,
|
|
}
|
|
|
|
render () {
|
|
const { fromAcct, toAcct } = this.props;
|
|
const displayNameHtml = { __html: fromAcct.get('display_name_html') }
|
|
|
|
return (
|
|
<div className='moved-note'>
|
|
<div className='moved-note__message'>
|
|
<div className='moved-note__icon-wrapper'>
|
|
<Icon id='suitcase' className='moved-note__icon' fixedWidth />
|
|
</div>
|
|
<FormattedMessage
|
|
id='account.moved_to'
|
|
defaultMessage='{name} has moved to:'
|
|
values={{
|
|
name: <bdi><strong dangerouslySetInnerHTML={displayNameHtml} /></bdi>
|
|
}}
|
|
/>
|
|
</div>
|
|
|
|
<NavLink to={`/${toAcct.get('acct')}`} className='moved-note__display-name'>
|
|
<div className='moved-note__display-avatar'>
|
|
<Avatar account={toAcct} />
|
|
</div>
|
|
<DisplayName account={toAcct} />
|
|
</NavLink>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
}
|