about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/features/ui/components/filter_modal.js
diff options
context:
space:
mode:
authorStarfall <us@starfall.systems>2023-04-14 19:22:47 -0500
committerStarfall <us@starfall.systems>2023-04-14 19:22:47 -0500
commit4fe1689de43f4404eb9530fcfbcbfb26d6c1c13a (patch)
tree6811b845bb7f4966b10dcefa3dea404246f161c7 /app/javascript/flavours/glitch/features/ui/components/filter_modal.js
parent65c1e53a32cabcdbb7bca57002bb0f6acdebe07e (diff)
parentbed63f6dae0879ac840066b031229e0d139089cd (diff)
Merge remote-tracking branch 'glitch/main' HEAD main
Diffstat (limited to 'app/javascript/flavours/glitch/features/ui/components/filter_modal.js')
-rw-r--r--app/javascript/flavours/glitch/features/ui/components/filter_modal.js134
1 files changed, 0 insertions, 134 deletions
diff --git a/app/javascript/flavours/glitch/features/ui/components/filter_modal.js b/app/javascript/flavours/glitch/features/ui/components/filter_modal.js
deleted file mode 100644
index d2482e733..000000000
--- a/app/javascript/flavours/glitch/features/ui/components/filter_modal.js
+++ /dev/null
@@ -1,134 +0,0 @@
-import React from 'react';
-import { connect } from 'react-redux';
-import { fetchStatus } from 'flavours/glitch/actions/statuses';
-import { fetchFilters, createFilter, createFilterStatus } from 'flavours/glitch/actions/filters';
-import PropTypes from 'prop-types';
-import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import IconButton from 'flavours/glitch/components/icon_button';
-import SelectFilter from 'flavours/glitch/features/filters/select_filter';
-import AddedToFilter from 'flavours/glitch/features/filters/added_to_filter';
-
-const messages = defineMessages({
-  close: { id: 'lightbox.close', defaultMessage: 'Close' },
-});
-
-export default @connect(undefined)
-@injectIntl
-class FilterModal extends ImmutablePureComponent {
-
-  static propTypes = {
-    statusId: PropTypes.string.isRequired,
-    contextType: PropTypes.string,
-    dispatch: PropTypes.func.isRequired,
-    intl: PropTypes.object.isRequired,
-  };
-
-  state = {
-    step: 'select',
-    filterId: null,
-    isSubmitting: false,
-    isSubmitted: false,
-  };
-
-  handleNewFilterSuccess = (result) => {
-    this.handleSelectFilter(result.id);
-  };
-
-  handleSuccess = () => {
-    const { dispatch, statusId } = this.props;
-    dispatch(fetchStatus(statusId, true));
-    this.setState({ isSubmitting: false, isSubmitted: true, step: 'submitted' });
-  };
-
-  handleFail = () => {
-    this.setState({ isSubmitting: false });
-  };
-
-  handleNextStep = step => {
-    this.setState({ step });
-  };
-
-  handleSelectFilter = (filterId) => {
-    const { dispatch, statusId } = this.props;
-
-    this.setState({ isSubmitting: true, filterId });
-
-    dispatch(createFilterStatus({
-      filter_id: filterId,
-      status_id: statusId,
-    }, this.handleSuccess, this.handleFail));
-  };
-
-  handleNewFilter = (title) => {
-    const { dispatch } = this.props;
-
-    this.setState({ isSubmitting: true });
-
-    dispatch(createFilter({
-      title,
-      context: ['home', 'notifications', 'public', 'thread', 'account'],
-      action: 'warn',
-    }, this.handleNewFilterSuccess, this.handleFail));
-  };
-
-  componentDidMount () {
-    const { dispatch } = this.props;
-
-    dispatch(fetchFilters());
-  }
-
-  render () {
-    const {
-      intl,
-      statusId,
-      contextType,
-      onClose,
-    } = this.props;
-
-    const {
-      step,
-      filterId,
-    } = this.state;
-
-    let stepComponent;
-
-    switch(step) {
-    case 'select':
-      stepComponent = (
-        <SelectFilter
-          contextType={contextType}
-          onSelectFilter={this.handleSelectFilter}
-          onNewFilter={this.handleNewFilter}
-        />
-      );
-      break;
-    case 'create':
-      stepComponent = null;
-      break;
-    case 'submitted':
-      stepComponent = (
-        <AddedToFilter
-          contextType={contextType}
-          filterId={filterId}
-          statusId={statusId}
-          onClose={onClose}
-        />
-      );
-    }
-
-    return (
-      <div className='modal-root__modal report-dialog-modal'>
-        <div className='report-modal__target'>
-          <IconButton className='report-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={20} />
-          <FormattedMessage id='filter_modal.title.status' defaultMessage='Filter a post' />
-        </div>
-
-        <div className='report-dialog-modal__container'>
-          {stepComponent}
-        </div>
-      </div>
-    );
-  }
-
-}