From e1bebb2d776b12d6e1461e06f318e79fcb93ea2c Mon Sep 17 00:00:00 2001 From: samogot Date: Sat, 28 May 2016 02:31:02 +0300 Subject: PLT-2321 Move the toggle icon next to the link being previewed (#3071) * PLT-2321 Move the toggle icon next to the link being previewed only applicable to one-line messages started with link * remove useless "Youtube" header when no title is available * allow breaking long links instead of toggle * simplify "/" to "/" replacing fix empty post without additional content body * discard buggy "simplification" --- .../components/post_view/components/post_body.jsx | 34 ++++++++++++++-------- .../components/post_body_additional_content.jsx | 23 +++++++++++---- webapp/components/rhs_root_post.jsx | 14 +++++---- webapp/components/youtube_video.jsx | 30 ++++++++++--------- webapp/sass/layout/_post.scss | 6 +++- webapp/utils/text_formatting.jsx | 12 ++++++++ 6 files changed, 81 insertions(+), 38 deletions(-) (limited to 'webapp') diff --git a/webapp/components/post_view/components/post_body.jsx b/webapp/components/post_view/components/post_body.jsx index 3c57db0cd..75ba30f23 100644 --- a/webapp/components/post_view/components/post_body.jsx +++ b/webapp/components/post_view/components/post_body.jsx @@ -136,7 +136,6 @@ export default class PostBody extends React.Component { } let message; - let additionalContent = null; if (this.props.post.state === Constants.POST_DELETED) { message = ( ); + } + + let messageWrapper = ( +
+ {loading} + {message} +
+ ); - additionalContent = ( - + let messageWithAdditionalContent; + if (this.props.post.state === Constants.POST_DELETED) { + messageWithAdditionalContent = messageWrapper; + } else { + messageWithAdditionalContent = ( + ); } @@ -161,16 +179,8 @@ export default class PostBody extends React.Component {
{comment}
-
- {loading} - {message} -
+ {messageWithAdditionalContent} {fileAttachmentHolder} - {additionalContent}
); diff --git a/webapp/components/post_view/components/post_body_additional_content.jsx b/webapp/components/post_view/components/post_body_additional_content.jsx index deabaaa9b..89941f5b2 100644 --- a/webapp/components/post_view/components/post_body_additional_content.jsx +++ b/webapp/components/post_view/components/post_body_additional_content.jsx @@ -117,21 +117,31 @@ export default class PostBodyAdditionalContent extends React.Component { const generateEmbed = this.generateEmbed(); if (generateEmbed) { - let toggle; + let messageWithToggle = []; if (Utils.isFeatureEnabled(Constants.PRE_RELEASE_FEATURES.EMBED_TOGGLE)) { - toggle = ( + // if message has only one line and starts with a link place toggle in this only line + // else - place it in new line between message and embed + const prependToggle = (/^\s*https?:\/\/.*$/).test(this.props.post.message); + messageWithToggle.push( ); + if (prependToggle) { + messageWithToggle.push(this.props.message); + } else { + messageWithToggle.unshift(this.props.message); + } + } else { + messageWithToggle.push(this.props.message); } return (
- {toggle} + {messageWithToggle}