]>
cat aescling's git repositories - mastodon.git/blob - app/javascript/mastodon/features/compose/components/reply_indicator.js
1 import React
from 'react';
2 import ImmutablePropTypes
from 'react-immutable-proptypes';
3 import PropTypes
from 'prop-types';
4 import Avatar
from '../../../components/avatar';
5 import IconButton
from '../../../components/icon_button';
6 import DisplayName
from '../../../components/display_name';
7 import emojify
from '../../../emoji';
8 import { defineMessages
, injectIntl
} from 'react-intl';
9 import ImmutablePureComponent
from 'react-immutable-pure-component';
11 const messages
= defineMessages({
12 cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },
15 class ReplyIndicator
extends ImmutablePureComponent
{
17 static contextTypes
= {
18 router: PropTypes
.object
,
22 status: ImmutablePropTypes
.map
,
23 onCancel: PropTypes
.func
.isRequired
,
24 intl: PropTypes
.object
.isRequired
,
28 this.props
.onCancel();
31 handleAccountClick
= (e
) => {
34 this.context
.router
.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);
39 const { status
, intl
} = this.props
;
45 const content
= { __html: emojify(status
.get('content')) };
48 <div className
='reply-indicator'>
49 <div className
='reply-indicator__header'>
50 <div className
='reply-indicator__cancel'><IconButton title
={intl
.formatMessage(messages
.cancel
)} icon
='times' onClick
={this.handleClick
} /></div>
52 <a href
={status
.getIn(['account', 'url'])} onClick
={this.handleAccountClick
} className
='reply-indicator__display-name'>
53 <div className
='reply-indicator__display-avatar'><Avatar size
={24} src
={status
.getIn(['account', 'avatar'])} staticSrc
={status
.getIn(['account', 'avatar_static'])} /></div>
54 <DisplayName account
={status
.get('account')} />
58 <div className
='reply-indicator__content' dangerouslySetInnerHTML
={content
} />
65 export default injectIntl(ReplyIndicator
);
This page took 0.096942 seconds and 4 git commands to generate.