Fix whitespace preservation in status text
This commit is contained in:
		
							parent
							
								
									e90fcb46e3
								
							
						
					
					
						commit
						6a5036ab19
					
				
					 4 changed files with 6 additions and 12 deletions
				
			
		|  | @ -2,8 +2,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; | |||
| import PureRenderMixin from 'react-addons-pure-render-mixin'; | ||||
| import emojify from '../emoji'; | ||||
| 
 | ||||
| const hideContent = str => $('<p>').html(str).text().replace(/[^\s]/g, '█'); | ||||
| 
 | ||||
| const StatusContent = React.createClass({ | ||||
| 
 | ||||
|   contextTypes: { | ||||
|  | @ -15,12 +13,6 @@ const StatusContent = React.createClass({ | |||
|     onClick: React.PropTypes.func | ||||
|   }, | ||||
| 
 | ||||
|   // getInitialState () { | ||||
|   //   return { | ||||
|   //     visible: false | ||||
|   //   }; | ||||
|   // }, | ||||
| 
 | ||||
|   mixins: [PureRenderMixin], | ||||
| 
 | ||||
|   componentDidMount () { | ||||
|  | @ -67,10 +59,9 @@ const StatusContent = React.createClass({ | |||
|   render () { | ||||
|     const { status, onClick } = this.props; | ||||
| 
 | ||||
|     const hidden  = false; // (status.get('sensitive') && !this.state.visible); | ||||
|     const content = { __html: hidden ? hideContent(status.get('content')) : emojify(status.get('content')) }; | ||||
|     const content = { __html: emojify(status.get('content')) }; | ||||
| 
 | ||||
|     return <div className='status__content' style={{ cursor: 'pointer', color: hidden ? '#616b86' : null }} dangerouslySetInnerHTML={content} onClick={onClick} />; | ||||
|     return <div className='status__content' style={{ cursor: 'pointer' }} dangerouslySetInnerHTML={content} onClick={onClick} />; | ||||
|   }, | ||||
| 
 | ||||
| }); | ||||
|  |  | |||
|  | @ -90,6 +90,7 @@ | |||
|   word-wrap: break-word; | ||||
|   font-weight: 300; | ||||
|   overflow: hidden; | ||||
|   white-space: pre-wrap; | ||||
| 
 | ||||
|   .emojione { | ||||
|     width: 18px; | ||||
|  |  | |||
|  | @ -153,6 +153,7 @@ | |||
|     color: #282c37; | ||||
|     word-wrap: break-word; | ||||
|     overflow: hidden; | ||||
|     white-space: pre-wrap; | ||||
| 
 | ||||
|     p { | ||||
|       margin-bottom: 18px; | ||||
|  |  | |||
|  | @ -15,6 +15,7 @@ class Formatter | |||
|     html = status.text | ||||
|     html = encode(html) | ||||
|     html = simple_format(html, sanitize: false) | ||||
|     html = html.gsub(/\n/, '') | ||||
|     html = link_urls(html) | ||||
|     html = link_mentions(html, status.mentions) | ||||
|     html = link_hashtags(html) | ||||
|  | @ -42,7 +43,7 @@ class Formatter | |||
|   end | ||||
| 
 | ||||
|   def link_urls(html) | ||||
|     auto_link(html, link: :urls, html: { rel: 'nofollow noopener' }) do |text| | ||||
|     auto_link(html, link: :urls, html: { rel: 'nofollow noopener', target: '_blank' }) do |text| | ||||
|       truncate(text.gsub(/\Ahttps?:\/\/(www\.)?/, ''), length: 30) | ||||
|     end | ||||
|   end | ||||
|  |  | |||
		Reference in a new issue