DEV: Add more user logic (#113)
This commit is contained in:
@@ -1,42 +1,56 @@
|
||||
import Component from "@glimmer/component";
|
||||
import avatar from "discourse/helpers/avatar";
|
||||
import concatClass from "discourse/helpers/concat-class";
|
||||
import icon from "discourse/helpers/d-icon";
|
||||
import formatDate from "discourse/helpers/format-date";
|
||||
import { i18n } from "discourse-i18n";
|
||||
import gt from "truth-helpers/helpers/gt";
|
||||
|
||||
export default class TopicActivityColumn extends Component {
|
||||
get activityText() {
|
||||
// this should handle any case where a topic was no bumped due to a reply/post
|
||||
get topicUser() {
|
||||
if (
|
||||
moment(this.args.topic.bumped_at).isAfter(this.args.topic.last_posted_at)
|
||||
) {
|
||||
return "user_updated";
|
||||
return {
|
||||
user: undefined,
|
||||
username: undefined,
|
||||
activityText: "user_updated",
|
||||
class: "--updated",
|
||||
};
|
||||
}
|
||||
|
||||
if (this.args.topic.posts_count > 1) {
|
||||
return "user_replied";
|
||||
return {
|
||||
user: this.args.topic.lastPosterUser,
|
||||
username: this.args.topic.last_poster_username,
|
||||
activityText: "user_replied",
|
||||
class: "--replied",
|
||||
};
|
||||
} else if (this.args.topic.posts_count === 1) {
|
||||
return "user_posted";
|
||||
return {
|
||||
user: this.args.topic.creator,
|
||||
username: this.args.topic.creator.username,
|
||||
activityText: "user_posted",
|
||||
class: "--posted",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
<template>
|
||||
<span class="topic-activity">
|
||||
<span class={{concatClass "topic-activity" this.topicUser.class}}>
|
||||
<div class="topic-activity__user">
|
||||
{{#if (gt @topic.replyCount 1)}}
|
||||
{{avatar @topic.lastPosterUser imageSize="small"}}
|
||||
<span
|
||||
class="topic-activity__username"
|
||||
>@{{@topic.last_poster_username}}</span>
|
||||
{{#if this.topicUser.user}}
|
||||
{{avatar this.topicUser.user imageSize="small"}}
|
||||
{{else}}
|
||||
{{avatar @topic.creator imageSize="small"}}
|
||||
<span
|
||||
class="topic-activity__username"
|
||||
>@{{@topic.creator.username}}</span>
|
||||
{{icon "pencil"}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#if this.topicUser.username}}
|
||||
<span
|
||||
class="topic-activity__username"
|
||||
>{{this.topicUser.username}}</span>
|
||||
{{/if}}
|
||||
<div class="topic-activity__reason">
|
||||
{{i18n (themePrefix this.activityText)}}
|
||||
{{i18n (themePrefix this.topicUser.activityText)}}
|
||||
</div>
|
||||
<div class="topic-activity__time">
|
||||
{{formatDate
|
||||
|
||||
Reference in New Issue
Block a user