diff --git a/app/assets/javascripts/discourse/components/private-message-glyph.js.es6 b/app/assets/javascripts/discourse/components/private-message-glyph.js.es6 new file mode 100644 index 0000000000..b57a0290a3 --- /dev/null +++ b/app/assets/javascripts/discourse/components/private-message-glyph.js.es6 @@ -0,0 +1,7 @@ +import Component from "@ember/component"; + +export default Component.extend({ + tagName: null, + link: null, + label: null +}); diff --git a/app/assets/javascripts/discourse/components/related-messages.js.es6 b/app/assets/javascripts/discourse/components/related-messages.js.es6 index 5fec6f28ba..46732424f8 100644 --- a/app/assets/javascripts/discourse/components/related-messages.js.es6 +++ b/app/assets/javascripts/discourse/components/related-messages.js.es6 @@ -1,6 +1,5 @@ import discourseComputed from "discourse-common/utils/decorators"; import Component from "@ember/component"; -import { iconHTML } from "discourse-common/lib/icon-library"; export default Component.extend({ elementId: "related-messages", @@ -31,14 +30,7 @@ export default Component.extend({ }, @discourseComputed("topic") - relatedTitle(topic) { - const href = this.currentUser && this.currentUser.pmPath(topic); - return href - ? `${iconHTML("envelope", { - class: "private-message-glyph" - })}${I18n.t("related_messages.title")}` - : I18n.t("related_messages.title"); + relatedTitleLink(topic) { + return this.currentUser && this.currentUser.pmPath(topic); } }); diff --git a/app/assets/javascripts/discourse/components/suggested-topics.js.es6 b/app/assets/javascripts/discourse/components/suggested-topics.js.es6 index c8ea62e827..566f4e042c 100644 --- a/app/assets/javascripts/discourse/components/suggested-topics.js.es6 +++ b/app/assets/javascripts/discourse/components/suggested-topics.js.es6 @@ -2,24 +2,24 @@ import discourseComputed from "discourse-common/utils/decorators"; import { get } from "@ember/object"; import Component from "@ember/component"; import { categoryBadgeHTML } from "discourse/helpers/category-link"; -import { iconHTML } from "discourse-common/lib/icon-library"; import Site from "discourse/models/site"; +import { computed } from "@ember/object"; export default Component.extend({ elementId: "suggested-topics", classNames: ["suggested-topics"], - @discourseComputed("topic") - suggestedTitle(topic) { - const href = this.currentUser && this.currentUser.pmPath(topic); - return topic.get("isPrivateMessage") && href - ? `${iconHTML("envelope", { - class: "private-message-glyph" - })}${I18n.t("suggested_topics.pm_title")}` - : I18n.t("suggested_topics.title"); - }, + suggestedTitleLabel: computed("topic", function() { + if (this.currentUser && this.currentUser.pmPath(this.topic)) { + return "suggested_topics.pm_title"; + } else { + return "suggested_topics.title"; + } + }), + + suggestedTitleLink: computed("topic", function() { + return this.currentUser && this.currentUser.pmPath(this.topic); + }), @discourseComputed("topic", "topicTrackingState.messageCount") browseMoreMessage(topic) { diff --git a/app/assets/javascripts/discourse/templates/components/private-message-glyph.hbs b/app/assets/javascripts/discourse/templates/components/private-message-glyph.hbs new file mode 100644 index 0000000000..a549f99cde --- /dev/null +++ b/app/assets/javascripts/discourse/templates/components/private-message-glyph.hbs @@ -0,0 +1,16 @@ +{{#if link}} + + {{#if label}} + {{i18n label}} + {{/if}} +{{else}} + {{#if label}} + {{i18n label}} + {{else}} + + {{/if}} +{{/if}} diff --git a/app/assets/javascripts/discourse/templates/components/related-messages.hbs b/app/assets/javascripts/discourse/templates/components/related-messages.hbs index dde8deaea1..d645549fce 100644 --- a/app/assets/javascripts/discourse/templates/components/related-messages.hbs +++ b/app/assets/javascripts/discourse/templates/components/related-messages.hbs @@ -1,9 +1,15 @@ -