Fix empty “Server rules violation” report option (#18165)
This commit is contained in:
		
							parent
							
								
									84d991988e
								
							
						
					
					
						commit
						eed5a4bf9c
					
				| @ -1,5 +1,7 @@ | |||||||
| import React from 'react'; | import React from 'react'; | ||||||
| import PropTypes from 'prop-types'; | import PropTypes from 'prop-types'; | ||||||
|  | import ImmutablePropTypes from 'react-immutable-proptypes'; | ||||||
|  | import { connect } from 'react-redux'; | ||||||
| import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; | import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; | ||||||
| import Button from 'mastodon/components/button'; | import Button from 'mastodon/components/button'; | ||||||
| import Option from './components/option'; | import Option from './components/option'; | ||||||
| @ -17,11 +19,17 @@ const messages = defineMessages({ | |||||||
|   account: { id: 'report.category.title_account', defaultMessage: 'profile' }, |   account: { id: 'report.category.title_account', defaultMessage: 'profile' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| export default @injectIntl | const mapStateToProps = state => ({ | ||||||
|  |   rules: state.get('rules'), | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | export default @connect(mapStateToProps) | ||||||
|  | @injectIntl | ||||||
| class Category extends React.PureComponent { | class Category extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     onNextStep: PropTypes.func.isRequired, |     onNextStep: PropTypes.func.isRequired, | ||||||
|  |     rules: ImmutablePropTypes.list, | ||||||
|     category: PropTypes.string, |     category: PropTypes.string, | ||||||
|     onChangeCategory: PropTypes.func.isRequired, |     onChangeCategory: PropTypes.func.isRequired, | ||||||
|     startedFrom: PropTypes.oneOf(['status', 'account']), |     startedFrom: PropTypes.oneOf(['status', 'account']), | ||||||
| @ -53,13 +61,17 @@ class Category extends React.PureComponent { | |||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   render () { |   render () { | ||||||
|     const { category, startedFrom, intl } = this.props; |     const { category, startedFrom, rules, intl } = this.props; | ||||||
| 
 | 
 | ||||||
|     const options = [ |     const options = rules.size > 0 ? [ | ||||||
|       'dislike', |       'dislike', | ||||||
|       'spam', |       'spam', | ||||||
|       'violation', |       'violation', | ||||||
|       'other', |       'other', | ||||||
|  |     ] : [ | ||||||
|  |       'dislike', | ||||||
|  |       'spam', | ||||||
|  |       'other', | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|  | |||||||
| @ -14,6 +14,7 @@ import { uploadCompose, resetCompose, changeComposeSpoilerness } from '../../act | |||||||
| import { expandHomeTimeline } from '../../actions/timelines'; | import { expandHomeTimeline } from '../../actions/timelines'; | ||||||
| import { expandNotifications } from '../../actions/notifications'; | import { expandNotifications } from '../../actions/notifications'; | ||||||
| import { fetchFilters } from '../../actions/filters'; | import { fetchFilters } from '../../actions/filters'; | ||||||
|  | import { fetchRules } from '../../actions/rules'; | ||||||
| import { clearHeight } from '../../actions/height_cache'; | import { clearHeight } from '../../actions/height_cache'; | ||||||
| import { focusApp, unfocusApp, changeLayout } from 'mastodon/actions/app'; | import { focusApp, unfocusApp, changeLayout } from 'mastodon/actions/app'; | ||||||
| import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'mastodon/actions/markers'; | import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'mastodon/actions/markers'; | ||||||
| @ -368,6 +369,7 @@ class UI extends React.PureComponent { | |||||||
|     this.props.dispatch(expandHomeTimeline()); |     this.props.dispatch(expandHomeTimeline()); | ||||||
|     this.props.dispatch(expandNotifications()); |     this.props.dispatch(expandNotifications()); | ||||||
|     setTimeout(() => this.props.dispatch(fetchFilters()), 500); |     setTimeout(() => this.props.dispatch(fetchFilters()), 500); | ||||||
|  |     setTimeout(() => this.props.dispatch(fetchRules()), 3000); | ||||||
| 
 | 
 | ||||||
|     this.hotkeys.__mousetrap__.stopCallback = (e, element) => { |     this.hotkeys.__mousetrap__.stopCallback = (e, element) => { | ||||||
|       return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName); |       return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user