Add prefix to setting toggle ID (#3907)
This commit is contained in:
		
					parent
					
						
							
								9ca02a00a6
							
						
					
				
			
			
				commit
				
					
						6fbb3841a6
					
				
			
		
					 3 changed files with 20 additions and 19 deletions
				
			
		|  | @ -28,17 +28,17 @@ class ColumnSettings extends React.PureComponent { | |||
|         <span className='column-settings__section'><FormattedMessage id='home.column_settings.basic' defaultMessage='Basic' /></span> | ||||
| 
 | ||||
|         <div className='column-settings__row'> | ||||
|           <SettingToggle settings={settings} settingKey={['shows', 'reblog']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show boosts' />} /> | ||||
|           <SettingToggle prefix='home_timeline' settings={settings} settingKey={['shows', 'reblog']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show boosts' />} /> | ||||
|         </div> | ||||
| 
 | ||||
|         <div className='column-settings__row'> | ||||
|           <SettingToggle settings={settings} settingKey={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} /> | ||||
|           <SettingToggle prefix='home_timeline' settings={settings} settingKey={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} /> | ||||
|         </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)} /> | ||||
|           <SettingText prefix='home_timeline' settings={settings} settingKey={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} /> | ||||
|         </div> | ||||
|       </div> | ||||
|     ); | ||||
|  |  | |||
|  | @ -31,33 +31,33 @@ class ColumnSettings extends React.PureComponent { | |||
|         <span className='column-settings__section'><FormattedMessage id='notifications.column_settings.follow' defaultMessage='New followers:' /></span> | ||||
| 
 | ||||
|         <div className='column-settings__row'> | ||||
|           <SettingToggle settings={settings} settingKey={['alerts', 'follow']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['shows', 'follow']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['sounds', 'follow']} onChange={onChange} label={soundStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['alerts', 'follow']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'follow']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'follow']} onChange={onChange} label={soundStr} /> | ||||
|         </div> | ||||
| 
 | ||||
|         <span className='column-settings__section'><FormattedMessage id='notifications.column_settings.favourite' defaultMessage='Favourites:' /></span> | ||||
| 
 | ||||
|         <div className='column-settings__row'> | ||||
|           <SettingToggle settings={settings} settingKey={['alerts', 'favourite']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['shows', 'favourite']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['sounds', 'favourite']} onChange={onChange} label={soundStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['alerts', 'favourite']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'favourite']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'favourite']} onChange={onChange} label={soundStr} /> | ||||
|         </div> | ||||
| 
 | ||||
|         <span className='column-settings__section'><FormattedMessage id='notifications.column_settings.mention' defaultMessage='Mentions:' /></span> | ||||
| 
 | ||||
|         <div className='column-settings__row'> | ||||
|           <SettingToggle settings={settings} settingKey={['alerts', 'mention']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['shows', 'mention']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['sounds', 'mention']} onChange={onChange} label={soundStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['alerts', 'mention']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'mention']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'mention']} onChange={onChange} label={soundStr} /> | ||||
|         </div> | ||||
| 
 | ||||
|         <span className='column-settings__section'><FormattedMessage id='notifications.column_settings.reblog' defaultMessage='Boosts:' /></span> | ||||
| 
 | ||||
|         <div className='column-settings__row'> | ||||
|           <SettingToggle settings={settings} settingKey={['alerts', 'reblog']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['shows', 'reblog']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle settings={settings} settingKey={['sounds', 'reblog']} onChange={onChange} label={soundStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['alerts', 'reblog']} onChange={onChange} label={alertStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['shows', 'reblog']} onChange={onChange} label={showStr} /> | ||||
|           <SettingToggle prefix='notifications' settings={settings} settingKey={['sounds', 'reblog']} onChange={onChange} label={soundStr} /> | ||||
|         </div> | ||||
|       </div> | ||||
|     ); | ||||
|  |  | |||
|  | @ -6,19 +6,20 @@ import Toggle from 'react-toggle'; | |||
| class SettingToggle extends React.PureComponent { | ||||
| 
 | ||||
|   static propTypes = { | ||||
|     prefix: PropTypes.string, | ||||
|     settings: ImmutablePropTypes.map.isRequired, | ||||
|     settingKey: PropTypes.array.isRequired, | ||||
|     label: PropTypes.node.isRequired, | ||||
|     onChange: PropTypes.func.isRequired, | ||||
|   } | ||||
| 
 | ||||
|   onChange = (e) => { | ||||
|     this.props.onChange(this.props.settingKey, e.target.checked); | ||||
|   onChange = ({ target }) => { | ||||
|     this.props.onChange(this.props.settingKey, target.checked); | ||||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { settings, settingKey, label, onChange } = this.props; | ||||
|     const id = `setting-toggle-${settingKey.join('-')}`; | ||||
|     const { prefix, settings, settingKey, label, onChange } = this.props; | ||||
|     const id = ['setting-toggle', prefix, ...settingKey].filter(Boolean).join('-'); | ||||
| 
 | ||||
|     return ( | ||||
|       <div className='setting-toggle'> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue