]> cat aescling's git repositories - mastodon.git/blob - app/javascript/mastodon/features/home_timeline/components/column_settings.js
Improve eslint rules (#3147)
[mastodon.git] / app / javascript / mastodon / features / home_timeline / components / column_settings.js
1 import React from 'react';
2 import PropTypes from 'prop-types';
3 import ImmutablePropTypes from 'react-immutable-proptypes';
4 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
5 import ColumnCollapsable from '../../../components/column_collapsable';
6 import SettingToggle from '../../notifications/components/setting_toggle';
7 import SettingText from './setting_text';
8
9 const messages = defineMessages({
10 filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },
11 settings: { id: 'home.settings', defaultMessage: 'Column settings' },
12 });
13
14 class ColumnSettings extends React.PureComponent {
15
16 static propTypes = {
17 settings: ImmutablePropTypes.map.isRequired,
18 onChange: PropTypes.func.isRequired,
19 onSave: PropTypes.func.isRequired,
20 intl: PropTypes.object.isRequired,
21 };
22
23 render () {
24 const { settings, onChange, onSave, intl } = this.props;
25
26 return (
27 <ColumnCollapsable icon='sliders' title={intl.formatMessage(messages.settings)} fullHeight={209} onCollapse={onSave}>
28 <div className='column-settings__outer'>
29 <span className='column-settings__section'><FormattedMessage id='home.column_settings.basic' defaultMessage='Basic' /></span>
30
31 <div className='column-settings__row'>
32 <SettingToggle settings={settings} settingKey={['shows', 'reblog']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show boosts' />} />
33 </div>
34
35 <div className='column-settings__row'>
36 <SettingToggle settings={settings} settingKey={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />
37 </div>
38
39 <span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>
40
41 <div className='column-settings__row'>
42 <SettingText settings={settings} settingKey={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />
43 </div>
44 </div>
45 </ColumnCollapsable>
46 );
47 }
48
49 }
50
51 export default injectIntl(ColumnSettings);
This page took 0.068929 seconds and 4 git commands to generate.