]> cat aescling's git repositories - mastodon.git/commitdiff
[Glitch] Fix report submit button not being disabled during submission in web UI
authorEugen Rochko <eugen@zeonfederated.com>
Sun, 27 Feb 2022 06:37:00 +0000 (07:37 +0100)
committerClaire <claire.github-309c@sitedethib.com>
Tue, 1 Mar 2022 09:01:06 +0000 (10:01 +0100)
Port 0883f057531d291e8793bd3113f4331c502ad8cf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
app/javascript/flavours/glitch/features/report/comment.js
app/javascript/flavours/glitch/features/report/statuses.js

index b2663bbf282b77cfd073ee3e83051fd86e639292..ec261afcbc6384a0cc7e7d6bcba1145e06766cb6 100644 (file)
@@ -74,7 +74,7 @@ class Comment extends React.PureComponent {
         <div className='flex-spacer' />
 
         <div className='report-dialog-modal__actions'>
-          <Button onClick={this.handleClick}><FormattedMessage id='report.submit' defaultMessage='Submit report' /></Button>
+          <Button onClick={this.handleClick} disabled={isSubmitting}><FormattedMessage id='report.submit' defaultMessage='Submit report' /></Button>
         </div>
       </React.Fragment>
     );
index 69cfbb3e5a14ba09a47eec03714c80fe41e1710a..47d5ee8639cce55167bc99bf1f421068f8c58fda 100644 (file)
@@ -6,9 +6,11 @@ import StatusCheckBox from 'flavours/glitch/features/report/containers/status_ch
 import { OrderedSet } from 'immutable';
 import { FormattedMessage } from 'react-intl';
 import Button from 'flavours/glitch/components/button';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
 
 const mapStateToProps = (state, { accountId }) => ({
   availableStatusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])),
+  isLoading: state.getIn(['timelines', `account:${accountId}:with_replies`, 'isLoading']),
 });
 
 export default @connect(mapStateToProps)
@@ -19,6 +21,7 @@ class Statuses extends React.PureComponent {
     accountId: PropTypes.string.isRequired,
     availableStatusIds: ImmutablePropTypes.set.isRequired,
     selectedStatusIds: ImmutablePropTypes.set.isRequired,
+    isLoading: PropTypes.bool,
     onToggle: PropTypes.func.isRequired,
   };
 
@@ -28,7 +31,7 @@ class Statuses extends React.PureComponent {
   };
 
   render () {
-    const { availableStatusIds, selectedStatusIds, onToggle } = this.props;
+    const { availableStatusIds, selectedStatusIds, onToggle, isLoading } = this.props;
 
     return (
       <React.Fragment>
@@ -36,7 +39,7 @@ class Statuses extends React.PureComponent {
         <p className='report-dialog-modal__lead'><FormattedMessage id='report.statuses.subtitle' defaultMessage='Select all that apply' /></p>
 
         <div className='report-dialog-modal__statuses'>
-          {availableStatusIds.union(selectedStatusIds).map(statusId => (
+          {isLoading ? <LoadingIndicator /> : availableStatusIds.union(selectedStatusIds).map(statusId => (
             <StatusCheckBox
               id={statusId}
               key={statusId}