diff --git a/js/views/conversation_view.js b/js/views/conversation_view.js
index dd6b15d146..e3b2039713 100644
--- a/js/views/conversation_view.js
+++ b/js/views/conversation_view.js
@@ -1101,11 +1101,7 @@
message.quotedMessage = this.quotedMessage;
this.quoteHolder = message;
- const props = Object.assign({}, message.getPropsForQuote(), {
- onClose: () => {
- this.setQuoteMessage(null);
- },
- });
+ const props = message.getPropsForQuote();
this.listenTo(message, 'scroll-to-message', this.scrollToMessage);
@@ -1117,7 +1113,12 @@
this.quoteView = new Whisper.ReactWrapperView({
className: 'quote-wrapper',
Component: window.Signal.Components.Quote,
- props,
+ props: Object.assign({}, props, {
+ text: props.text ? window.emoji.signalReplace(props.text) : null,
+ onClose: () => {
+ this.setQuoteMessage(null);
+ },
+ }),
});
const selector = storage.get('theme-setting') === 'ios'
diff --git a/js/views/message_view.js b/js/views/message_view.js
index 1d1864597c..12b278f2f4 100644
--- a/js/views/message_view.js
+++ b/js/views/message_view.js
@@ -405,7 +405,9 @@
this.quoteView = new Whisper.ReactWrapperView({
className: 'quote-wrapper',
Component: window.Signal.Components.Quote,
- props,
+ props: Object.assign({}, props, {
+ text: props.text ? window.emoji.signalReplace(props.text) : null,
+ }),
});
this.$('.inner-bubble').prepend(this.quoteView.el);
},
diff --git a/ts/components/conversation/Quote.md b/ts/components/conversation/Quote.md
index e97482679a..3caefe9fa5 100644
--- a/ts/components/conversation/Quote.md
+++ b/ts/components/conversation/Quote.md
@@ -34,6 +34,39 @@ const View = Whisper.MessageView;
```
+#### With emoji
+
+```jsx
+const outgoing = new Whisper.Message({
+ type: 'outgoing',
+ body: 'About 🔥six🔥',
+ sent_at: Date.now() - 18000000,
+ quote: {
+ text: 'How many 🔥ferrets🔥 do you have? ',
+ author: '+12025550011',
+ id: Date.now() - 1000,
+ },
+});
+const incoming = new Whisper.Message(Object.assign({}, outgoing.attributes, {
+ source: '+12025550011',
+ type: 'incoming',
+ quote: Object.assign({}, outgoing.attributes.quote, {
+ author: '+12025550005',
+ }),
+}));
+const View = Whisper.MessageView;
+
+
+
+
+```
+
#### Replies to you or yourself
```jsx
diff --git a/ts/components/conversation/Quote.tsx b/ts/components/conversation/Quote.tsx
index 22342665b8..3165468043 100644
--- a/ts/components/conversation/Quote.tsx
+++ b/ts/components/conversation/Quote.tsx
@@ -113,7 +113,7 @@ export class Quote extends React.Component {
const { i18n, text, attachments } = this.props;
if (text) {
- return {text}
;
+ return ;
}
if (!attachments || attachments.length === 0) {
diff --git a/ts/styleguide/StyleGuideUtil.ts b/ts/styleguide/StyleGuideUtil.ts
index f49cf62cda..83ad6c7b7e 100644
--- a/ts/styleguide/StyleGuideUtil.ts
+++ b/ts/styleguide/StyleGuideUtil.ts
@@ -206,3 +206,11 @@ parent.textsecure.storage.user.getNumber = () => ourNumber;
// Telling Lodash to relinquish _ for use by underscore
// @ts-ignore
_.noConflict();
+
+parent.emoji.signalReplace = (html: string): string => {
+ return html.replace(
+ /🔥/g,
+ '
'
+ );
+};