* Add keyword filtering
    GET|POST       /api/v1/filters
    GET|PUT|DELETE /api/v1/filters/:id
- Irreversible filters can drop toots from home or notifications
- Other filters can hide toots through the client app
- Filters use a phrase valid in particular contexts, expiration
* Make sure expired filters don't get applied client-side
* Add missing API methods
* Remove "regex filter" from column settings
* Add tests
* Add test for FeedManager
* Add CustomFilter test
* Add UI for managing filters
* Add streaming API event to allow syncing filters
* Fix tests
		
	
			
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import React from 'react';
 | |
| import PropTypes from 'prop-types';
 | |
| import ImmutablePropTypes from 'react-immutable-proptypes';
 | |
| import { injectIntl, FormattedMessage } from 'react-intl';
 | |
| import SettingToggle from '../../notifications/components/setting_toggle';
 | |
| 
 | |
| @injectIntl
 | |
| export default class ColumnSettings extends React.PureComponent {
 | |
| 
 | |
|   static propTypes = {
 | |
|     settings: ImmutablePropTypes.map.isRequired,
 | |
|     onChange: PropTypes.func.isRequired,
 | |
|     intl: PropTypes.object.isRequired,
 | |
|   };
 | |
| 
 | |
|   render () {
 | |
|     const { settings, onChange } = this.props;
 | |
| 
 | |
|     return (
 | |
|       <div>
 | |
|         <span className='column-settings__section'><FormattedMessage id='home.column_settings.basic' defaultMessage='Basic' /></span>
 | |
| 
 | |
|         <div className='column-settings__row'>
 | |
|           <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reblog']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show boosts' />} />
 | |
|         </div>
 | |
| 
 | |
|         <div className='column-settings__row'>
 | |
|           <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />
 | |
|         </div>
 | |
|       </div>
 | |
|     );
 | |
|   }
 | |
| 
 | |
| }
 |