aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/threema/webview.js
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/threema/webview.js')
-rw-r--r--recipes/threema/webview.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/recipes/threema/webview.js b/recipes/threema/webview.js
new file mode 100644
index 0000000..45bffee
--- /dev/null
+++ b/recipes/threema/webview.js
@@ -0,0 +1,28 @@
1'use strict';
2
3const path = require('path');
4
5module.exports = Franz => {
6 const getMessages = function getMessages() {
7 const elements = document.querySelectorAll('.badge.unread-count:not(.ng-hide)');
8 let count = 0;
9
10 for (let i = 0; i < elements.length; i += 1) {
11 try {
12 count += parseInt(elements[i].innerHTML.trim(), 10);
13 } catch (e) {
14 console.error(e);
15 }
16 }
17
18 // set Franz badge
19 Franz.setBadge(count);
20 };
21
22 // inject franz.css stylesheet
23 Franz.injectCSS(path.join(__dirname, 'service.css'));
24
25 // check for new messages every second and update Franz badge
26 Franz.loop(getMessages);
27};
28//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRocmVlbWEvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJwYXRoIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiZWxlbWVudHMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJjb3VudCIsImkiLCJsZW5ndGgiLCJwYXJzZUludCIsImlubmVySFRNTCIsInRyaW0iLCJlIiwiY29uc29sZSIsImVycm9yIiwic2V0QmFkZ2UiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsTUFBTUEsT0FBT0MsUUFBUSxNQUFSLENBQWI7O0FBRUFDLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVM7QUFDdEIsVUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3ZDLGNBQU1DLFdBQVdDLFNBQVNDLGdCQUFULENBQTBCLG1DQUExQixDQUFqQjtBQUNBLFlBQUlDLFFBQVEsQ0FBWjs7QUFFQSxhQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSUosU0FBU0ssTUFBN0IsRUFBcUNELEtBQUssQ0FBMUMsRUFBNkM7QUFDekMsZ0JBQUk7QUFDQUQseUJBQVNHLFNBQVNOLFNBQVNJLENBQVQsRUFBWUcsU0FBWixDQUFzQkMsSUFBdEIsRUFBVCxFQUF1QyxFQUF2QyxDQUFUO0FBQ0gsYUFGRCxDQUVFLE9BQU9DLENBQVAsRUFBVTtBQUNSQyx3QkFBUUMsS0FBUixDQUFjRixDQUFkO0FBQ0g7QUFDSjs7QUFFRDtBQUNBWCxjQUFNYyxRQUFOLENBQWVULEtBQWY7QUFDSCxLQWREOztBQWdCQTtBQUNBTCxVQUFNZSxTQUFOLENBQWdCbkIsS0FBS29CLElBQUwsQ0FBVUMsU0FBVixFQUFxQixhQUFyQixDQUFoQjs7QUFFQTtBQUNBakIsVUFBTWtCLElBQU4sQ0FBV2pCLFdBQVg7QUFDSCxDQXRCRCIsImZpbGUiOiJ0aHJlZW1hL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4ge1xuICAgIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmJhZGdlLnVucmVhZC1jb3VudDpub3QoLm5nLWhpZGUpJyk7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb3VudCArPSBwYXJzZUludChlbGVtZW50c1tpXS5pbm5lckhUTUwudHJpbSgpLCAxMCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNldCBGcmFueiBiYWRnZVxuICAgICAgICBGcmFuei5zZXRCYWRnZShjb3VudCk7XG4gICAgfTtcblxuICAgIC8vIGluamVjdCBmcmFuei5jc3Mgc3R5bGVzaGVldFxuICAgIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VydmljZS5jc3MnKSk7XG5cbiAgICAvLyBjaGVjayBmb3IgbmV3IG1lc3NhZ2VzIGV2ZXJ5IHNlY29uZCBhbmQgdXBkYXRlIEZyYW56IGJhZGdlXG4gICAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19 \ No newline at end of file