aboutsummaryrefslogtreecommitdiffstats
path: root/uncompressed/workplace/webview.js
diff options
context:
space:
mode:
Diffstat (limited to 'uncompressed/workplace/webview.js')
-rw-r--r--uncompressed/workplace/webview.js47
1 files changed, 41 insertions, 6 deletions
diff --git a/uncompressed/workplace/webview.js b/uncompressed/workplace/webview.js
index c1df892..a26515e 100644
--- a/uncompressed/workplace/webview.js
+++ b/uncompressed/workplace/webview.js
@@ -1,16 +1,51 @@
1'use strict'; 1"use strict";
2 2
3const path = require('path'); 3const path = require('path');
4 4
5module.exports = Franz => { 5module.exports = Franz => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const $messages = document.querySelector('.uiScrollableAreaContent'); 7 let direct = 0;
8 const $unreadMessages = $messages.querySelectorAll('._1ht3 ._1ht6'); 8 let indirect = 0;
9 const chatsElement = document.querySelector('#chats');
10 const notifications = document.querySelector('#notifications span span');
9 11
10 Franz.setBadge($unreadMessages.length); 12 if (notifications) {
13 indirect = parseInt(notifications.innerText, 10);
14 }
15
16 if (chatsElement) {
17 if (!chatsElement.hasAttribute('aria-current')) {
18 const chatMessages = chatsElement.querySelector('span');
19
20 if (chatMessages) {
21 direct = parseInt(chatMessages.innerText, 10);
22 }
23 } else {
24 direct = document.querySelectorAll('[data-pagelet="WorkGalahadChannel"] .uiList [role="gridcell"] [role="button"] .oxk9n0fw').length;
25 }
26 }
27
28 Franz.setBadge(direct, indirect);
11 }; 29 };
12 30
13 Franz.injectCSS(path.join(__dirname, 'workplace.css')); 31 Franz.injectCSS(path.join(__dirname, 'workplace.css'));
14 Franz.loop(getMessages); 32 Franz.loop(getMessages);
15}; 33 localStorage._cs_desktopNotifsEnabled = JSON.stringify({
16//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndvcmtwbGFjZS93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbInBhdGgiLCJyZXF1aXJlIiwibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCIkbWVzc2FnZXMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCIkdW5yZWFkTWVzc2FnZXMiLCJxdWVyeVNlbGVjdG9yQWxsIiwic2V0QmFkZ2UiLCJsZW5ndGgiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxPQUFPQyxRQUFRLE1BQVIsQ0FBYjs7QUFFQUMsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsTUFBTTtBQUN4QixVQUFNQyxZQUFZQyxTQUFTQyxhQUFULENBQXVCLDBCQUF2QixDQUFsQjtBQUNBLFVBQU1DLGtCQUFrQkgsVUFBVUksZ0JBQVYsQ0FBMkIsZUFBM0IsQ0FBeEI7O0FBRUFOLFVBQU1PLFFBQU4sQ0FBZUYsZ0JBQWdCRyxNQUEvQjtBQUNELEdBTEQ7O0FBT0FSLFFBQU1TLFNBQU4sQ0FBZ0JiLEtBQUtjLElBQUwsQ0FBVUMsU0FBVixFQUFxQixlQUFyQixDQUFoQjtBQUNBWCxRQUFNWSxJQUFOLENBQVdYLFdBQVg7QUFDRCxDQVZEIiwiZmlsZSI6IndvcmtwbGFjZS93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSAoKSA9PiB7XG4gICAgY29uc3QgJG1lc3NhZ2VzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnVpU2Nyb2xsYWJsZUFyZWFDb250ZW50Jyk7XG4gICAgY29uc3QgJHVucmVhZE1lc3NhZ2VzID0gJG1lc3NhZ2VzLnF1ZXJ5U2VsZWN0b3JBbGwoJy5fMWh0MyAuXzFodDYnKTtcblxuICAgIEZyYW56LnNldEJhZGdlKCR1bnJlYWRNZXNzYWdlcy5sZW5ndGgpO1xuICB9O1xuXG4gIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnd29ya3BsYWNlLmNzcycpKTtcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19 \ No newline at end of file 34 __t: new Date().getTime(),
35 __v: true
36 });
37
38 if (typeof Franz.onNotify === 'function') {
39 Franz.onNotify(notification => {
40 if (typeof notification.title !== 'string') {
41 notification.title = ((notification.title.props || {}).content || [])[0] || 'Work Chat';
42 }
43
44 if (typeof notification.options.body !== 'string') {
45 notification.options.body = (((notification.options.body || {}).props || {}).content || [])[0] || '';
46 }
47
48 return notification;
49 });
50 }
51}; \ No newline at end of file