diff options
Diffstat (limited to 'recipes/ex-google-voice/webview.js')
-rw-r--r-- | recipes/ex-google-voice/webview.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/recipes/ex-google-voice/webview.js b/recipes/ex-google-voice/webview.js new file mode 100644 index 0000000..1a91455 --- /dev/null +++ b/recipes/ex-google-voice/webview.js | |||
@@ -0,0 +1,26 @@ | |||
1 | "use strict"; | ||
2 | |||
3 | module.exports = Franz => { | ||
4 | function parseQuery(query) { | ||
5 | const el = document.querySelector(query); | ||
6 | return el && parseInt(el.innerHTML) || 0; | ||
7 | } | ||
8 | |||
9 | function getMessages() { | ||
10 | const el = document.querySelector('.msgCount'); | ||
11 | let count; | ||
12 | |||
13 | if (el) { | ||
14 | count = parseInt(el.innerHTML.replace(/[\(\) ]/gi, '')) || 0; | ||
15 | } else { | ||
16 | const count_messages = parseQuery('gv-nav-tab[tooltip="Messages"] div[aria-label="Unread count"]'); | ||
17 | const count_calls = parseQuery('gv-nav-tab[tooltip="Calls"] div[aria-label="Unread count"]'); | ||
18 | const count_voicemails = parseQuery('gv-nav-tab[tooltip="Voicemail"] div[aria-label="Unread count"]'); | ||
19 | count = count_messages + count_calls + count_voicemails; | ||
20 | } | ||
21 | |||
22 | Franz.setBadge(count); | ||
23 | } | ||
24 | |||
25 | Franz.loop(getMessages); | ||
26 | }; \ No newline at end of file | ||