Fix whitespace preservation in status text
This commit is contained in:
		
							parent
							
								
									e9e11b0ff5
								
							
						
					
					
						commit
						a2fee40e8f
					
				
					 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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue