FEATURE: Enable experimental Badging API (#7173)

approved

#1

FEATURE: Enable experimental Badging API (#7173)

diff --git a/app/assets/javascripts/discourse/initializers/badging.js.es6 b/app/assets/javascripts/discourse/initializers/badging.js.es6
new file mode 100644
index 0000000..75672ec
--- /dev/null
+++ b/app/assets/javascripts/discourse/initializers/badging.js.es6
@@ -0,0 +1,19 @@
+// Updates the PWA badging if avaliable
+export default {
+  name: "badging",
+  after: "message-bus",
+
+  initialize(container) {
+    const appEvents = container.lookup("app-events:main");
+    const user = container.lookup("current-user:main");
+
+    if (!user) return; // must be logged in
+    if (!window.ExperimentalBadge) return; // must have the Badging API
+
+    appEvents.on("notifications:changed", () => {
+      let notifications =
+        user.get("unread_notifications") + user.get("unread_private_messages");
+      window.ExperimentalBadge.set(notifications);
+    });
+  }
+};

GitHub sha: fb8bcd74


Approved #2