Skip to content
Extraits de code Groupes Projets
Valider bd1ceb1d rédigé par Eugen Rochko's avatar Eugen Rochko
Parcourir les fichiers

Privacy dropdown i18n

parent 99ca63a5
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
import PureRenderMixin from 'react-addons-pure-render-mixin'; import PureRenderMixin from 'react-addons-pure-render-mixin';
import { FormattedMessage } from 'react-intl'; import { injectIntl, defineMessages } from 'react-intl';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
const messages = defineMessages({
public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },
public_long: { id: 'privacy.public.long', defaultMessage: 'Anyone can see' },
unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },
unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Anyone can see' },
private_short: { id: 'privacy.private.short', defaultMessage: 'Private' },
private_long: { id: 'privacy.private.long', defaultMessage: 'Followers can see' },
direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' },
direct_long: { id: 'privacy.direct.long', defaultMessage: 'Mentions can see' }
});
const PrivacyDropdown = React.createClass({ const PrivacyDropdown = React.createClass({
propTypes: { propTypes: {
value: React.PropTypes.string.isRequired, value: React.PropTypes.string.isRequired,
onChange: React.PropTypes.func.isRequired onChange: React.PropTypes.func.isRequired,
intl: React.PropTypes.object.isRequired
}, },
getInitialState () { getInitialState () {
...@@ -48,14 +60,14 @@ const PrivacyDropdown = React.createClass({ ...@@ -48,14 +60,14 @@ const PrivacyDropdown = React.createClass({
}, },
render () { render () {
const { value, onChange } = this.props; const { value, onChange, intl } = this.props;
const { open } = this.state; const { open } = this.state;
const options = [ const options = [
{ icon: 'globe', value: 'public', shortText: 'Public', longText: 'Anyone can see' }, { icon: 'globe', value: 'public', shortText: intl.formatMessage(messages.public_short), longText: intl.formatMessage(messages.public_long) },
{ icon: 'globe', value: 'unlisted', shortText: 'Unlisted', longText: 'Anyone can see' }, { icon: 'globe', value: 'unlisted', shortText: intl.formatMessage(messages.unlisted_short), longText: intl.formatMessage(messages.unlisted_long) },
{ icon: 'lock', value: 'private', shortText: 'Private', longText: 'Followers can see' }, { icon: 'lock', value: 'private', shortText: intl.formatMessage(messages.private_short), longText: intl.formatMessage(messages.private_long) },
{ icon: 'send', value: 'direct', shortText: 'Direct', longText: 'Mentions can see' } { icon: 'send', value: 'direct', shortText: intl.formatMessage(messages.direct_short), longText: intl.formatMessage(messages.direct_long) }
]; ];
const valueOption = options.find(item => item.value === value); const valueOption = options.find(item => item.value === value);
...@@ -80,4 +92,4 @@ const PrivacyDropdown = React.createClass({ ...@@ -80,4 +92,4 @@ const PrivacyDropdown = React.createClass({
}); });
export default PrivacyDropdown; export default injectIntl(PrivacyDropdown);
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter