diff --git a/app/assets/javascripts/discourse/models/topic.js b/app/assets/javascripts/discourse/models/topic.js index a3c9ee26c66..ea118dbc7af 100644 --- a/app/assets/javascripts/discourse/models/topic.js +++ b/app/assets/javascripts/discourse/models/topic.js @@ -63,9 +63,19 @@ const Topic = RestModel.extend({ const latest = posters.filter( p => p.extras && p.extras.indexOf("latest") >= 0 )[0]; - user = latest && latest.user; + user = latest; } - return user || this.creator; + return user || posters.firstObject; + }, + + @discourseComputed("lastPoster") + lastPosterUser(poster) { + return poster.user; + }, + + @discourseComputed("lastPoster") + lastPosterGroup(poster) { + return poster.primary_group; }, @discourseComputed("posters.[]", "participants.[]", "allowed_user_count") diff --git a/app/assets/javascripts/discourse/templates/components/latest-topic-list-item.hbs b/app/assets/javascripts/discourse/templates/components/latest-topic-list-item.hbs index a1f459f725f..c071eaaef14 100644 --- a/app/assets/javascripts/discourse/templates/components/latest-topic-list-item.hbs +++ b/app/assets/javascripts/discourse/templates/components/latest-topic-list-item.hbs @@ -1,7 +1,14 @@
- {{#user-link user=topic.lastPoster}} - {{avatar topic.lastPoster imageSize="large"}} + {{#user-link user=topic.lastPosterUser}} + {{avatar topic.lastPosterUser imageSize="large"}} {{/user-link}} + {{#if topic.lastPosterGroup}} + {{avatar-flair + flairURL=topic.lastPosterGroup.flair_url + flairBgColor=topic.lastPosterGroup.flair_bg_color + flairColor=topic.lastPosterGroup.flair_color + groupName=topic.lastPosterGroup.name}} + {{/if}}