aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/android-messages
diff options
context:
space:
mode:
authorLibravatar Bennett <hello@vantezzen.io>2020-09-22 20:56:48 +0200
committerLibravatar GitHub <noreply@github.com>2020-09-22 19:56:48 +0100
commit6f5e4a00588aefdda7a5a1cfe70935870e7e234a (patch)
tree9e29aa7aa0620a1a4a968ff8739b4b8ba96791a9 /recipes/android-messages
parentUpdated logos for Outlook/OWA (diff)
downloadferdium-recipes-6f5e4a00588aefdda7a5a1cfe70935870e7e234a.tar.gz
ferdium-recipes-6f5e4a00588aefdda7a5a1cfe70935870e7e234a.tar.zst
ferdium-recipes-6f5e4a00588aefdda7a5a1cfe70935870e7e234a.zip
Unpack recipes and update recipes icons (#292)
Co-authored-by: Amine Mouafik <amine@mouafik.fr>
Diffstat (limited to 'recipes/android-messages')
-rw-r--r--recipes/android-messages/README.md5
-rw-r--r--recipes/android-messages/icon.pngbin0 -> 69083 bytes
-rw-r--r--recipes/android-messages/icon.svg33
-rw-r--r--recipes/android-messages/index.js3
-rw-r--r--recipes/android-messages/package.json13
-rw-r--r--recipes/android-messages/webview.js47
6 files changed, 101 insertions, 0 deletions
diff --git a/recipes/android-messages/README.md b/recipes/android-messages/README.md
new file mode 100644
index 0000000..2e97dd1
--- /dev/null
+++ b/recipes/android-messages/README.md
@@ -0,0 +1,5 @@
1# Android Messages for Franz
2This is a Franz recipe for Android Messages
3
4### How to create your own Franz recipes:
5* [Read the documentation](https://github.com/meetfranz/plugins)
diff --git a/recipes/android-messages/icon.png b/recipes/android-messages/icon.png
new file mode 100644
index 0000000..da37875
--- /dev/null
+++ b/recipes/android-messages/icon.png
Binary files differ
diff --git a/recipes/android-messages/icon.svg b/recipes/android-messages/icon.svg
new file mode 100644
index 0000000..ec56084
--- /dev/null
+++ b/recipes/android-messages/icon.svg
@@ -0,0 +1,33 @@
1<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" width="36" height="36">
2 <defs>
3 <ellipse id="a" cx="17.398" cy="17.34" rx="17.398" ry="17.34" />
4 <linearGradient id="b" x1="30.41%" y1="26.181%" x2="87.592%" y2="86.514%">
5 <stop stop-color="#262626" stop-opacity="0.2" offset="0%" />
6 <stop stop-color="#262626" stop-opacity="0.02" offset="100%" />
7 </linearGradient>
8 <radialGradient id="d" gradientTransform="scale(0.99664)" cx="22.727%" cy="13.068%" r="379.282%" fx="22.727%" fy="13.068%">
9 <stop stop-color="#fff" stop-opacity="0.1" offset="0%" />
10 <stop stop-color="#fff" stop-opacity="0" offset="100%" />
11 </radialGradient>
12 </defs>
13 <g fill="none" fill-rule="evenodd">
14 <path d="M -1 -1 h 38 v 38 H -1 Z" />
15 <g transform="translate(0.582 0.583)">
16 <mask id="c" fill="#fff">
17 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#a" />
18 </mask>
19 <use fill="#2a56c6" fill-rule="nonzero"
20 xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#a" />
21 <path fill="url(#b)" fill-rule="nonzero" mask="url(&quot;#c&quot;)" d="M 18.782 34.68 L 8.304 24.236 L 25.9 9.656 l 8.897 9.063 v 15.96" />
22 <g fill-opacity="0.2" fill-rule="nonzero">
23 <path fill="#fff" d="M 17.398 0.177 c 9.57 0 17.34 7.724 17.4 17.26 v -0.097 c 0 -9.576 -7.79 -17.34 -17.4 -17.34 C 7.79 0 0 7.764 0 17.34 v 0.098 C 0.06 7.9 7.81 0.178 17.398 0.178 Z" />
24 <path fill="#263238" d="M 17.398 34.502 c 9.57 0 17.34 -7.724 17.4 -17.26 v 0.098 c 0 9.576 -7.79 17.34 -17.4 17.34 C 7.79 34.68 0 26.916 0 17.34 v -0.1 c 0.06 9.538 7.81 17.262 17.398 17.262 Z" />
25 </g>
26 <path fill="#f1f1f1" fill-rule="nonzero" d="M 22.934 8.67 H 5.16 c -0.632 0 -1.028 0.71 -0.672 1.24 l 2.63 4.06 v 7.31 c 0 2.602 2.135 4.73 4.744 4.73 h 11.072 c 2.61 0 4.745 -2.128 4.745 -4.73 V 13.4 c 0 -2.602 -2.14 -4.73 -4.75 -4.73 Z" />
27 <path opacity="0.1" fill="#000" fill-rule="nonzero" d="M 7.117 13.97 l -2.63 -4.06 c -0.078 -0.097 -0.118 -0.215 -0.118 -0.334 c -0.02 0.178 0.02 0.375 0.11 0.532 l 2.63 4.06 v -0.198 Z m 15.817 12.04 H 11.862 c -2.61 0 -4.745 -2.128 -4.745 -4.73 v 0.198 c 0 2.6 2.136 4.73 4.745 4.73 h 11.072 c 2.61 0 4.745 -2.13 4.745 -4.73 v -0.197 c 0 2.61 -2.14 4.73 -4.75 4.73 Z" />
28 <path opacity="0.2" fill="#fff" fill-rule="nonzero" d="M 22.934 8.67 H 5.16 c -0.514 0 -0.87 0.453 -0.81 0.906 c 0.06 -0.374 0.375 -0.71 0.81 -0.71 h 17.774 c 2.61 0 4.745 2.13 4.745 4.73 V 13.4 c 0 -2.602 -2.14 -4.73 -4.75 -4.73 Z" />
29 <path fill="#bdbdbd" fill-rule="nonzero" d="M 23.725 17.34 c 0 0.65 -0.534 1.182 -1.186 1.182 H 12.25 c -0.653 0 -1.186 -0.532 -1.186 -1.182 c 0 -0.65 0.533 -1.182 1.186 -1.182 h 10.28 c 0.653 0 1.187 0.532 1.187 1.182 Z m -4.745 3.94 c 0 0.65 -0.534 1.183 -1.186 1.183 h -5.536 c -0.653 0 -1.186 -0.532 -1.186 -1.182 c 0 -0.65 0.533 -1.18 1.186 -1.18 h 5.536 c 0.652 0 1.186 0.53 1.186 1.18 Z m 4.745 -7.88 c 0 0.65 -0.534 1.18 -1.186 1.18 H 12.25 c -0.653 0 -1.186 -0.53 -1.186 -1.18 c 0 -0.65 0.533 -1.183 1.186 -1.183 h 10.28 c 0.653 0 1.187 0.532 1.187 1.182 Z" />
30 <ellipse fill="url(#d)" fill-rule="nonzero" cx="17.398" cy="17.34" rx="17.398" ry="17.34" />
31 </g>
32 </g>
33</svg> \ No newline at end of file
diff --git a/recipes/android-messages/index.js b/recipes/android-messages/index.js
new file mode 100644
index 0000000..e8243fb
--- /dev/null
+++ b/recipes/android-messages/index.js
@@ -0,0 +1,3 @@
1"use strict";
2
3module.exports = Franz => Franz; \ No newline at end of file
diff --git a/recipes/android-messages/package.json b/recipes/android-messages/package.json
new file mode 100644
index 0000000..9ff5d0a
--- /dev/null
+++ b/recipes/android-messages/package.json
@@ -0,0 +1,13 @@
1{
2 "id": "android-messages",
3 "name": "Android Messages",
4 "version": "1.3.0",
5 "description": "Android Messages",
6 "main": "index.js",
7 "author": "Daniel Weinberger, Stefan Malzner <stefan@adlk.io>",
8 "license": "MIT",
9 "config": {
10 "serviceURL": "https://messages.google.com/web",
11 "hasNotificationSound": true
12 }
13}
diff --git a/recipes/android-messages/webview.js b/recipes/android-messages/webview.js
new file mode 100644
index 0000000..7c8e004
--- /dev/null
+++ b/recipes/android-messages/webview.js
@@ -0,0 +1,47 @@
1"use strict";
2
3const {
4 remote
5} = require('electron');
6
7const webContents = remote.getCurrentWebContents();
8const {
9 session
10} = webContents;
11setTimeout(() => {
12 const elem = document.querySelector('#af-error-container');
13
14 if (elem && elem.innerText.toLowerCase().includes('the requested url was not found on this server')) {
15 window.location.reload();
16 }
17}, 1000);
18window.addEventListener('beforeunload', async () => {
19 try {
20 session.flushStorageData();
21 session.clearStorageData({
22 storages: ['appcache', 'serviceworkers', 'cachestorage', 'websql', 'indexdb']
23 });
24 const registrations = await window.navigator.serviceWorker.getRegistrations();
25 registrations.forEach(r => {
26 r.unregister();
27 console.log('ServiceWorker unregistered');
28 });
29 } catch (err) {
30 console.err(err);
31 }
32});
33
34module.exports = (Franz, settings) => {
35 function getMessages() {
36 const messages = document.querySelectorAll('.text-content.unread').length;
37 Franz.setBadge(messages);
38 }
39
40 if (settings.isDarkModeEnabled) {
41 localStorage.setItem('dark_mode_enabled', 'true');
42 } else {
43 localStorage.setItem('dark_mode_enabled', 'false');
44 }
45
46 Franz.loop(getMessages);
47}; \ No newline at end of file