gab-social/app/javascript/gabsocial/components/moved_note.js

50 lines
1.4 KiB
JavaScript
Raw Normal View History

2020-03-27 22:57:03 +00:00
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'
2020-04-23 07:13:29 +01:00
// : todo :
export default class MovedNote extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
2020-03-27 22:57:03 +00:00
}
static propTypes = {
2020-04-11 23:29:19 +01:00
fromAcct: ImmutablePropTypes.map.isRequired,
to: ImmutablePropTypes.map.isRequired,
2020-03-27 22:57:03 +00:00
}
render () {
2020-04-11 23:29:19 +01:00
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>
2020-04-11 23:29:19 +01:00
<NavLink to={`/${toAcct.get('acct')}`} className='moved-note__display-name'>
<div className='moved-note__display-avatar'>
2020-04-11 23:29:19 +01:00
<Avatar account={toAcct} />
</div>
2020-04-11 23:29:19 +01:00
<DisplayName account={toAcct} />
</NavLink>
</div>
);
}
}