* DEV: attempts to fix various leaks * scheduleOnce doesnt work with anon function * removes the I18n change
34 lines
802 B
JavaScript
34 lines
802 B
JavaScript
export default {
|
|
name: "title-notifications",
|
|
after: "message-bus",
|
|
|
|
initialize(container) {
|
|
const user = container.lookup("current-user:main");
|
|
if (!user) return; // must be logged in
|
|
|
|
this.container = container;
|
|
|
|
container
|
|
.lookup("service:app-events")
|
|
.on("notifications:changed", this, "_updateTitle");
|
|
},
|
|
|
|
teardown(container) {
|
|
container
|
|
.lookup("service:app-events")
|
|
.off("notifications:changed", this, "_updateTitle");
|
|
|
|
this.container = null;
|
|
},
|
|
|
|
_updateTitle() {
|
|
const user = this.container.lookup("current-user:main");
|
|
if (!user) return; // must be logged in
|
|
|
|
const notifications =
|
|
user.unread_notifications + user.unread_high_priority_notifications;
|
|
|
|
Discourse.updateNotificationCount(notifications);
|
|
}
|
|
};
|