Add regex filters on the community timeline and the public timeline. (#3564)
* Add regex filter on the community timeline and the public timeline * correcting * Adjust the height of header buttons * Remove trailing spaces * Remove trailing spaces * Solve some code duplication * reset the state of the locale files in app/javascript/mastodon/locales * adjust to upstream * adjust to upstream * change keys of locale settingsmaster
parent
e34c5a3503
commit
7623766241
@ -0,0 +1,39 @@ |
||||
import React from 'react'; |
||||
import PropTypes from 'prop-types'; |
||||
import ImmutablePropTypes from 'react-immutable-proptypes'; |
||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; |
||||
import ColumnCollapsable from '../../../components/column_collapsable'; |
||||
import SettingToggle from '../../notifications/components/setting_toggle'; |
||||
import SettingText from '../../../components/setting_text'; |
||||
|
||||
const messages = defineMessages({ |
||||
filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' }, |
||||
settings: { id: 'home.settings', defaultMessage: 'Column settings' }, |
||||
}); |
||||
|
||||
class ColumnSettings extends React.PureComponent { |
||||
|
||||
static propTypes = { |
||||
settings: ImmutablePropTypes.map.isRequired, |
||||
onChange: PropTypes.func.isRequired, |
||||
onSave: PropTypes.func.isRequired, |
||||
intl: PropTypes.object.isRequired, |
||||
}; |
||||
|
||||
render () { |
||||
const { settings, onChange, onSave, intl } = this.props; |
||||
|
||||
return ( |
||||
<div> |
||||
<span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span> |
||||
|
||||
<div className='column-settings__row'> |
||||
<SettingText settings={settings} settingKey={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} /> |
||||
</div> |
||||
</div> |
||||
); |
||||
} |
||||
|
||||
} |
||||
|
||||
export default injectIntl(ColumnSettings); |
@ -0,0 +1,21 @@ |
||||
import { connect } from 'react-redux'; |
||||
import ColumnSettings from '../components/column_settings'; |
||||
import { changeSetting, saveSettings } from '../../../actions/settings'; |
||||
|
||||
const mapStateToProps = state => ({ |
||||
settings: state.getIn(['settings', 'community']), |
||||
}); |
||||
|
||||
const mapDispatchToProps = dispatch => ({ |
||||
|
||||
onChange (key, checked) { |
||||
dispatch(changeSetting(['community', ...key], checked)); |
||||
}, |
||||
|
||||
onSave () { |
||||
dispatch(saveSettings()); |
||||
}, |
||||
|
||||
}); |
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings); |
@ -0,0 +1,21 @@ |
||||
import { connect } from 'react-redux'; |
||||
import ColumnSettings from '../../community_timeline/components/column_settings'; |
||||
import { changeSetting, saveSettings } from '../../../actions/settings'; |
||||
|
||||
const mapStateToProps = state => ({ |
||||
settings: state.getIn(['settings', 'public']), |
||||
}); |
||||
|
||||
const mapDispatchToProps = dispatch => ({ |
||||
|
||||
onChange (key, checked) { |
||||
dispatch(changeSetting(['public', ...key], checked)); |
||||
}, |
||||
|
||||
onSave () { |
||||
dispatch(saveSettings()); |
||||
}, |
||||
|
||||
}); |
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings); |
Loading…
Reference in new issue