aboutsummaryrefslogtreecommitdiffstats
path: root/uncompressed/whatsapp/webview.js
diff options
context:
space:
mode:
Diffstat (limited to 'uncompressed/whatsapp/webview.js')
-rw-r--r--uncompressed/whatsapp/webview.js52
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
3const {
4 remote
5} = require('electron');
6
7const path = require('path');
8
9const webContents = remote.getCurrentWebContents();
10const {
11 session
12} = webContents;
13setTimeout(() => {
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);
20window.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
36module.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