import React from 'react';
import PropTypes from 'prop-types';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import Button from 'flavours/glitch/components/button';
import Option from './components/option';
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 {
static propTypes = {
onNextStep: PropTypes.func.isRequired,
+ rules: ImmutablePropTypes.list,
category: PropTypes.string,
onChangeCategory: PropTypes.func.isRequired,
startedFrom: PropTypes.oneOf(['status', 'account']),
};
render () {
- const { category, startedFrom, intl } = this.props;
+ const { category, startedFrom, rules, intl } = this.props;
- const options = [
+ const options = rules.size > 0 ? [
'dislike',
'spam',
'violation',
'other',
+ ] : [
+ 'dislike',
+ 'spam',
+ 'other',
];
return (
import { expandHomeTimeline } from 'flavours/glitch/actions/timelines';
import { expandNotifications, notificationsSetVisibility } from 'flavours/glitch/actions/notifications';
import { fetchFilters } from 'flavours/glitch/actions/filters';
+import { fetchRules } from 'flavours/glitch/actions/rules';
import { clearHeight } from 'flavours/glitch/actions/height_cache';
import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'flavours/glitch/actions/markers';
import { WrappedSwitch, WrappedRoute } from 'flavours/glitch/util/react_router_helpers';
this.props.dispatch(expandHomeTimeline());
this.props.dispatch(expandNotifications());
setTimeout(() => this.props.dispatch(fetchFilters()), 500);
+ setTimeout(() => this.props.dispatch(fetchRules()), 3000);
}
componentDidMount () {