diff options
Diffstat (limited to 'recipes/groupme/webview.js')
-rw-r--r-- | recipes/groupme/webview.js | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/recipes/groupme/webview.js b/recipes/groupme/webview.js index e2d6954..0d5afc3 100644 --- a/recipes/groupme/webview.js +++ b/recipes/groupme/webview.js | |||
@@ -1,9 +1,17 @@ | |||
1 | module.exports = Ferdium => { | 1 | module.exports = Ferdium => { |
2 | const getMessages = () => { | 2 | const getMessages = () => { |
3 | const directMessages = document.querySelectorAll('.badge-count:not(.ng-hide)').length; | 3 | |
4 | // array-ify the list of conversations | ||
5 | const allConversations = [...document.querySelectorAll('#tray .tray-list .list-item')] | ||
6 | // for each conversation on the list... | ||
7 | const filteredConversations = allConversations.filter(e => { | ||
8 | // keep it on the list if [1] it has unread messages (not .ng-hide), and [2] it isn't muted (not .overlay) | ||
9 | return (!e.innerHTML.includes('ng-hide') && !e.innerHTML.includes('overlay')) | ||
10 | }); | ||
11 | const unreadConversations = filteredConversations.length; | ||
4 | 12 | ||
5 | // set Ferdium badge | 13 | // set Ferdium badge |
6 | Ferdium.setBadge(directMessages); | 14 | Ferdium.setBadge(unreadConversations); |
7 | }; | 15 | }; |
8 | 16 | ||
9 | Ferdium.loop(getMessages); | 17 | Ferdium.loop(getMessages); |