diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-08-25 14:12:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-25 14:12:44 +0200 |
commit | acc580fb7d40641e0bb5ba7a3145503bcb8397c3 (patch) | |
tree | 6a2c8ec020a41b4ec011ebff5d8b24afb44d80b0 /app/javascript/flavours/glitch/containers/status_container.js | |
parent | 4be626734dfe5d5bb550b117d966aa3f93d0ef38 (diff) | |
parent | 2b03e21d36715705f41669580be8b810ecad644a (diff) |
Merge pull request #1829 from ClearlyClaire/glitch-soc/merge-upstream
Port UI filter changes from upstream
Diffstat (limited to 'app/javascript/flavours/glitch/containers/status_container.js')
-rw-r--r-- | app/javascript/flavours/glitch/containers/status_container.js | 51 |
1 files changed, 8 insertions, 43 deletions
diff --git a/app/javascript/flavours/glitch/containers/status_container.js b/app/javascript/flavours/glitch/containers/status_container.js index 6c8f261e4..0ba2e712c 100644 --- a/app/javascript/flavours/glitch/containers/status_container.js +++ b/app/javascript/flavours/glitch/containers/status_container.js @@ -1,7 +1,7 @@ import { connect } from 'react-redux'; import Status from 'flavours/glitch/components/status'; import { List as ImmutableList } from 'immutable'; -import { makeGetStatus, regexFromFilters, toServerSideType } from 'flavours/glitch/selectors'; +import { makeGetStatus } from 'flavours/glitch/selectors'; import { replyCompose, mentionCompose, @@ -25,6 +25,9 @@ import { revealStatus, editStatus } from 'flavours/glitch/actions/statuses'; +import { + initAddFilter, +} from 'flavours/glitch/actions/filters'; import { initMuteModal } from 'flavours/glitch/actions/mutes'; import { initBlockModal } from 'flavours/glitch/actions/blocks'; import { initReport } from 'flavours/glitch/actions/reports'; @@ -201,52 +204,14 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({ dispatch(initBlockModal(account)); }, - onUnfilter (status, onConfirm) { - dispatch((_, getState) => { - let state = getState(); - const serverSideType = toServerSideType(contextType); - const enabledFilters = state.get('filters', ImmutableList()).filter(filter => filter.get('context').includes(serverSideType) && (filter.get('expires_at') === null || Date.parse(filter.get('expires_at')) > (new Date()))).toArray(); - const searchIndex = status.get('search_index'); - const matchingFilters = enabledFilters.filter(filter => regexFromFilters([filter]).test(searchIndex)); - dispatch(openModal('CONFIRM', { - message: [ - <FormattedMessage id='confirmations.unfilter' defaultMessage='Information about this filtered toot' />, - <div className='filtered-status-info'> - <Spoilers spoilerText={intl.formatMessage(messages.author)}> - <AccountContainer id={status.getIn(['account', 'id'])} /> - </Spoilers> - <Spoilers spoilerText={intl.formatMessage(messages.matchingFilters, {count: matchingFilters.size})}> - <ul> - {matchingFilters.map(filter => ( - <li> - {filter.get('phrase')} - {!!filterEditLink && ' '} - {!!filterEditLink && ( - <a - target='_blank' - className='filtered-status-edit-link' - title={intl.formatMessage(messages.editFilter)} - href={filterEditLink(filter.get('id'))} - > - <Icon id='pencil' /> - </a> - )} - </li> - ))} - </ul> - </Spoilers> - </div> - ], - confirm: intl.formatMessage(messages.unfilterConfirm), - onConfirm: onConfirm, - })); - }); - }, - onReport (status) { dispatch(initReport(status.get('account'), status)); }, + onAddFilter (status) { + dispatch(initAddFilter(status, { contextType })); + }, + onMute (account) { dispatch(initMuteModal(account)); }, |