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