Add link to edit each listed filter
This commit is contained in:
parent
af4979e321
commit
025cfdf901
3 changed files with 29 additions and 1 deletions
|
@ -26,9 +26,11 @@ import { openModal } from 'flavours/glitch/actions/modal';
|
||||||
import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
|
import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
|
||||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||||
import { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/util/initial_state';
|
import { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/util/initial_state';
|
||||||
|
import { filterEditLink } from 'flavours/glitch/util/backend_links';
|
||||||
import { showAlertForError } from '../actions/alerts';
|
import { showAlertForError } from '../actions/alerts';
|
||||||
import AccountContainer from 'flavours/glitch/containers/account_container';
|
import AccountContainer from 'flavours/glitch/containers/account_container';
|
||||||
import Spoilers from '../components/spoilers';
|
import Spoilers from '../components/spoilers';
|
||||||
|
import Icon from 'flavours/glitch/components/icon';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
|
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
|
||||||
|
@ -42,6 +44,7 @@ const messages = defineMessages({
|
||||||
unfilterConfirm: { id: 'confirmations.unfilter.confirm', defaultMessage: 'Show' },
|
unfilterConfirm: { id: 'confirmations.unfilter.confirm', defaultMessage: 'Show' },
|
||||||
author: { id: 'confirmations.unfilter.author', defaultMessage: 'Author' },
|
author: { id: 'confirmations.unfilter.author', defaultMessage: 'Author' },
|
||||||
matchingFilters: { id: 'confirmations.unfilter.filters', defaultMessage: 'Matching {count, plural, one {filter} other {filters}}' },
|
matchingFilters: { id: 'confirmations.unfilter.filters', defaultMessage: 'Matching {count, plural, one {filter} other {filters}}' },
|
||||||
|
editFilter: { id: 'confirmations.unfilter.edit_filter', defaultMessage: 'Edit filter' },
|
||||||
});
|
});
|
||||||
|
|
||||||
const makeMapStateToProps = () => {
|
const makeMapStateToProps = () => {
|
||||||
|
@ -211,7 +214,22 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
|
||||||
</Spoilers>
|
</Spoilers>
|
||||||
<Spoilers spoilerText={intl.formatMessage(messages.matchingFilters, {count: matchingFilters.size})}>
|
<Spoilers spoilerText={intl.formatMessage(messages.matchingFilters, {count: matchingFilters.size})}>
|
||||||
<ul>
|
<ul>
|
||||||
{matchingFilters.map(filter => <li>{filter.get('phrase')}</li>)}
|
{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 icon='pencil' />
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
</Spoilers>
|
</Spoilers>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -849,4 +849,13 @@
|
||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
list-style: disc inside;
|
list-style: disc inside;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.filtered-status-edit-link {
|
||||||
|
color: $action-button-color;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration: underline
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,3 +4,4 @@ export const signOutLink = '/auth/sign_out';
|
||||||
export const termsLink = '/terms';
|
export const termsLink = '/terms';
|
||||||
export const accountAdminLink = (id) => `/admin/accounts/${id}`;
|
export const accountAdminLink = (id) => `/admin/accounts/${id}`;
|
||||||
export const statusAdminLink = (account_id, status_id) => `/admin/accounts/${account_id}/statuses/${status_id}`;
|
export const statusAdminLink = (account_id, status_id) => `/admin/accounts/${account_id}/statuses/${status_id}`;
|
||||||
|
export const filterEditLink = (id) => `/filters/${id}/edit`;
|
||||||
|
|
Loading…
Reference in a new issue