Use options rather than a boolean
This prepares for a third option that would restrict privacy to privacyPreference(replyPrivacy, sideArmBasePrivacy)
This commit is contained in:
		@@ -51,6 +51,9 @@ import { wrap } from 'flavours/glitch/util/redux_helpers';
 | 
			
		||||
//  State mapping.
 | 
			
		||||
function mapStateToProps (state) {
 | 
			
		||||
  const inReplyTo = state.getIn(['compose', 'in_reply_to']);
 | 
			
		||||
  const replyPrivacy = inReplyTo ? state.getIn(['statuses', inReplyTo, 'visibility']) : null;
 | 
			
		||||
  const sideArmBasePrivacy = state.getIn(['local_settings', 'side_arm']);
 | 
			
		||||
  const sideArmPrivacy = (state.getIn(['local_settings', 'side_arm_reply_mode']) === 'copy' ? replyPrivacy : null) || sideArmBasePrivacy;
 | 
			
		||||
  return {
 | 
			
		||||
    acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types']).toArray().join(','),
 | 
			
		||||
    advancedOptions: state.getIn(['compose', 'advanced_options']),
 | 
			
		||||
@@ -67,7 +70,7 @@ function mapStateToProps (state) {
 | 
			
		||||
    replyAccount: inReplyTo ? state.getIn(['statuses', inReplyTo, 'account']) : null,
 | 
			
		||||
    replyContent: inReplyTo ? state.getIn(['statuses', inReplyTo, 'contentHtml']) : null,
 | 
			
		||||
    resetFileKey: state.getIn(['compose', 'resetFileKey']),
 | 
			
		||||
    sideArm: (state.getIn(['local_settings', 'side_arm_auto']) ? state.getIn(['compose', 'reply_privacy']) : null) || state.getIn(['local_settings', 'side_arm']),
 | 
			
		||||
    sideArm: sideArmPrivacy,
 | 
			
		||||
    sensitive: state.getIn(['compose', 'sensitive']),
 | 
			
		||||
    showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
 | 
			
		||||
    spoiler: state.getIn(['compose', 'spoiler']),
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,8 @@ const messages = defineMessages({
 | 
			
		||||
  layout_desktop: { id: 'layout.desktop', defaultMessage: 'Desktop' },
 | 
			
		||||
  layout_mobile: { id: 'layout.single', defaultMessage: 'Mobile' },
 | 
			
		||||
  side_arm_none: { id: 'settings.side_arm.none', defaultMessage: 'None' },
 | 
			
		||||
  side_arm_keep: { id: 'settings.side_arm_reply_mode.keep', defaultMessage: 'Keep secondary toot button to set privacy' },
 | 
			
		||||
  side_arm_copy: { id: 'settings.side_arm_reply_mode.copy', defaultMessage: 'Copy privacy setting of the toot being replied to' },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@injectIntl
 | 
			
		||||
@@ -80,6 +82,10 @@ export default class LocalSettingsPage extends React.PureComponent {
 | 
			
		||||
            settings={settings}
 | 
			
		||||
            item={['side_arm_reply_mode']}
 | 
			
		||||
            id='mastodon-settings--side_arm_reply_mode'
 | 
			
		||||
            options={[
 | 
			
		||||
              { value: 'keep', message: intl.formatMessage(messages.side_arm_keep) },
 | 
			
		||||
              { value: 'copy', message: intl.formatMessage(messages.side_arm_copy) }
 | 
			
		||||
            ]}
 | 
			
		||||
            onChange={onChange}
 | 
			
		||||
          >
 | 
			
		||||
            <FormattedMessage id='settings.side_arm_reply_mode' defaultMessage='When replying to a toot:' />
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ const initialState = ImmutableMap({
 | 
			
		||||
  stretch   : true,
 | 
			
		||||
  navbar_under : false,
 | 
			
		||||
  side_arm  : 'none',
 | 
			
		||||
  side_arm_auto : false,
 | 
			
		||||
  side_arm_reply_mode : 'keep',
 | 
			
		||||
  collapsed : ImmutableMap({
 | 
			
		||||
    enabled     : true,
 | 
			
		||||
    auto        : ImmutableMap({
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user