From b6ccc9c37ae0b525e7adb81fe5be39cde09adf80 Mon Sep 17 00:00:00 2001 From: Andrei Prigorshnev Date: Mon, 20 Sep 2021 07:38:57 +0400 Subject: [PATCH] FIX: empty state message on the group messages pages (#14371) --- .../build-private-messages-group-route.js | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/discourse/app/routes/build-private-messages-group-route.js b/app/assets/javascripts/discourse/app/routes/build-private-messages-group-route.js index a96df1dc42b..31c84c0c581 100644 --- a/app/assets/javascripts/discourse/app/routes/build-private-messages-group-route.js +++ b/app/assets/javascripts/discourse/app/routes/build-private-messages-group-route.js @@ -1,5 +1,5 @@ -import I18n from "I18n"; import createPMRoute from "discourse/routes/build-private-messages-route"; +import I18n from "I18n"; import { findOrResetCachedTopicList } from "discourse/lib/cached-topic-list"; export default (inboxType, filter) => { @@ -35,7 +35,16 @@ export default (inboxType, filter) => { return lastTopicList ? lastTopicList - : this.store.findFiltered("topicList", { filter: topicListFilter }); + : this.store + .findFiltered("topicList", { filter: topicListFilter }) + .then((topicList) => { + // andrei: we agreed that this is an anti pattern, + // it's better to avoid mutating a rest model like this + // this place we'll be refactored later + // see https://github.com/discourse/discourse/pull/14313#discussion_r708784704 + topicList.set("emptyState", this.emptyState()); + return topicList; + }); }, afterModel(model) { @@ -69,6 +78,13 @@ export default (inboxType, filter) => { this.controllerFor("user-private-messages").set("group", this.group); }, + emptyState() { + return { + title: I18n.t("user.no_messages_title"), + body: "", + }; + }, + dismissReadOptions() { return { group_name: this.get("groupName"),