2020-03-26 03:11:32 +00:00
|
|
|
import { injectIntl, defineMessages } from 'react-intl'
|
|
|
|
import { changeComposeSensitivity } from '../../../actions/compose'
|
|
|
|
import Switch from '../../../components/switch'
|
|
|
|
|
|
|
|
const messages = defineMessages({
|
|
|
|
markAsSensitive: { id: 'compose_form.sensitive.hide', defaultMessage: 'Mark media as sensitive' },
|
|
|
|
})
|
|
|
|
|
2020-04-11 23:29:19 +01:00
|
|
|
const mapStateToProps = (state) => ({
|
2020-03-26 03:11:32 +00:00
|
|
|
active: state.getIn(['compose', 'sensitive']),
|
|
|
|
disabled: state.getIn(['compose', 'spoiler']),
|
|
|
|
})
|
|
|
|
|
2020-04-11 23:29:19 +01:00
|
|
|
const mapDispatchToProps = (dispatch) => ({
|
2020-03-26 03:11:32 +00:00
|
|
|
|
|
|
|
onClick () {
|
|
|
|
dispatch(changeComposeSensitivity())
|
|
|
|
},
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
export default
|
|
|
|
@injectIntl
|
|
|
|
@connect(mapStateToProps, mapDispatchToProps)
|
|
|
|
class SensitiveMediaButton extends PureComponent {
|
|
|
|
|
|
|
|
static propTypes = {
|
|
|
|
active: PropTypes.bool,
|
|
|
|
disabled: PropTypes.bool,
|
|
|
|
onClick: PropTypes.func.isRequired,
|
|
|
|
intl: PropTypes.object.isRequired,
|
|
|
|
}
|
|
|
|
|
|
|
|
render () {
|
|
|
|
const { active, disabled, onClick, intl } = this.props
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div className={[_s.default, _s.alignItemsStart, _s.px5].join(' ')}>
|
|
|
|
<Switch
|
|
|
|
id='mark-sensitive'
|
|
|
|
type='checkbox'
|
|
|
|
checked={active}
|
|
|
|
onChange={onClick}
|
|
|
|
disabled={disabled}
|
|
|
|
label={intl.formatMessage(messages.markAsSensitive)}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|