Disable sensitive button when with content warnings (#4460)
This commit is contained in:
parent
14004daca4
commit
5be327104f
3 changed files with 19 additions and 8 deletions
|
@ -15,6 +15,7 @@ const messages = defineMessages({
|
|||
const mapStateToProps = state => ({
|
||||
visible: state.getIn(['compose', 'media_attachments']).size > 0,
|
||||
active: state.getIn(['compose', 'sensitive']),
|
||||
disabled: state.getIn(['compose', 'spoiler']),
|
||||
});
|
||||
|
||||
const mapDispatchToProps = dispatch => ({
|
||||
|
@ -30,12 +31,13 @@ class SensitiveButton extends React.PureComponent {
|
|||
static propTypes = {
|
||||
visible: PropTypes.bool,
|
||||
active: PropTypes.bool,
|
||||
disabled: PropTypes.bool,
|
||||
onClick: PropTypes.func.isRequired,
|
||||
intl: PropTypes.object.isRequired,
|
||||
};
|
||||
|
||||
render () {
|
||||
const { visible, active, onClick, intl } = this.props;
|
||||
const { visible, active, disabled, onClick, intl } = this.props;
|
||||
|
||||
return (
|
||||
<Motion defaultStyle={{ scale: 0.87 }} style={{ scale: spring(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }}>
|
||||
|
@ -53,6 +55,7 @@ class SensitiveButton extends React.PureComponent {
|
|||
onClick={onClick}
|
||||
size={18}
|
||||
active={active}
|
||||
disabled={disabled}
|
||||
style={{ lineHeight: null, height: null }}
|
||||
inverted
|
||||
/>
|
||||
|
|
|
@ -152,9 +152,13 @@ export default function compose(state = initialState, action) {
|
|||
.set('mounted', false)
|
||||
.set('is_composing', false);
|
||||
case COMPOSE_SENSITIVITY_CHANGE:
|
||||
return state
|
||||
.set('sensitive', !state.get('sensitive'))
|
||||
.set('idempotencyKey', uuid());
|
||||
return state.withMutations(map => {
|
||||
if (!state.get('spoiler')) {
|
||||
map.set('sensitive', !state.get('sensitive'));
|
||||
}
|
||||
|
||||
map.set('idempotencyKey', uuid());
|
||||
});
|
||||
case COMPOSE_SPOILERNESS_CHANGE:
|
||||
return state.withMutations(map => {
|
||||
map.set('spoiler_text', '');
|
||||
|
|
|
@ -148,13 +148,17 @@
|
|||
color: $ui-base-lighter-color;
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: $ui-highlight-color;
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
color: $ui-primary-color;
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: $ui-highlight-color;
|
||||
|
||||
&.disabled {
|
||||
color: lighten($ui-highlight-color, 13%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.overlayed {
|
||||
|
|
Loading…
Reference in a new issue