-
Notifications
You must be signed in to change notification settings - Fork 817
/
scratcher-invite.jsx
50 lines (47 loc) · 1.98 KB
/
scratcher-invite.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var FormattedDate = require('react-intl').FormattedDate;
var FormattedMessage = require('react-intl').FormattedMessage;
var injectIntl = require('react-intl').injectIntl;
var React = require('react');
var Button = require('../../../components/forms/button.jsx');
var FlexRow = require('../../../components/flex-row/flex-row.jsx');
var AdminMessage = injectIntl(React.createClass({
type: 'AdminMessage',
propTypes: {
id: React.PropTypes.number.isRequired,
username: React.PropTypes.string.isRequired,
datetimeCreated: React.PropTypes.string.isRequired,
onDismiss: React.PropTypes.func.isRequired
},
render: function () {
var learnMoreLink = '/users/' + this.props.username + '#promote';
var learnMoreMessage = this.props.intl.formatMessage({id: 'messages.learnMore'});
return (
<li className="admin-message">
<FlexRow className="admin-message-header">
<span className="admin-message-date">
<FormattedDate value={new Date(this.props.datetimeCreated)} />
</span>
<Button
className="mod-scratcher-invite-dismiss"
onClick={this.props.onDismiss.bind(this, 'invite', this.props.id)}
>
<img
className="mod-scratcher-invite-icon"
src="/svgs/modal/close-x.svg"
alt="close-icon"
/>
</Button>
</FlexRow>
<p className="admin-message-content">
<FormattedMessage
id='messages.scratcherInvite'
values={{
learnMore: <a href={learnMoreLink}>{learnMoreMessage}</a>
}}
/>
</p>
</li>
);
}
}));
module.exports = AdminMessage;