Add privacy icons to report modal (#19190)
This commit is contained in:
		
					parent
					
						
							
								26c51cfa07
							
						
					
				
			
			
				commit
				
					
						d2f7e30a28
					
				
			
		
					 1 changed files with 23 additions and 3 deletions
				
			
		|  | @ -7,14 +7,25 @@ import DisplayName from 'mastodon/components/display_name'; | ||||||
| import RelativeTimestamp from 'mastodon/components/relative_timestamp'; | import RelativeTimestamp from 'mastodon/components/relative_timestamp'; | ||||||
| import Option from './option'; | import Option from './option'; | ||||||
| import MediaAttachments from 'mastodon/components/media_attachments'; | import MediaAttachments from 'mastodon/components/media_attachments'; | ||||||
|  | import { injectIntl, defineMessages } from 'react-intl'; | ||||||
|  | import Icon from 'mastodon/components/icon'; | ||||||
| 
 | 
 | ||||||
| export default class StatusCheckBox extends React.PureComponent { | const messages = defineMessages({ | ||||||
|  |   public_short: { id: 'privacy.public.short', defaultMessage: 'Public' }, | ||||||
|  |   unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' }, | ||||||
|  |   private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' }, | ||||||
|  |   direct_short: { id: 'privacy.direct.short', defaultMessage: 'Mentioned people only' }, | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | export default @injectIntl | ||||||
|  | class StatusCheckBox extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     id: PropTypes.string.isRequired, |     id: PropTypes.string.isRequired, | ||||||
|     status: ImmutablePropTypes.map.isRequired, |     status: ImmutablePropTypes.map.isRequired, | ||||||
|     checked: PropTypes.bool, |     checked: PropTypes.bool, | ||||||
|     onToggle: PropTypes.func.isRequired, |     onToggle: PropTypes.func.isRequired, | ||||||
|  |     intl: PropTypes.object.isRequired, | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   handleStatusesToggle = (value, checked) => { |   handleStatusesToggle = (value, checked) => { | ||||||
|  | @ -23,12 +34,21 @@ export default class StatusCheckBox extends React.PureComponent { | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   render () { |   render () { | ||||||
|     const { status, checked } = this.props; |     const { status, checked, intl } = this.props; | ||||||
| 
 | 
 | ||||||
|     if (status.get('reblog')) { |     if (status.get('reblog')) { | ||||||
|       return null; |       return null; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     const visibilityIconInfo = { | ||||||
|  |       'public': { icon: 'globe', text: intl.formatMessage(messages.public_short) }, | ||||||
|  |       'unlisted': { icon: 'unlock', text: intl.formatMessage(messages.unlisted_short) }, | ||||||
|  |       'private': { icon: 'lock', text: intl.formatMessage(messages.private_short) }, | ||||||
|  |       'direct': { icon: 'at', text: intl.formatMessage(messages.direct_short) }, | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     const visibilityIcon = visibilityIconInfo[status.get('visibility')]; | ||||||
|  | 
 | ||||||
|     const labelComponent = ( |     const labelComponent = ( | ||||||
|       <div className='status-check-box__status poll__option__text'> |       <div className='status-check-box__status poll__option__text'> | ||||||
|         <div className='detailed-status__display-name'> |         <div className='detailed-status__display-name'> | ||||||
|  | @ -37,7 +57,7 @@ export default class StatusCheckBox extends React.PureComponent { | ||||||
|           </div> |           </div> | ||||||
| 
 | 
 | ||||||
|           <div> |           <div> | ||||||
|             <DisplayName account={status.get('account')} /> · <RelativeTimestamp timestamp={status.get('created_at')} /> |             <DisplayName account={status.get('account')} /> · <span className='status__visibility-icon'><Icon id={visibilityIcon.icon} title={visibilityIcon.text} /></span> <RelativeTimestamp timestamp={status.get('created_at')} /> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue