From 3ff513bd3b240a9c6de8111d4bf228aa498f1fe1 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Feb 2022 19:00:33 +0100 Subject: [PATCH] [Glitch] Fix controls for unchangeable properties on status edit not being disabled Port d10eb06cb4a4c815619642779cd945db4e1f5af0 to glitch-soc Signed-off-by: Claire --- .../glitch/features/compose/components/compose_form.js | 1 + .../flavours/glitch/features/compose/components/options.js | 6 ++++-- .../glitch/features/compose/components/privacy_dropdown.js | 1 + .../flavours/glitch/features/compose/components/upload.js | 5 +++-- .../glitch/features/compose/containers/upload_container.js | 1 + 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/javascript/flavours/glitch/features/compose/components/compose_form.js b/app/javascript/flavours/glitch/features/compose/components/compose_form.js index 47dc87f163..c75906ce72 100644 --- a/app/javascript/flavours/glitch/features/compose/components/compose_form.js +++ b/app/javascript/flavours/glitch/features/compose/components/compose_form.js @@ -355,6 +355,7 @@ class ComposeForm extends ImmutablePureComponent { onToggleSpoiler={spoilersAlwaysOn ? null : onChangeSpoilerness} onUpload={onPaste} privacy={privacy} + isEditing={isEditing} sensitive={sensitive || (spoilersAlwaysOn && spoilerText && spoilerText.length > 0)} spoiler={spoilersAlwaysOn ? (spoilerText && spoilerText.length > 0) : spoiler} /> diff --git a/app/javascript/flavours/glitch/features/compose/components/options.js b/app/javascript/flavours/glitch/features/compose/components/options.js index 085da18ea4..3a31e214d8 100644 --- a/app/javascript/flavours/glitch/features/compose/components/options.js +++ b/app/javascript/flavours/glitch/features/compose/components/options.js @@ -138,6 +138,7 @@ class ComposerOptions extends ImmutablePureComponent { resetFileKey: PropTypes.number, spoiler: PropTypes.bool, showContentTypeChoice: PropTypes.bool, + isEditing: PropTypes.bool, }; // Handles file selection. @@ -202,6 +203,7 @@ class ComposerOptions extends ImmutablePureComponent { resetFileKey, spoiler, showContentTypeChoice, + isEditing, intl: { formatMessage }, } = this.props; @@ -273,7 +275,7 @@ class ComposerOptions extends ImmutablePureComponent { )}
!!value)} - disabled={disabled} + disabled={disabled || isEditing} icon='ellipsis-h' items={advancedOptions ? [ { diff --git a/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.js b/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.js index 3bf25b3a4c..c8e783d223 100644 --- a/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.js +++ b/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.js @@ -27,6 +27,7 @@ class PrivacyDropdown extends React.PureComponent { onChange: PropTypes.func.isRequired, noDirect: PropTypes.bool, container: PropTypes.func, + disabled: PropTypes.bool, intl: PropTypes.object.isRequired, }; diff --git a/app/javascript/flavours/glitch/features/compose/components/upload.js b/app/javascript/flavours/glitch/features/compose/components/upload.js index 425b0fe5e8..338bfca37c 100644 --- a/app/javascript/flavours/glitch/features/compose/components/upload.js +++ b/app/javascript/flavours/glitch/features/compose/components/upload.js @@ -19,6 +19,7 @@ export default class Upload extends ImmutablePureComponent { media: ImmutablePropTypes.map.isRequired, onUndo: PropTypes.func.isRequired, onOpenFocalPoint: PropTypes.func.isRequired, + isEditingStatus: PropTypes.func.isRequired, }; handleUndoClick = e => { @@ -32,7 +33,7 @@ export default class Upload extends ImmutablePureComponent { } render () { - const { intl, media } = this.props; + const { intl, media, isEditingStatus } = this.props; const focusX = media.getIn(['meta', 'focus', 'x']); const focusY = media.getIn(['meta', 'focus', 'y']); const x = ((focusX / 2) + .5) * 100; @@ -45,7 +46,7 @@ export default class Upload extends ImmutablePureComponent {
- + {!isEditingStatus && ()}
)} diff --git a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js index f3ca4ce7bb..d6256fe966 100644 --- a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js +++ b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js @@ -5,6 +5,7 @@ import { submitCompose } from 'flavours/glitch/actions/compose'; const mapStateToProps = (state, { id }) => ({ media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id), + isEditingStatus: state.getIn(['compose', 'id']) !== null, }); const mapDispatchToProps = dispatch => ({