From 728d339739b63e9bb59e457e4a84fe9a65b93fc9 Mon Sep 17 00:00:00 2001 From: vantezzen Date: Sat, 28 Sep 2019 12:10:25 +0200 Subject: Add uncompressed recipes --- uncompressed/whatsapp/README.md | 5 ++++ uncompressed/whatsapp/icon.svg | 1 + uncompressed/whatsapp/index.js | 8 ++++++ uncompressed/whatsapp/package.json | 13 ++++++++++ uncompressed/whatsapp/service.css | 5 ++++ uncompressed/whatsapp/webview.js | 52 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 84 insertions(+) create mode 100644 uncompressed/whatsapp/README.md create mode 100644 uncompressed/whatsapp/icon.svg create mode 100644 uncompressed/whatsapp/index.js create mode 100644 uncompressed/whatsapp/package.json create mode 100644 uncompressed/whatsapp/service.css create mode 100644 uncompressed/whatsapp/webview.js (limited to 'uncompressed/whatsapp') diff --git a/uncompressed/whatsapp/README.md b/uncompressed/whatsapp/README.md new file mode 100644 index 0000000..4a7e91f --- /dev/null +++ b/uncompressed/whatsapp/README.md @@ -0,0 +1,5 @@ +# WhatsApp for Franz +This is the official Franz recipe for WhatsApp + +### How to create your own Franz recipes: +* [Read the documentation](https://github.com/meetfranz/plugins) diff --git a/uncompressed/whatsapp/icon.svg b/uncompressed/whatsapp/icon.svg new file mode 100644 index 0000000..a527cea --- /dev/null +++ b/uncompressed/whatsapp/icon.svg @@ -0,0 +1 @@ +icon \ No newline at end of file diff --git a/uncompressed/whatsapp/index.js b/uncompressed/whatsapp/index.js new file mode 100644 index 0000000..dd10055 --- /dev/null +++ b/uncompressed/whatsapp/index.js @@ -0,0 +1,8 @@ +"use strict"; + +module.exports = Franz => class Messenger extends Franz { + overrideUserAgent() { + return window.navigator.userAgent.replace(/(Franz|Electron)([^\s]+\s)/g, ''); + } + +}; \ No newline at end of file diff --git a/uncompressed/whatsapp/package.json b/uncompressed/whatsapp/package.json new file mode 100644 index 0000000..5ac1839 --- /dev/null +++ b/uncompressed/whatsapp/package.json @@ -0,0 +1,13 @@ +{ + "id": "whatsapp", + "name": "WhatsApp", + "version": "1.0.17", + "description": "WhatsApp", + "main": "index.js", + "author": "Stefan Malzner ", + "license": "MIT", + "config": { + "serviceURL": "https://web.whatsapp.com", + "hasNotificationSound": true + } +} diff --git a/uncompressed/whatsapp/service.css b/uncompressed/whatsapp/service.css new file mode 100644 index 0000000..b453fd4 --- /dev/null +++ b/uncompressed/whatsapp/service.css @@ -0,0 +1,5 @@ +.app-wrapper-web .app { + width: 100% !important; + height: 100% !important; + top: 0 !important; +} 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 @@ +"use strict"; + +const { + remote +} = require('electron'); + +const path = require('path'); + +const webContents = remote.getCurrentWebContents(); +const { + session +} = webContents; +setTimeout(() => { + const elem = document.querySelector('.landing-title.version-title'); + + if (elem && elem.innerText.toLowerCase().includes('google chrome')) { + window.location.reload(); + } +}, 1000); +window.addEventListener('beforeunload', async () => { + try { + session.flushStorageData(); + session.clearStorageData({ + storages: ['appcache', 'serviceworkers', 'cachestorage', 'websql', 'indexdb'] + }); + const registrations = await window.navigator.serviceWorker.getRegistrations(); + registrations.forEach(r => { + r.unregister(); + console.log('ServiceWorker unregistered'); + }); + } catch (err) { + console.err(err); + } +}); + +module.exports = Franz => { + const getMessages = function getMessages() { + const elements = document.querySelectorAll('.CxUIE, .unread, ._0LqQ'); + let count = 0; + + for (let i = 0; i < elements.length; i += 1) { + if (elements[i].querySelectorAll('.P6z4j').length === 1 && elements[i].querySelectorAll('*[data-icon="muted"]').length === 0) { + count += 1; + } + } + + Franz.setBadge(count); + }; + + Franz.injectCSS(path.join(__dirname, 'service.css')); + Franz.loop(getMessages); +}; \ No newline at end of file -- cgit v1.2.3-70-g09d2