FIX: empty state message on the group messages pages (#14371)

FIX: empty state message on the group messages pages (#14371)

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 a96df1d..31c84c0 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"),

GitHub sha: b6ccc9c37ae0b525e7adb81fe5be39cde09adf80

This commit appears in #14371 which was approved by eviltrout and tgxworld. It was merged by tgxworld.