mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: show new/unread button when a new topic or post is created (#8576)
There is a problem that if you read all messages, even when a new one arrives, the button on the top is not showing. This is because once the button got `hidden` class, a label under is properly updated, however, the class is not removed. Therefore, I added computed isHidden function which is recalculated when `count` change.
This commit is contained in:
parent
3b7f5db5ba
commit
1921538faa
@ -8,7 +8,7 @@ export default Component.extend(FilterModeMixin, {
|
|||||||
"active",
|
"active",
|
||||||
"content.hasIcon:has-icon",
|
"content.hasIcon:has-icon",
|
||||||
"content.classNames",
|
"content.classNames",
|
||||||
"hidden"
|
"isHidden:hidden"
|
||||||
],
|
],
|
||||||
attributeBindings: ["content.title:title"],
|
attributeBindings: ["content.title:title"],
|
||||||
hidden: false,
|
hidden: false,
|
||||||
@ -24,6 +24,18 @@ export default Component.extend(FilterModeMixin, {
|
|||||||
return contentFilterType === filterType;
|
return contentFilterType === filterType;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@discourseComputed("content.count")
|
||||||
|
isHidden(count) {
|
||||||
|
return (
|
||||||
|
!this.active &&
|
||||||
|
this.currentUser &&
|
||||||
|
this.currentUser.trust_level > 0 &&
|
||||||
|
(this.content.get("name") === "new" ||
|
||||||
|
this.content.get("name") === "unread") &&
|
||||||
|
count < 1
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
didReceiveAttrs() {
|
didReceiveAttrs() {
|
||||||
this._super(...arguments);
|
this._super(...arguments);
|
||||||
const content = this.content;
|
const content = this.content;
|
||||||
@ -53,17 +65,5 @@ export default Component.extend(FilterModeMixin, {
|
|||||||
this.set("hrefLink", href);
|
this.set("hrefLink", href);
|
||||||
|
|
||||||
this.set("activeClass", this.active ? "active" : "");
|
this.set("activeClass", this.active ? "active" : "");
|
||||||
|
|
||||||
if (
|
|
||||||
!this.active &&
|
|
||||||
this.currentUser &&
|
|
||||||
this.currentUser.trust_level > 0 &&
|
|
||||||
(content.get("name") === "new" || content.get("name") === "unread") &&
|
|
||||||
content.get("count") < 1
|
|
||||||
) {
|
|
||||||
this.set("hidden", true);
|
|
||||||
} else {
|
|
||||||
this.set("hidden", false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user