diff options
Diffstat (limited to 'recipes/groupme')
-rw-r--r-- | recipes/groupme/package.json | 2 | ||||
-rw-r--r-- | recipes/groupme/webview.js | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/recipes/groupme/package.json b/recipes/groupme/package.json index 983c679..0fa12ad 100644 --- a/recipes/groupme/package.json +++ b/recipes/groupme/package.json | |||
@@ -1,7 +1,7 @@ | |||
1 | { | 1 | { |
2 | "id": "groupme", | 2 | "id": "groupme", |
3 | "name": "GroupMe", | 3 | "name": "GroupMe", |
4 | "version": "1.2.0", | 4 | "version": "1.2.1", |
5 | "license": "MIT", | 5 | "license": "MIT", |
6 | "config": { | 6 | "config": { |
7 | "serviceURL": "https://web.groupme.com", | 7 | "serviceURL": "https://web.groupme.com", |
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); |