diff options
author | vantezzen <hello@vantezzen.io> | 2019-12-20 19:22:21 +0100 |
---|---|---|
committer | vantezzen <hello@vantezzen.io> | 2019-12-20 19:22:21 +0100 |
commit | a54d5cfa8564ee77f1a08972edb1f4bdfe4248a4 (patch) | |
tree | fb19d5c6cb80005059b456e4ba7ce4710f388b5f /uncompressed/hangoutschat | |
parent | #15 Add mastodon recipe (diff) | |
parent | Add Zimbra recipe (diff) | |
download | ferdium-recipes-a54d5cfa8564ee77f1a08972edb1f4bdfe4248a4.tar.gz ferdium-recipes-a54d5cfa8564ee77f1a08972edb1f4bdfe4248a4.tar.zst ferdium-recipes-a54d5cfa8564ee77f1a08972edb1f4bdfe4248a4.zip |
Merge branch 'master' of https://github.com/getferdi/recipes
Diffstat (limited to 'uncompressed/hangoutschat')
-rw-r--r-- | uncompressed/hangoutschat/index.js | 4 | ||||
-rw-r--r-- | uncompressed/hangoutschat/package.json | 5 | ||||
-rw-r--r-- | uncompressed/hangoutschat/webview.js | 24 |
3 files changed, 19 insertions, 14 deletions
diff --git a/uncompressed/hangoutschat/index.js b/uncompressed/hangoutschat/index.js index 9034d74..e8243fb 100644 --- a/uncompressed/hangoutschat/index.js +++ b/uncompressed/hangoutschat/index.js | |||
@@ -1,5 +1,3 @@ | |||
1 | "use strict"; | 1 | "use strict"; |
2 | 2 | ||
3 | // just pass through Franz | 3 | module.exports = Franz => Franz; \ No newline at end of file |
4 | module.exports = Franz => Franz; | ||
5 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhhbmdvdXRzY2hhdC9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoiaGFuZ291dHNjaGF0L2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8ganVzdCBwYXNzIHRocm91Z2ggRnJhbnpcbm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0= \ No newline at end of file | ||
diff --git a/uncompressed/hangoutschat/package.json b/uncompressed/hangoutschat/package.json index 93abc68..d2d400d 100644 --- a/uncompressed/hangoutschat/package.json +++ b/uncompressed/hangoutschat/package.json | |||
@@ -1,7 +1,7 @@ | |||
1 | { | 1 | { |
2 | "id": "hangoutschat", | 2 | "id": "hangoutschat", |
3 | "name": "Hangouts Chat", | 3 | "name": "Hangouts Chat", |
4 | "version": "1.0.0", | 4 | "version": "1.1.1", |
5 | "description": "Hangouts Chat", | 5 | "description": "Hangouts Chat", |
6 | "main": "index.js", | 6 | "main": "index.js", |
7 | "author": "Stefan Malzner <stefan@adlk.io>", | 7 | "author": "Stefan Malzner <stefan@adlk.io>", |
@@ -9,6 +9,7 @@ | |||
9 | "config": { | 9 | "config": { |
10 | "serviceURL": "https://chat.google.com", | 10 | "serviceURL": "https://chat.google.com", |
11 | "hasNotificationSound": true, | 11 | "hasNotificationSound": true, |
12 | "hasIndirectMessages": true | 12 | "hasIndirectMessages": true, |
13 | "dissablewebsecurity": true | ||
13 | } | 14 | } |
14 | } | 15 | } |
diff --git a/uncompressed/hangoutschat/webview.js b/uncompressed/hangoutschat/webview.js index 2af9e03..27a2016 100644 --- a/uncompressed/hangoutschat/webview.js +++ b/uncompressed/hangoutschat/webview.js | |||
@@ -1,13 +1,10 @@ | |||
1 | 'use strict'; | 1 | "use strict"; |
2 | 2 | ||
3 | module.exports = Franz => { | 3 | module.exports = Franz => { |
4 | const getMessages = function getMessages() { | 4 | const getMessages = function getMessages() { |
5 | const muteSelector = '.DQy0Rb'; | 5 | const muteSelector = '.DQy0Rb'; |
6 | |||
7 | // get unread messages | ||
8 | let directCount = 0; | 6 | let directCount = 0; |
9 | document.querySelectorAll('.eM5l9e.FVKzAb').forEach(node => { | 7 | document.querySelectorAll('.eM5l9e.FVKzAb').forEach(node => { |
10 | // Hangouts Chat overrides the muted indicator when there is a direct mention | ||
11 | if (!node.closest('content[role="listitem"]').querySelector(muteSelector)) { | 8 | if (!node.closest('content[role="listitem"]').querySelector(muteSelector)) { |
12 | directCount += 1; | 9 | directCount += 1; |
13 | } | 10 | } |
@@ -19,12 +16,21 @@ module.exports = Franz => { | |||
19 | } | 16 | } |
20 | }); | 17 | }); |
21 | indirectCount -= directCount; | 18 | indirectCount -= directCount; |
22 | |||
23 | // set Franz badge | ||
24 | Franz.setBadge(directCount, indirectCount); | 19 | Franz.setBadge(directCount, indirectCount); |
25 | }; | 20 | }; |
26 | 21 | ||
27 | // check for new messages every second and update Franz badge | 22 | document.addEventListener('click', e => { |
23 | const { | ||
24 | tagName, | ||
25 | target, | ||
26 | href | ||
27 | } = e.target; | ||
28 | |||
29 | if (tagName === 'A' && target === '_blank') { | ||
30 | e.preventDefault(); | ||
31 | e.stopImmediatePropagation(); | ||
32 | window.open(href); | ||
33 | } | ||
34 | }); | ||
28 | Franz.loop(getMessages); | 35 | Franz.loop(getMessages); |
29 | }; | 36 | }; \ No newline at end of file |
30 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhhbmdvdXRzY2hhdC93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwibXV0ZVNlbGVjdG9yIiwiZGlyZWN0Q291bnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwibm9kZSIsImNsb3Nlc3QiLCJxdWVyeVNlbGVjdG9yIiwiaW5kaXJlY3RDb3VudCIsInNldEJhZGdlIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QyxVQUFNQyxlQUFlLFNBQXJCOztBQUVBO0FBQ0EsUUFBSUMsY0FBYyxDQUFsQjtBQUNBQyxhQUFTQyxnQkFBVCxDQUEwQixnQkFBMUIsRUFBNENDLE9BQTVDLENBQXFEQyxJQUFELElBQVU7QUFDNUQ7QUFDQSxVQUFJLENBQUNBLEtBQUtDLE9BQUwsQ0FBYSwwQkFBYixFQUF5Q0MsYUFBekMsQ0FBdURQLFlBQXZELENBQUwsRUFBMkU7QUFDekVDLHVCQUFlLENBQWY7QUFDRDtBQUNGLEtBTEQ7QUFNQSxRQUFJTyxnQkFBZ0IsQ0FBcEI7QUFDQU4sYUFBU0MsZ0JBQVQsQ0FBMEIsdUJBQTFCLEVBQW1EQyxPQUFuRCxDQUE0REMsSUFBRCxJQUFVO0FBQ25FLFVBQUksQ0FBQ0EsS0FBS0MsT0FBTCxDQUFhLDBCQUFiLEVBQXlDQyxhQUF6QyxDQUF1RFAsWUFBdkQsQ0FBTCxFQUEyRTtBQUN6RVEsd0JBQWdCLENBQUMsQ0FBakI7QUFDRDtBQUNGLEtBSkQ7QUFLQUEscUJBQWlCUCxXQUFqQjs7QUFFQTtBQUNBSCxVQUFNVyxRQUFOLENBQWVSLFdBQWYsRUFBNEJPLGFBQTVCO0FBQ0QsR0FyQkQ7O0FBdUJBO0FBQ0FWLFFBQU1ZLElBQU4sQ0FBV1gsV0FBWDtBQUNELENBMUJEIiwiZmlsZSI6ImhhbmdvdXRzY2hhdC93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBjb25zdCBtdXRlU2VsZWN0b3IgPSAnLkRReTBSYic7XG5cbiAgICAvLyBnZXQgdW5yZWFkIG1lc3NhZ2VzXG4gICAgbGV0IGRpcmVjdENvdW50ID0gMDtcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZU01bDllLkZWS3pBYicpLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIC8vIEhhbmdvdXRzIENoYXQgb3ZlcnJpZGVzIHRoZSBtdXRlZCBpbmRpY2F0b3Igd2hlbiB0aGVyZSBpcyBhIGRpcmVjdCBtZW50aW9uXG4gICAgICBpZiAoIW5vZGUuY2xvc2VzdCgnY29udGVudFtyb2xlPVwibGlzdGl0ZW1cIl0nKS5xdWVyeVNlbGVjdG9yKG11dGVTZWxlY3RvcikpIHtcbiAgICAgICAgZGlyZWN0Q291bnQgKz0gMTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBsZXQgaW5kaXJlY3RDb3VudCA9IDA7XG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLlBMNVd3ZS5IN2R1MiAudDVGNW5mJykuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgaWYgKCFub2RlLmNsb3Nlc3QoJ2NvbnRlbnRbcm9sZT1cImxpc3RpdGVtXCJdJykucXVlcnlTZWxlY3RvcihtdXRlU2VsZWN0b3IpKSB7XG4gICAgICAgIGluZGlyZWN0Q291bnQgPSArMTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpbmRpcmVjdENvdW50IC09IGRpcmVjdENvdW50O1xuXG4gICAgLy8gc2V0IEZyYW56IGJhZGdlXG4gICAgRnJhbnouc2V0QmFkZ2UoZGlyZWN0Q291bnQsIGluZGlyZWN0Q291bnQpO1xuICB9O1xuXG4gIC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19 \ No newline at end of file | ||