diff --git a/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap b/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap
index 43bc80abf..70c165a05 100644
--- a/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap
+++ b/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap
@@ -31,3 +31,164 @@ exports[`MarkdownEmoji should match snapshot 1`] = `
`;
+
+exports[`MarkdownEmoji should render with hardbreaks 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/app/components/markdown/markdown_emoji/markdown_emoji.js b/app/components/markdown/markdown_emoji/markdown_emoji.js
index e9995b80d..7fae0381d 100644
--- a/app/components/markdown/markdown_emoji/markdown_emoji.js
+++ b/app/components/markdown/markdown_emoji/markdown_emoji.js
@@ -39,6 +39,7 @@ export default class MarkdownEmoji extends PureComponent {
paragraph: this.renderParagraph,
document: this.renderParagraph,
text: this.renderText,
+ hardbreak: this.renderNewLine,
},
});
};
@@ -73,10 +74,14 @@ export default class MarkdownEmoji extends PureComponent {
renderText = ({context, literal}) => {
const style = this.computeTextStyle(this.props.baseTextStyle, context);
-
return {literal};
};
+ renderNewLine = ({context}) => {
+ const style = this.computeTextStyle(this.props.baseTextStyle, context);
+ return {'\n'};
+ }
+
renderEditedIndicator = ({context}) => {
let spacer = '';
if (context[0] === 'paragraph') {
@@ -101,7 +106,7 @@ export default class MarkdownEmoji extends PureComponent {
};
render() {
- const ast = this.parser.parse(this.props.value);
+ const ast = this.parser.parse(this.props.value.replace(/\n*$/, ''));
if (this.props.isEdited) {
const editIndicatorNode = new Node('edited_indicator');
diff --git a/app/components/markdown/markdown_emoji/markdown_emoji.test.js b/app/components/markdown/markdown_emoji/markdown_emoji.test.js
index 327c016c7..666dc9020 100644
--- a/app/components/markdown/markdown_emoji/markdown_emoji.test.js
+++ b/app/components/markdown/markdown_emoji/markdown_emoji.test.js
@@ -24,4 +24,17 @@ describe('MarkdownEmoji', () => {
expect(wrapper.getElement()).toMatchSnapshot();
});
+
+ test('should render with hardbreaks', () => {
+ const wrapper = shallow(
+ ,
+ );
+
+ expect(wrapper.getElement()).toMatchSnapshot();
+ });
});