From 8a0971ff9f41fdaa1af15e88740ce9479e1ec6ea Mon Sep 17 00:00:00 2001 From: Vijay A Date: Sun, 20 Jun 2021 11:08:00 +0530 Subject: Added new services - 'air-droid' - 'basecamp' - 'box' - 'buffer' - 'chatra' - 'easy-redmine' - 'feedbin' - 'iCloud' - 'jollor' - 'nomadlist' - 'paymo' - 'pivotal-tracker' - 'plan' - 'podio' - 'protonet' - 'teamleader' --- all.json | 176 ++++ recipes/air-droid/icon.png | Bin 0 -> 145896 bytes recipes/air-droid/icon.svg | 288 +++++++ recipes/air-droid/index.js | 1 + recipes/air-droid/package.json | 24 + recipes/air-droid/webview.js | 14 + recipes/basecamp/css/modal.css | 37 + recipes/basecamp/icon.png | Bin 0 -> 471352 bytes recipes/basecamp/icon.svg | 12 + recipes/basecamp/index.js | 2 + recipes/basecamp/package.json | 24 + recipes/basecamp/webview.js | 59 ++ recipes/box/icon.png | Bin 0 -> 459295 bytes recipes/box/icon.svg | 99 +++ recipes/box/index.js | 1 + recipes/box/package.json | 24 + recipes/box/webview.js | 3 + recipes/buffer/css/franz.css | 3 + recipes/buffer/icon.png | Bin 0 -> 178881 bytes recipes/buffer/icon.svg | 105 +++ recipes/buffer/index.js | 2 + recipes/buffer/package.json | 24 + recipes/buffer/webview.js | 6 + recipes/chatra/icon.png | Bin 0 -> 463730 bytes recipes/chatra/icon.svg | 3 + recipes/chatra/index.js | 2 + recipes/chatra/package.json | 24 + recipes/chatra/webview.js | 19 + recipes/easy-redmine/icon.png | Bin 0 -> 80933 bytes recipes/easy-redmine/icon.svg | 1462 ++++++++++++++++++++++++++++++++++ recipes/easy-redmine/index.js | 1 + recipes/easy-redmine/package.json | 30 + recipes/easy-redmine/webview.js | 3 + recipes/feedbin/icon.png | Bin 0 -> 117502 bytes recipes/feedbin/icon.svg | 12 + recipes/feedbin/index.js | 1 + recipes/feedbin/package.json | 24 + recipes/feedbin/webview.js | 8 + recipes/iCloud/icon.png | Bin 0 -> 183863 bytes recipes/iCloud/icon.svg | 1 + recipes/iCloud/index.js | 1 + recipes/iCloud/package.json | 24 + recipes/iCloud/webview.js | 2 + recipes/jollor/css/franz.css | 3 + recipes/jollor/icon.png | Bin 0 -> 46703 bytes recipes/jollor/icon.svg | 23 + recipes/jollor/index.js | 2 + recipes/jollor/package.json | 24 + recipes/jollor/webview.js | 12 + recipes/nomadlist/icon.png | Bin 0 -> 37080 bytes recipes/nomadlist/icon.svg | 8 + recipes/nomadlist/index.js | 2 + recipes/nomadlist/package.json | 24 + recipes/nomadlist/webview.js | 21 + recipes/paymoapp/icon.png | Bin 0 -> 237512 bytes recipes/paymoapp/icon.svg | 17 + recipes/paymoapp/index.js | 1 + recipes/paymoapp/package.json | 24 + recipes/paymoapp/webview.js | 1 + recipes/pivotal-tracker/icon.png | Bin 0 -> 99243 bytes recipes/pivotal-tracker/icon.svg | 7 + recipes/pivotal-tracker/index.js | 1 + recipes/pivotal-tracker/package.json | 24 + recipes/pivotal-tracker/webview.js | 13 + recipes/plan/icon.png | Bin 0 -> 131997 bytes recipes/plan/icon.svg | 15 + recipes/plan/index.js | 2 + recipes/plan/package.json | 24 + recipes/plan/webview.js | 3 + recipes/podio/css/franz.css | 22 + recipes/podio/icon.png | Bin 0 -> 143907 bytes recipes/podio/icon.svg | 1 + recipes/podio/index.js | 2 + recipes/podio/package.json | 24 + recipes/podio/webview.js | 22 + recipes/protonet/icon.png | Bin 0 -> 91473 bytes recipes/protonet/icon.svg | 1 + recipes/protonet/index.js | 1 + recipes/protonet/package.json | 28 + recipes/protonet/webview.js | 10 + recipes/teamleader/icon.png | Bin 0 -> 77210 bytes recipes/teamleader/icon.svg | 487 +++++++++++ recipes/teamleader/index.js | 1 + recipes/teamleader/package.json | 24 + recipes/teamleader/webview.js | 13 + 85 files changed, 3408 insertions(+) create mode 100644 recipes/air-droid/icon.png create mode 100644 recipes/air-droid/icon.svg create mode 100644 recipes/air-droid/index.js create mode 100644 recipes/air-droid/package.json create mode 100644 recipes/air-droid/webview.js create mode 100644 recipes/basecamp/css/modal.css create mode 100644 recipes/basecamp/icon.png create mode 100644 recipes/basecamp/icon.svg create mode 100644 recipes/basecamp/index.js create mode 100644 recipes/basecamp/package.json create mode 100644 recipes/basecamp/webview.js create mode 100644 recipes/box/icon.png create mode 100644 recipes/box/icon.svg create mode 100644 recipes/box/index.js create mode 100644 recipes/box/package.json create mode 100644 recipes/box/webview.js create mode 100644 recipes/buffer/css/franz.css create mode 100644 recipes/buffer/icon.png create mode 100644 recipes/buffer/icon.svg create mode 100644 recipes/buffer/index.js create mode 100644 recipes/buffer/package.json create mode 100644 recipes/buffer/webview.js create mode 100644 recipes/chatra/icon.png create mode 100644 recipes/chatra/icon.svg create mode 100644 recipes/chatra/index.js create mode 100644 recipes/chatra/package.json create mode 100644 recipes/chatra/webview.js create mode 100644 recipes/easy-redmine/icon.png create mode 100644 recipes/easy-redmine/icon.svg create mode 100644 recipes/easy-redmine/index.js create mode 100644 recipes/easy-redmine/package.json create mode 100644 recipes/easy-redmine/webview.js create mode 100644 recipes/feedbin/icon.png create mode 100644 recipes/feedbin/icon.svg create mode 100644 recipes/feedbin/index.js create mode 100644 recipes/feedbin/package.json create mode 100644 recipes/feedbin/webview.js create mode 100644 recipes/iCloud/icon.png create mode 100644 recipes/iCloud/icon.svg create mode 100644 recipes/iCloud/index.js create mode 100644 recipes/iCloud/package.json create mode 100644 recipes/iCloud/webview.js create mode 100644 recipes/jollor/css/franz.css create mode 100644 recipes/jollor/icon.png create mode 100644 recipes/jollor/icon.svg create mode 100644 recipes/jollor/index.js create mode 100644 recipes/jollor/package.json create mode 100644 recipes/jollor/webview.js create mode 100644 recipes/nomadlist/icon.png create mode 100644 recipes/nomadlist/icon.svg create mode 100644 recipes/nomadlist/index.js create mode 100644 recipes/nomadlist/package.json create mode 100644 recipes/nomadlist/webview.js create mode 100644 recipes/paymoapp/icon.png create mode 100644 recipes/paymoapp/icon.svg create mode 100644 recipes/paymoapp/index.js create mode 100644 recipes/paymoapp/package.json create mode 100644 recipes/paymoapp/webview.js create mode 100644 recipes/pivotal-tracker/icon.png create mode 100644 recipes/pivotal-tracker/icon.svg create mode 100644 recipes/pivotal-tracker/index.js create mode 100644 recipes/pivotal-tracker/package.json create mode 100644 recipes/pivotal-tracker/webview.js create mode 100644 recipes/plan/icon.png create mode 100644 recipes/plan/icon.svg create mode 100644 recipes/plan/index.js create mode 100644 recipes/plan/package.json create mode 100644 recipes/plan/webview.js create mode 100644 recipes/podio/css/franz.css create mode 100644 recipes/podio/icon.png create mode 100644 recipes/podio/icon.svg create mode 100644 recipes/podio/index.js create mode 100644 recipes/podio/package.json create mode 100644 recipes/podio/webview.js create mode 100644 recipes/protonet/icon.png create mode 100644 recipes/protonet/icon.svg create mode 100755 recipes/protonet/index.js create mode 100755 recipes/protonet/package.json create mode 100755 recipes/protonet/webview.js create mode 100644 recipes/teamleader/icon.png create mode 100644 recipes/teamleader/icon.svg create mode 100644 recipes/teamleader/index.js create mode 100644 recipes/teamleader/package.json create mode 100644 recipes/teamleader/webview.js diff --git a/all.json b/all.json index f47524d..77f07fe 100644 --- a/all.json +++ b/all.json @@ -1,4 +1,15 @@ [ + { + "author": "David Sipos ", + "featured": false, + "id": "air-droid", + "name": "air-droid", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/air-droid/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/air-droid/icon.svg" + } + }, { "author": "Casey Sparks ", "featured": false, @@ -76,6 +87,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/azure-devops/icon.svg" } }, + { + "author": "", + "featured": false, + "id": "basecamp", + "name": "basecamp", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/basecamp/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/basecamp/icon.svg" + } + }, { "author": "Thomas Fehrenbach", "featured": false, @@ -109,6 +131,28 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bitbucket/icon.svg" } }, + { + "author": "Yitch ", + "featured": false, + "id": "box", + "name": "box", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/box/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/box/icon.svg" + } + }, + { + "author": "Merlin Schumacher ", + "featured": false, + "id": "buffer", + "name": "buffer", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/buffer/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/buffer/icon.svg" + } + }, { "author": "Matthew Toohey", "featured": false, @@ -131,6 +175,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/canvas/icon.svg" } }, + { + "author": "Julien Ma ", + "featured": false, + "id": "chatra", + "name": "chatra", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatra/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatra/icon.svg" + } + }, { "author": "Koma, hideosasaki", "featured": false, @@ -230,6 +285,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/disqus/icon.svg" } }, + { + "author": "Carlos Clavero ", + "featured": false, + "id": "easy-redmine", + "name": "easy-redmine", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/easy-redmine/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/easy-redmine/icon.svg" + } + }, { "author": "Sylvain Cecchetto , Omove <61330514+omove@users.noreply.github.com>, Achim Leitner <1033549+fjl5@users.noreply.github.com>", "featured": false, @@ -318,6 +384,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fastmail/icon.svg" } }, + { + "author": "Kan Fushihara ", + "featured": false, + "id": "feedbin", + "name": "feedbin", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedbin/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedbin/icon.svg" + } + }, { "author": "Patrick Kastner ", "featured": false, @@ -648,6 +725,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hipchat/icon.svg" } }, + { + "author": "Ryan Voltaire ", + "featured": false, + "id": "iCloud", + "name": "iCloud", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iCloud/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iCloud/icon.svg" + } + }, { "author": "Ferdi ", "featured": false, @@ -758,6 +846,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jitsi/icon.svg" } }, + { + "author": "Jan Zaloudek ", + "featured": false, + "id": "jollor", + "name": "jollor", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jollor/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jollor/icon.svg" + } + }, { "author": "Stefan Malzner ", "featured": false, @@ -1044,6 +1143,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/noisli/icon.svg" } }, + { + "author": "Nomad List ", + "featured": false, + "id": "nomadlist", + "name": "nomadlist", + "version": "1.0.2", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nomadlist/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nomadlist/icon.svg" + } + }, { "author": "Tania R. Zuniga ", "featured": false, @@ -1088,6 +1198,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/outlook/icon.svg" } }, + { + "author": "Jasper van Veenhuizen ", + "featured": false, + "id": "paymo", + "name": "paymo", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/paymo/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/paymo/icon.svg" + } + }, { "author": "Ferdi ", "featured": false, @@ -1099,6 +1220,28 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pinterest/icon.svg" } }, + { + "author": "Laszlo Racz ", + "featured": false, + "id": "pivotal-tracker", + "name": "pivotal-tracker", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pivotal-tracker/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pivotal-tracker/icon.svg" + } + }, + { + "author": "jtgrenz ", "featured": false, @@ -1132,6 +1275,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pocket/icon.svg" } }, + { + "author": "Jan Willem Kaper ", + "featured": false, + "id": "podio", + "name": "podio", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/podio/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/podio/icon.svg" + } + }, { "author": "Roman Dąbal ", "featured": false, @@ -1154,6 +1308,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/proton-mail/icon.svg" } }, + { + "author": "Joschka Schulz", + "featured": false, + "id": "protonet", + "name": "protonet", + "version": "1.0.1", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protonet/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protonet/icon.svg" + } + }, { "author": "Serubin ", "featured": false, @@ -1374,6 +1539,17 @@ "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tawk/icon.svg" } }, + { + "author": "Rias Van der Veken ", + "featured": false, + "id": "teamleader", + "name": "teamleader", + "version": "1.0.0", + "icons": { + "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamleader/icon.png", + "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamleader/icon.svg" + } + }, { "author": "Retzudo , Ported by Koma ", "featured": false, diff --git a/recipes/air-droid/icon.png b/recipes/air-droid/icon.png new file mode 100644 index 0000000..d984b68 Binary files /dev/null and b/recipes/air-droid/icon.png differ diff --git a/recipes/air-droid/icon.svg b/recipes/air-droid/icon.svg new file mode 100644 index 0000000..0c95a1c --- /dev/null +++ b/recipes/air-droid/icon.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/recipes/air-droid/index.js b/recipes/air-droid/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/air-droid/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/air-droid/package.json b/recipes/air-droid/package.json new file mode 100644 index 0000000..f13b33c --- /dev/null +++ b/recipes/air-droid/package.json @@ -0,0 +1,24 @@ +{ + "id": "air-droid", + "name": "air-droid", + "version": "1.0.0", + "description": "AirDroid allows you to access and manage your Android phone or tablet from Windows, Mac or the Web, wirelessly, for free. Transfer files between your devices, and share files to your friends.", + "main": "index.js", + "author": "David Sipos ", + "license": "MIT", + "config": { + "serviceURL": "http://web.airdroid.com/", + "serviceName": "AirDroid", + "message": "AirDroid allows you to access and manage your Android phone or tablet from Windows, Mac or the Web, wirelessly, for free. Transfer files between your devices, and share files to your friends.", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/air-droid/webview.js b/recipes/air-droid/webview.js new file mode 100644 index 0000000..a544be5 --- /dev/null +++ b/recipes/air-droid/webview.js @@ -0,0 +1,14 @@ +module.exports = (Franz, options) => { + function getMessages() { + const count = {}; + const FranzData = document.querySelector('#FranzMessages').dataset; + if (FranzData) { + count.count = FranzData.direct; + count.count_indirect = FranzData.indirect; + } + + Franz.setBadge(count); + } + + Franz.loop(getMessages); +} diff --git a/recipes/basecamp/css/modal.css b/recipes/basecamp/css/modal.css new file mode 100644 index 0000000..47e211e --- /dev/null +++ b/recipes/basecamp/css/modal.css @@ -0,0 +1,37 @@ +#franz-modal { + display: none; + position: fixed; + z-index: 9999; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgba(0, 0, 0, 0.8); +} + +#franz-modal .modal-content { + background-color: #fefefe; + margin: 15% auto; + padding: 20px; + border: 1px solid #888; + width: 30%; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +#franz-modal .close { + color: #aaa; + float: right; + margin-top: -10px; + font-size: 20px; + font-weight: bold; +} + +#franz-modal .close:hover, +#franz-modal .close:focus { + color: black; + text-decoration: none; + cursor: pointer; +} diff --git a/recipes/basecamp/icon.png b/recipes/basecamp/icon.png new file mode 100644 index 0000000..960196d Binary files /dev/null and b/recipes/basecamp/icon.png differ diff --git a/recipes/basecamp/icon.svg b/recipes/basecamp/icon.svg new file mode 100644 index 0000000..e5bb15f --- /dev/null +++ b/recipes/basecamp/icon.svg @@ -0,0 +1,12 @@ + + Created by potrace 1.13, written by Peter Selinger 2001-2015 + + + background + + + + Layer 1 + + + \ No newline at end of file diff --git a/recipes/basecamp/index.js b/recipes/basecamp/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/basecamp/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/basecamp/package.json b/recipes/basecamp/package.json new file mode 100644 index 0000000..21e3d3b --- /dev/null +++ b/recipes/basecamp/package.json @@ -0,0 +1,24 @@ +{ + "id": "basecamp", + "name": "basecamp", + "version": "1.0.0", + "description": "Basecamp plugin for ferdi.", + "main": "index.js", + "author": "", + "license": "MIT", + "config": { + "serviceURL": "https://launchpad.37signals.com/", + "serviceName": "Basecamp", + "message": "Basecamp plugin for ferdi.", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/basecamp/webview.js b/recipes/basecamp/webview.js new file mode 100644 index 0000000..2158d0b --- /dev/null +++ b/recipes/basecamp/webview.js @@ -0,0 +1,59 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + let updates = 0; + const modal = document.createElement('div'); + + function showModal (text) { + show(modal); + modal.querySelector('p').innerHTML = text; + updates += 1; + } + + function hideModal () { + hide(modal); + modal.querySelector('p').innerHTML = ''; + updates -= 1; + } + + // Replace window.alert to hide alerts in Franz + const oldAlert = window.alert; + window.alert = function () { + // when Google Calendar displays an alert notify the user + showModal.apply(oldAlert, arguments); + }; + + function show (element) { + element.style.display = 'inherit'; + } + + function hide (element) { + element.style.display = 'none'; + } + + const getMessages = () => { + // get unread messages + //const updates = document.getElementById('franz').getAttribute('data-unread'); + + // get conversations in 'My Inbox' + //const inbox = document.getElementById('franz').getAttribute('data-inbox'); + + // set Franz badge + // updates => passive unread count + // inbox => active unread count + Franz.setBadge(0, updates); + }; + + modal.id = 'franz-modal'; + modal.innerHTML = ''; + modal.querySelector('.close').addEventListener('click', hideModal); + document.body.appendChild(modal); + + document.addEventListener('keydown', function(e) { if (e.keyCode === 27) { hideModal(); } }) + + // inject franz.css stylesheet + Franz.injectCSS(path.join(__dirname, 'css', 'modal.css')); + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; diff --git a/recipes/box/icon.png b/recipes/box/icon.png new file mode 100644 index 0000000..428d7c8 Binary files /dev/null and b/recipes/box/icon.png differ diff --git a/recipes/box/icon.svg b/recipes/box/icon.svg new file mode 100644 index 0000000..cdde911 --- /dev/null +++ b/recipes/box/icon.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/recipes/box/index.js b/recipes/box/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/box/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/box/package.json b/recipes/box/package.json new file mode 100644 index 0000000..f603e96 --- /dev/null +++ b/recipes/box/package.json @@ -0,0 +1,24 @@ +{ + "id": "box", + "name": "box", + "version": "1.0.0", + "description": "Box", + "main": "index.js", + "author": "Yitch ", + "license": "MIT", + "config": { + "serviceURL": "https://account.box.com/login", + "serviceName": "Box", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/box/webview.js b/recipes/box/webview.js new file mode 100644 index 0000000..8d854de --- /dev/null +++ b/recipes/box/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/recipes/buffer/css/franz.css b/recipes/buffer/css/franz.css new file mode 100644 index 0000000..7803f95 --- /dev/null +++ b/recipes/buffer/css/franz.css @@ -0,0 +1,3 @@ +#modal-login-only { + visibility: visible; +} diff --git a/recipes/buffer/icon.png b/recipes/buffer/icon.png new file mode 100644 index 0000000..96f9801 Binary files /dev/null and b/recipes/buffer/icon.png differ diff --git a/recipes/buffer/icon.svg b/recipes/buffer/icon.svg new file mode 100644 index 0000000..d4739ef --- /dev/null +++ b/recipes/buffer/icon.svg @@ -0,0 +1,105 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/recipes/buffer/index.js b/recipes/buffer/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/buffer/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/buffer/package.json b/recipes/buffer/package.json new file mode 100644 index 0000000..b798a09 --- /dev/null +++ b/recipes/buffer/package.json @@ -0,0 +1,24 @@ +{ + "id": "buffer", + "name": "buffer", + "version": "1.0.0", + "description": "Buffer – A better way to share on social media", + "main": "index.js", + "author": "Merlin Schumacher ", + "license": "GPL", + "config": { + "serviceURL": "https://buffer.com", + "serviceName": "Buffer", + "message": "Buffer – A better way to share on social media", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/buffer/webview.js b/recipes/buffer/webview.js new file mode 100644 index 0000000..b1acc10 --- /dev/null +++ b/recipes/buffer/webview.js @@ -0,0 +1,6 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + // inject franz.css stylesheet + Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); +}; diff --git a/recipes/chatra/icon.png b/recipes/chatra/icon.png new file mode 100644 index 0000000..15ab278 Binary files /dev/null and b/recipes/chatra/icon.png differ diff --git a/recipes/chatra/icon.svg b/recipes/chatra/icon.svg new file mode 100644 index 0000000..84b62b4 --- /dev/null +++ b/recipes/chatra/icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/recipes/chatra/index.js b/recipes/chatra/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/chatra/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/chatra/package.json b/recipes/chatra/package.json new file mode 100644 index 0000000..4315771 --- /dev/null +++ b/recipes/chatra/package.json @@ -0,0 +1,24 @@ +{ + "id": "chatra", + "name": "chatra", + "version": "1.0.0", + "description": "Chatra – Live chat software", + "main": "index.js", + "author": "Julien Ma ", + "license": "MIT", + "config": { + "serviceURL": "https://app.chatra.io/", + "serviceName": "Chatra", + "message": "", + "popup": [], + "hasTeamID": false, + "hasNotificationSound": true, + "hasIndirectMessages": true, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "webpreferences": "" + }, + "openDevTools": false + } +} diff --git a/recipes/chatra/webview.js b/recipes/chatra/webview.js new file mode 100644 index 0000000..a8a611c --- /dev/null +++ b/recipes/chatra/webview.js @@ -0,0 +1,19 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + // get new conversations in My Queue + const myQueue = $('.super-nav a.super-nav__item.js-from-super-to-nav[href^="/chat/box:my"] .count').not('.count--gray').text(); + + // get all missed conversations + const missed = $('.super-nav a.super-nav__item.js-from-super-to-nav[href^="/chat/box:missed"] .count').text(); + + // set Franz badge + // myQueue => New conversations in My Queue + // missed => All missed conversations + Franz.setBadge(myQueue, missed); + }; + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; diff --git a/recipes/easy-redmine/icon.png b/recipes/easy-redmine/icon.png new file mode 100644 index 0000000..338f2ee Binary files /dev/null and b/recipes/easy-redmine/icon.png differ diff --git a/recipes/easy-redmine/icon.svg b/recipes/easy-redmine/icon.svg new file mode 100644 index 0000000..0d2bac6 --- /dev/null +++ b/recipes/easy-redmine/icon.svg @@ -0,0 +1,1462 @@ + + + + diff --git a/recipes/easy-redmine/index.js b/recipes/easy-redmine/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/easy-redmine/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/easy-redmine/package.json b/recipes/easy-redmine/package.json new file mode 100644 index 0000000..c77c120 --- /dev/null +++ b/recipes/easy-redmine/package.json @@ -0,0 +1,30 @@ +{ + "id": "easy-redmine", + "name": "easy-redmine", + "version": "1.0.0", + "description": "easy redmine", + "main": "index.js", + "author": "Carlos Clavero ", + "license": "MIT", + "config": { + "serviceURL": "https://{teamID}.easyredmine.com", + "serviceName": "EasyRedmine", + "popup": [ + "^https:\/\/([a-zA-Z0-9\\-]*).easyredmine.com" + ], + "wording": { + "url": "easyredmine.com", + "team": "easyredmine" + }, + "message": "", + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": true, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/easy-redmine/webview.js b/recipes/easy-redmine/webview.js new file mode 100644 index 0000000..8d854de --- /dev/null +++ b/recipes/easy-redmine/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/recipes/feedbin/icon.png b/recipes/feedbin/icon.png new file mode 100644 index 0000000..66ceaf5 Binary files /dev/null and b/recipes/feedbin/icon.png differ diff --git a/recipes/feedbin/icon.svg b/recipes/feedbin/icon.svg new file mode 100644 index 0000000..d2cd251 --- /dev/null +++ b/recipes/feedbin/icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/recipes/feedbin/index.js b/recipes/feedbin/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/feedbin/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/feedbin/package.json b/recipes/feedbin/package.json new file mode 100644 index 0000000..7adf2e0 --- /dev/null +++ b/recipes/feedbin/package.json @@ -0,0 +1,24 @@ +{ + "id": "feedbin", + "name": "feedbin", + "version": "1.0.0", + "description": "feedbin", + "main": "index.js", + "author": "Kan Fushihara ", + "license": "MIT", + "config": { + "serviceURL": "https://feedbin.com/login", + "serviceName": "Feedbin", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/feedbin/webview.js b/recipes/feedbin/webview.js new file mode 100644 index 0000000..f44122a --- /dev/null +++ b/recipes/feedbin/webview.js @@ -0,0 +1,8 @@ +module.exports = (Franz, options) => { + function getMessages() { + const count = feedbin.count_data.unread_entries.length || 0; + Franz.setBadge(count); + } + + Franz.loop(getMessages); +} diff --git a/recipes/iCloud/icon.png b/recipes/iCloud/icon.png new file mode 100644 index 0000000..ef252dd Binary files /dev/null and b/recipes/iCloud/icon.png differ diff --git a/recipes/iCloud/icon.svg b/recipes/iCloud/icon.svg new file mode 100644 index 0000000..4072f9f --- /dev/null +++ b/recipes/iCloud/icon.svg @@ -0,0 +1 @@ + diff --git a/recipes/iCloud/index.js b/recipes/iCloud/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/iCloud/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/iCloud/package.json b/recipes/iCloud/package.json new file mode 100644 index 0000000..1b10374 --- /dev/null +++ b/recipes/iCloud/package.json @@ -0,0 +1,24 @@ +{ + "id": "iCloud", + "name": "iCloud", + "version": "1.0.0", + "description": "iCloud web portal", + "main": "index.js", + "author": "Ryan Voltaire ", + "license": "MIT", + "config": { + "serviceURL": "https://www.icloud.com/", + "serviceName": "iCloud", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/iCloud/webview.js b/recipes/iCloud/webview.js new file mode 100644 index 0000000..a98cfd7 --- /dev/null +++ b/recipes/iCloud/webview.js @@ -0,0 +1,2 @@ +module.exports = (Franz, options) => { +} diff --git a/recipes/jollor/css/franz.css b/recipes/jollor/css/franz.css new file mode 100644 index 0000000..98130d4 --- /dev/null +++ b/recipes/jollor/css/franz.css @@ -0,0 +1,3 @@ +.user-menu-item:last-child { + display: none; +} \ No newline at end of file diff --git a/recipes/jollor/icon.png b/recipes/jollor/icon.png new file mode 100644 index 0000000..2b015ed Binary files /dev/null and b/recipes/jollor/icon.png differ diff --git a/recipes/jollor/icon.svg b/recipes/jollor/icon.svg new file mode 100644 index 0000000..43b4d5a --- /dev/null +++ b/recipes/jollor/icon.svg @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/recipes/jollor/index.js b/recipes/jollor/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/jollor/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/jollor/package.json b/recipes/jollor/package.json new file mode 100644 index 0000000..bb7010c --- /dev/null +++ b/recipes/jollor/package.json @@ -0,0 +1,24 @@ +{ + "id": "jollor", + "name": "jollor", + "version": "1.0.0", + "description": "Jollor - Manage your social media with ease", + "main": "index.js", + "author": "Jan Zaloudek ", + "license": "MIT", + "config": { + "serviceURL": "https://jollor.com", + "serviceName": "Jollor", + "message": "Jollor - Manage your social media with ease", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/jollor/webview.js b/recipes/jollor/webview.js new file mode 100644 index 0000000..6eb6b2a --- /dev/null +++ b/recipes/jollor/webview.js @@ -0,0 +1,12 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + function getMessages() { + const count = document.querySelector(".user-menu-message-item-count").innerHTML; + + Franz.setBadge(count); + } + + Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); + Franz.loop(getMessages); +}; diff --git a/recipes/nomadlist/icon.png b/recipes/nomadlist/icon.png new file mode 100644 index 0000000..c9ab1f2 Binary files /dev/null and b/recipes/nomadlist/icon.png differ diff --git a/recipes/nomadlist/icon.svg b/recipes/nomadlist/icon.svg new file mode 100644 index 0000000..eac833b --- /dev/null +++ b/recipes/nomadlist/icon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/recipes/nomadlist/index.js b/recipes/nomadlist/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/nomadlist/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/nomadlist/package.json b/recipes/nomadlist/package.json new file mode 100644 index 0000000..e2952b9 --- /dev/null +++ b/recipes/nomadlist/package.json @@ -0,0 +1,24 @@ +{ + "id": "nomadlist", + "name": "nomadlist", + "version": "1.0.2", + "description": "Join 10,000+ people in the community for digital nomads and remote workers", + "main": "index.js", + "author": "Nomad List ", + "license": "MIT", + "config": { + "serviceURL": "https://nomadlist.com/chat", + "serviceName": "Nomad List", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": true, + "customURL": true, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/nomadlist/webview.js b/recipes/nomadlist/webview.js new file mode 100644 index 0000000..a754a5f --- /dev/null +++ b/recipes/nomadlist/webview.js @@ -0,0 +1,21 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + // get unread messages + // const updates = document.getElementById('franz').getAttribute('data-unread'); + const count = $(".unread").length; + Franz.setBadge(count); + + // get conversations in 'My Inbox' + // const inbox = document.getElementById('franz').getAttribute('data-inbox'); + + // set Franz badge + // updates => active unread count + // inbox => passive unread count + // Franz.setBadge(updates, inbox); + }; + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; \ No newline at end of file diff --git a/recipes/paymoapp/icon.png b/recipes/paymoapp/icon.png new file mode 100644 index 0000000..10ed4f3 Binary files /dev/null and b/recipes/paymoapp/icon.png differ diff --git a/recipes/paymoapp/icon.svg b/recipes/paymoapp/icon.svg new file mode 100644 index 0000000..006f10e --- /dev/null +++ b/recipes/paymoapp/icon.svg @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/recipes/paymoapp/index.js b/recipes/paymoapp/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/paymoapp/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/paymoapp/package.json b/recipes/paymoapp/package.json new file mode 100644 index 0000000..a53c6f9 --- /dev/null +++ b/recipes/paymoapp/package.json @@ -0,0 +1,24 @@ +{ + "id": "paymo", + "name": "paymo", + "version": "1.0.0", + "description": "Paymoapp", + "main": "index.js", + "author": "Jasper van Veenhuizen ", + "license": "MIT", + "config": { + "serviceURL": "https://app.paymoapp.com/auth/login", + "serviceName": "Paymo", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/paymoapp/webview.js b/recipes/paymoapp/webview.js new file mode 100644 index 0000000..ce3dfb2 --- /dev/null +++ b/recipes/paymoapp/webview.js @@ -0,0 +1 @@ +module.exports = (Franz, options) => {} diff --git a/recipes/pivotal-tracker/icon.png b/recipes/pivotal-tracker/icon.png new file mode 100644 index 0000000..f85f3e9 Binary files /dev/null and b/recipes/pivotal-tracker/icon.png differ diff --git a/recipes/pivotal-tracker/icon.svg b/recipes/pivotal-tracker/icon.svg new file mode 100644 index 0000000..3dbf5c6 --- /dev/null +++ b/recipes/pivotal-tracker/icon.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/recipes/pivotal-tracker/index.js b/recipes/pivotal-tracker/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/pivotal-tracker/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/pivotal-tracker/package.json b/recipes/pivotal-tracker/package.json new file mode 100644 index 0000000..61da261 --- /dev/null +++ b/recipes/pivotal-tracker/package.json @@ -0,0 +1,24 @@ +{ + "id": "pivotal-tracker", + "name": "pivotal-tracker", + "version": "1.0.0", + "description": "Pivotal Tracker", + "main": "index.js", + "author": "Laszlo Racz ", + "license": "MIT", + "config": { + "serviceURL": "https://www.pivotaltracker.com/signin", + "serviceName": "Pivotal Tracker", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/pivotal-tracker/webview.js b/recipes/pivotal-tracker/webview.js new file mode 100644 index 0000000..a550492 --- /dev/null +++ b/recipes/pivotal-tracker/webview.js @@ -0,0 +1,13 @@ +module.exports = (Franz, options) => { + + function getMessages() { + var bell = document.querySelectorAll("#view65 > span")[0]; + + counter = parseInt(bell.innerText); + + Franz.setBadge(counter); + }; + + Franz.loop(getMessages); + +} diff --git a/recipes/plan/icon.png b/recipes/plan/icon.png new file mode 100644 index 0000000..1d69bfa Binary files /dev/null and b/recipes/plan/icon.png differ diff --git a/recipes/plan/icon.svg b/recipes/plan/icon.svg new file mode 100644 index 0000000..8042a7b --- /dev/null +++ b/recipes/plan/icon.svg @@ -0,0 +1,15 @@ + + + + background + + + + Layer 1 + + + + + + + diff --git a/recipes/plan/index.js b/recipes/plan/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/plan/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/plan/package.json b/recipes/plan/package.json new file mode 100644 index 0000000..513297a --- /dev/null +++ b/recipes/plan/package.json @@ -0,0 +1,24 @@ +{ + "id": "plan", + "name": "plan", + "version": "1.0.0", + "description": "Plan is a better way to manage everything you have to do and everywhere you have to be.", + "main": "index.js", + "author": "jtgrenz { + +} diff --git a/recipes/podio/css/franz.css b/recipes/podio/css/franz.css new file mode 100644 index 0000000..b5668ee --- /dev/null +++ b/recipes/podio/css/franz.css @@ -0,0 +1,22 @@ +#header-global { + display: none !important; +} + +.content-container +{ + margin-top: -15px !important; + padding-top: 0px !important; +} + +.settings-trigger { + display: none !important; +} + +.grid { + box-sizing: border-box; + padding: 0 !important; +} + +.grid .grid-column-1-2:last-of-type, .grid .grid-column-1-3:last-of-type, .grid .grid-column-1-4:last-of-type, .grid .grid-column-1:last-of-type, .grid .grid-column-2-3:last-of-type, .grid .grid-column-3-4:last-of-type { + padding-right: -10px !important; +} \ No newline at end of file diff --git a/recipes/podio/icon.png b/recipes/podio/icon.png new file mode 100644 index 0000000..5c20fac Binary files /dev/null and b/recipes/podio/icon.png differ diff --git a/recipes/podio/icon.svg b/recipes/podio/icon.svg new file mode 100644 index 0000000..ca5bc1f --- /dev/null +++ b/recipes/podio/icon.svg @@ -0,0 +1 @@ + diff --git a/recipes/podio/index.js b/recipes/podio/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/podio/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/podio/package.json b/recipes/podio/package.json new file mode 100644 index 0000000..9ed76dd --- /dev/null +++ b/recipes/podio/package.json @@ -0,0 +1,24 @@ +{ + "id": "podio", + "name": "podio", + "version": "1.0.0", + "description": "Podio", + "main": "index.js", + "author": "Jan Willem Kaper ", + "license": "MIT", + "config": { + "serviceURL": "https://podio.com", + "serviceName": "Podio", + "message": "", + "popup": [ + ], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + }, + "openDevTools": false + } +} diff --git a/recipes/podio/webview.js b/recipes/podio/webview.js new file mode 100644 index 0000000..b1ddc4f --- /dev/null +++ b/recipes/podio/webview.js @@ -0,0 +1,22 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + // get unread messages + const updates = document.getElementsByClassName('counter')[0].innerHTML; + + // get conversations in 'My Inbox' + //const inbox = document.getElementById('franz').getAttribute('data-inbox'); + + // set Franz badge + // updates => active unread count + // inbox => passive unread count + Franz.setBadge(updates, 0); + }; + + // inject franz.css stylesheet + Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; diff --git a/recipes/protonet/icon.png b/recipes/protonet/icon.png new file mode 100644 index 0000000..9453735 Binary files /dev/null and b/recipes/protonet/icon.png differ diff --git a/recipes/protonet/icon.svg b/recipes/protonet/icon.svg new file mode 100644 index 0000000..0989981 --- /dev/null +++ b/recipes/protonet/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/recipes/protonet/index.js b/recipes/protonet/index.js new file mode 100755 index 0000000..258da41 --- /dev/null +++ b/recipes/protonet/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/protonet/package.json b/recipes/protonet/package.json new file mode 100755 index 0000000..47c1239 --- /dev/null +++ b/recipes/protonet/package.json @@ -0,0 +1,28 @@ +{ + "id": "protonet", + "name": "protonet", + "version": "1.0.1", + "description": "Protonet", + "main": "index.js", + "author": "Joschka Schulz", + "license": "MIT", + "config": { + "serviceURL": "https://{teamID}.protonet.info", + "serviceName": "Protonet", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": true, + "wording": { + "url": "protonet.info", + "team": "Protonet" + }, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/protonet/webview.js b/recipes/protonet/webview.js new file mode 100755 index 0000000..8b597cf --- /dev/null +++ b/recipes/protonet/webview.js @@ -0,0 +1,10 @@ +module.exports = (Franz, options) => { + const getMessages = () => { + const unreadPrivateMessages = parseInt($(".messages .unread-meeps").text()); + const unreadGroupMessages = parseInt($(".today .unread-meeps").text()); + + Franz.setBadge(unreadPrivateMessages + unreadGroupMessages); + } + + Franz.loop(getMessages); +} diff --git a/recipes/teamleader/icon.png b/recipes/teamleader/icon.png new file mode 100644 index 0000000..d06fc6a Binary files /dev/null and b/recipes/teamleader/icon.png differ diff --git a/recipes/teamleader/icon.svg b/recipes/teamleader/icon.svg new file mode 100644 index 0000000..a3876f2 --- /dev/null +++ b/recipes/teamleader/icon.svg @@ -0,0 +1,487 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/recipes/teamleader/index.js b/recipes/teamleader/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/recipes/teamleader/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/recipes/teamleader/package.json b/recipes/teamleader/package.json new file mode 100644 index 0000000..6ffb97b --- /dev/null +++ b/recipes/teamleader/package.json @@ -0,0 +1,24 @@ +{ + "id": "teamleader", + "name": "teamleader", + "version": "1.0.0", + "description": "teamleader", + "main": "index.js", + "author": "Rias Van der Veken ", + "license": "MIT", + "config": { + "serviceURL": "https://app.teamleader.eu/?gotologin", + "serviceName": "Teamleader", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/recipes/teamleader/webview.js b/recipes/teamleader/webview.js new file mode 100644 index 0000000..303a938 --- /dev/null +++ b/recipes/teamleader/webview.js @@ -0,0 +1,13 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + const unreadNotifications = parseInt(document.getElementById('notifications_amount').innerHTML); + + Franz.setBadge(unreadNotifications); + } + + Franz.loop(getMessages); + + Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); +}; \ No newline at end of file -- cgit v1.2.3-54-g00ecf