diff options
Diffstat (limited to 'uncompressed/whatsapp/webview.js')
-rw-r--r-- | uncompressed/whatsapp/webview.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/uncompressed/whatsapp/webview.js b/uncompressed/whatsapp/webview.js new file mode 100644 index 0000000..958808e --- /dev/null +++ b/uncompressed/whatsapp/webview.js | |||
@@ -0,0 +1,52 @@ | |||
1 | "use strict"; | ||
2 | |||
3 | const { | ||
4 | remote | ||
5 | } = require('electron'); | ||
6 | |||
7 | const path = require('path'); | ||
8 | |||
9 | const webContents = remote.getCurrentWebContents(); | ||
10 | const { | ||
11 | session | ||
12 | } = webContents; | ||
13 | setTimeout(() => { | ||
14 | const elem = document.querySelector('.landing-title.version-title'); | ||
15 | |||
16 | if (elem && elem.innerText.toLowerCase().includes('google chrome')) { | ||
17 | window.location.reload(); | ||
18 | } | ||
19 | }, 1000); | ||
20 | window.addEventListener('beforeunload', async () => { | ||
21 | try { | ||
22 | session.flushStorageData(); | ||
23 | session.clearStorageData({ | ||
24 | storages: ['appcache', 'serviceworkers', 'cachestorage', 'websql', 'indexdb'] | ||
25 | }); | ||
26 | const registrations = await window.navigator.serviceWorker.getRegistrations(); | ||
27 | registrations.forEach(r => { | ||
28 | r.unregister(); | ||
29 | console.log('ServiceWorker unregistered'); | ||
30 | }); | ||
31 | } catch (err) { | ||
32 | console.err(err); | ||
33 | } | ||
34 | }); | ||
35 | |||
36 | module.exports = Franz => { | ||
37 | const getMessages = function getMessages() { | ||
38 | const elements = document.querySelectorAll('.CxUIE, .unread, ._0LqQ'); | ||
39 | let count = 0; | ||
40 | |||
41 | for (let i = 0; i < elements.length; i += 1) { | ||
42 | if (elements[i].querySelectorAll('.P6z4j').length === 1 && elements[i].querySelectorAll('*[data-icon="muted"]').length === 0) { | ||
43 | count += 1; | ||
44 | } | ||
45 | } | ||
46 | |||
47 | Franz.setBadge(count); | ||
48 | }; | ||
49 | |||
50 | Franz.injectCSS(path.join(__dirname, 'service.css')); | ||
51 | Franz.loop(getMessages); | ||
52 | }; \ No newline at end of file | ||