commit: 1b447c190eb47117e99ff1e3c754f9cc461202f1
parent: a21bcac9e156d8c40fe7c15c62ac71a901091cc5
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Wed, 30 Nov 2016 16:10:19 +0100
Preparing sensitive content for text
Diffstat:
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/app/assets/javascripts/components/components/status_content.jsx b/app/assets/javascripts/components/components/status_content.jsx
@@ -2,6 +2,8 @@ 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: {
@@ -13,6 +15,12 @@ const StatusContent = React.createClass({
onClick: React.PropTypes.func
},
+ // getInitialState () {
+ // return {
+ // visible: false
+ // };
+ // },
+
mixins: [PureRenderMixin],
componentDidMount () {
@@ -57,8 +65,12 @@ const StatusContent = React.createClass({
},
render () {
- const content = { __html: emojify(this.props.status.get('content')) };
- return <div className='status__content' style={{ cursor: 'pointer' }} dangerouslySetInnerHTML={content} onClick={this.props.onClick} />;
+ 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')) };
+
+ return <div className='status__content' style={{ cursor: 'pointer', color: hidden ? '#616b86' : null }} dangerouslySetInnerHTML={content} onClick={onClick} />;
},
});