aboutsummaryrefslogtreecommitdiffstats
path: root/recipes
diff options
context:
space:
mode:
authorLibravatar Bernhard <bernhard@kralofsky.com>2022-06-07 13:58:02 +0200
committerLibravatar GitHub <noreply@github.com>2022-06-07 12:58:02 +0100
commit88b09033d1ecd84ef77f7ba1297fbfd6f884fc96 (patch)
tree87273ac412a5f5aacbd64248a155e2e74ec745bc /recipes
parentUpgrade 'pnpm' to '7.1.7' (diff)
downloadferdium-recipes-88b09033d1ecd84ef77f7ba1297fbfd6f884fc96.tar.gz
ferdium-recipes-88b09033d1ecd84ef77f7ba1297fbfd6f884fc96.tar.zst
ferdium-recipes-88b09033d1ecd84ef77f7ba1297fbfd6f884fc96.zip
[Gmail] Add support for priority inbox
Diffstat (limited to 'recipes')
-rw-r--r--recipes/gmail/package.json2
-rw-r--r--recipes/gmail/webview.js21
2 files changed, 16 insertions, 7 deletions
diff --git a/recipes/gmail/package.json b/recipes/gmail/package.json
index dfbb834..518f856 100644
--- a/recipes/gmail/package.json
+++ b/recipes/gmail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "gmail", 2 "id": "gmail",
3 "name": "Gmail", 3 "name": "Gmail",
4 "version": "1.5.0", 4 "version": "1.5.1",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.google.com" 7 "serviceURL": "https://mail.google.com"
diff --git a/recipes/gmail/webview.js b/recipes/gmail/webview.js
index be22b66..fb8cf76 100644
--- a/recipes/gmail/webview.js
+++ b/recipes/gmail/webview.js
@@ -15,8 +15,8 @@ module.exports = Ferdium => {
15 } 15 }
16 16
17 const getMessages = () => { 17 const getMessages = () => {
18 let count = 0; 18 let countImportant = 0;
19 19 let countNonImportant = 0;
20 const inboxLinks = document.querySelectorAll('.J-Ke.n0'); 20 const inboxLinks = document.querySelectorAll('.J-Ke.n0');
21 if (inboxLinks.length > 0) { 21 if (inboxLinks.length > 0) {
22 let parentNode = inboxLinks[0].parentNode; 22 let parentNode = inboxLinks[0].parentNode;
@@ -25,14 +25,23 @@ module.exports = Ferdium => {
25 if (parentNodeOfParentNode) { 25 if (parentNodeOfParentNode) {
26 const unreadCounts = parentNodeOfParentNode.querySelectorAll('.bsU'); 26 const unreadCounts = parentNodeOfParentNode.querySelectorAll('.bsU');
27 if (unreadCounts.length > 0) { 27 if (unreadCounts.length > 0) {
28 count = Ferdium.safeParseInt(unreadCounts[0].textContent.replace(/[^\p{N}]/gu, '')); 28 let unreadCount = unreadCounts[0].textContent;
29 if (unreadCount.includes(':')) {
30 let counts = unreadCount
31 .split(':')
32 .map(s => Ferdium.safeParseInt(s.replace(/[^\p{N}]/gu, '')));
33 countImportant = counts[0];
34 countNonImportant = counts[1] - counts[0];
35 } else {
36 countImportant = Ferdium.safeParseInt(
37 unreadCount.replace(/[^\p{N}]/gu, ''),
38 );
39 }
29 } 40 }
30 } 41 }
31 } 42 }
32 } 43 }
33 44 Ferdium.setBadge(countImportant, countNonImportant);
34 // set Ferdium badge
35 Ferdium.setBadge(count);
36 }; 45 };
37 46
38 Ferdium.loop(getMessages); 47 Ferdium.loop(getMessages);