mirror of
https://git.bsd.gay/fef/nyastodon.git
synced 2024-12-26 21:53:41 +01:00
Add back “spoilers always on” feature
This commit is contained in:
parent
380f4fc95c
commit
056f9bf3c2
3 changed files with 6 additions and 3 deletions
|
@ -48,6 +48,7 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
text: PropTypes.string.isRequired,
|
text: PropTypes.string.isRequired,
|
||||||
suggestions: ImmutablePropTypes.list,
|
suggestions: ImmutablePropTypes.list,
|
||||||
spoiler: PropTypes.bool,
|
spoiler: PropTypes.bool,
|
||||||
|
spoilerAlwaysOn: PropTypes.bool,
|
||||||
privacy: PropTypes.string,
|
privacy: PropTypes.string,
|
||||||
spoilerText: PropTypes.string,
|
spoilerText: PropTypes.string,
|
||||||
focusDate: PropTypes.instanceOf(Date),
|
focusDate: PropTypes.instanceOf(Date),
|
||||||
|
@ -296,7 +297,7 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
<div className='compose-form__buttons'>
|
<div className='compose-form__buttons'>
|
||||||
<UploadButtonContainer />
|
<UploadButtonContainer />
|
||||||
<PollButtonContainer />
|
<PollButtonContainer />
|
||||||
<SpoilerButtonContainer />
|
{!this.props.spoilerAlwaysOn && <SpoilerButtonContainer />}
|
||||||
<EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} />
|
<EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} />
|
||||||
<CharacterCounter max={maxChars} text={this.getFulltextForCharacterCounting()} />
|
<CharacterCounter max={maxChars} text={this.getFulltextForCharacterCounting()} />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -24,8 +24,9 @@ export const SensitiveButton = () => {
|
||||||
const spoilersAlwaysOn = useAppSelector((state) => state.getIn(['local_settings', 'always_show_spoilers_field']));
|
const spoilersAlwaysOn = useAppSelector((state) => state.getIn(['local_settings', 'always_show_spoilers_field']));
|
||||||
const spoilerText = useAppSelector((state) => state.getIn(['compose', 'spoiler_text']));
|
const spoilerText = useAppSelector((state) => state.getIn(['compose', 'spoiler_text']));
|
||||||
const sensitive = useAppSelector((state) => state.getIn(['compose', 'sensitive']));
|
const sensitive = useAppSelector((state) => state.getIn(['compose', 'sensitive']));
|
||||||
const disabled = useAppSelector((state) => state.getIn(['compose', 'spoiler']));
|
const spoiler = useAppSelector((state) => state.getIn(['compose', 'spoiler']));
|
||||||
const mediaCount = useAppSelector((state) => state.getIn(['compose', 'media_attachments']).size);
|
const mediaCount = useAppSelector((state) => state.getIn(['compose', 'media_attachments']).size);
|
||||||
|
const disabled = spoilersAlwaysOn ? (spoilerText && spoilerText.length > 0) : spoiler;
|
||||||
|
|
||||||
const active = sensitive || (spoilersAlwaysOn && spoilerText && spoilerText.length > 0);
|
const active = sensitive || (spoilersAlwaysOn && spoilerText && spoilerText.length > 0);
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,8 @@ import ComposeForm from '../components/compose_form';
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
text: state.getIn(['compose', 'text']),
|
text: state.getIn(['compose', 'text']),
|
||||||
suggestions: state.getIn(['compose', 'suggestions']),
|
suggestions: state.getIn(['compose', 'suggestions']),
|
||||||
spoiler: state.getIn(['compose', 'spoiler']),
|
spoiler: state.getIn(['local_settings', 'always_show_spoilers_field']) || state.getIn(['compose', 'spoiler']),
|
||||||
|
spoilerAlwaysOn: state.getIn(['local_settings', 'always_show_spoilers_field']),
|
||||||
spoilerText: state.getIn(['compose', 'spoiler_text']),
|
spoilerText: state.getIn(['compose', 'spoiler_text']),
|
||||||
privacy: state.getIn(['compose', 'privacy']),
|
privacy: state.getIn(['compose', 'privacy']),
|
||||||
focusDate: state.getIn(['compose', 'focusDate']),
|
focusDate: state.getIn(['compose', 'focusDate']),
|
||||||
|
|
Loading…
Reference in a new issue