aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/zulip/webview.js
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/zulip/webview.js')
-rw-r--r--recipes/zulip/webview.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/recipes/zulip/webview.js b/recipes/zulip/webview.js
index 32cb0aa..1989809 100644
--- a/recipes/zulip/webview.js
+++ b/recipes/zulip/webview.js
@@ -1,12 +1,24 @@
1module.exports = Ferdium => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const allMessages = Math.round( 3 // All unread messages
4 document.querySelectorAll( 4 const unreadAll = getUnreadCount('top_left_all_messages');
5 '#global_filters .top_left_all_messages .count .value', 5
6 )[0].textContent, 6 // Private messages
7 ); 7 const unreadPrivate = getUnreadCount('top_left_private_messages');
8 Ferdium.setBadge(allMessages); 8
9 // @ Mentions messages
10 const unreadMentions = getUnreadCount('top_left_mentions');
11
12 const directMessages = unreadPrivate + unreadMentions;
13 const indirectMessages = unreadAll - directMessages;
14
15 Ferdium.setBadge(directMessages, indirectMessages);
9 }; 16 };
10 17
11 Ferdium.loop(getMessages); 18 Ferdium.loop(getMessages);
19
20 function getUnreadCount(eltClassName) {
21 const elt = document.querySelectorAll(`#global_filters .${eltClassName} .unread_count`)[0];
22 return elt == null ? 0 : Ferdium.safeParseInt(elt.textContent);
23 }
12}; 24};