diff options
-rw-r--r-- | all.json | 13 | ||||
-rw-r--r-- | archives/googlemeet.tar.gz | bin | 93911 -> 158942 bytes | |||
-rw-r--r-- | archives/nextcloud-tasks.tar.gz | bin | 0 -> 44778 bytes | |||
-rw-r--r-- | uncompressed/googlemeet/icon.png | bin | 94137 -> 158454 bytes | |||
-rw-r--r-- | uncompressed/googlemeet/index.js | 18 | ||||
-rw-r--r-- | uncompressed/googlemeet/package.json | 2 | ||||
-rw-r--r-- | uncompressed/nextcloud-tasks/README.md | 24 | ||||
-rw-r--r-- | uncompressed/nextcloud-tasks/icon.png | bin | 0 -> 45324 bytes | |||
-rw-r--r-- | uncompressed/nextcloud-tasks/icon.svg | 5 | ||||
-rw-r--r-- | uncompressed/nextcloud-tasks/index.js | 7 | ||||
-rw-r--r-- | uncompressed/nextcloud-tasks/package.json | 16 | ||||
-rw-r--r-- | uncompressed/nextcloud-tasks/service.css | 12 | ||||
-rw-r--r-- | uncompressed/nextcloud-tasks/webview.js | 23 |
13 files changed, 112 insertions, 8 deletions
@@ -367,7 +367,7 @@ | |||
367 | "featured": false, | 367 | "featured": false, |
368 | "id": "googlemeet", | 368 | "id": "googlemeet", |
369 | "name": "Google Meet", | 369 | "name": "Google Meet", |
370 | "version": "1.0.2", | 370 | "version": "1.0.4", |
371 | "icons": { | 371 | "icons": { |
372 | "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/uncompressed/googlemeet/icon.png", | 372 | "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/uncompressed/googlemeet/icon.png", |
373 | "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/uncompressed/googlemeet/icon.svg" | 373 | "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/uncompressed/googlemeet/icon.svg" |
@@ -671,6 +671,17 @@ | |||
671 | } | 671 | } |
672 | }, | 672 | }, |
673 | { | 673 | { |
674 | "author": "Edgars Andersons <Edgars+github@gaitenis.id.lv>", | ||
675 | "featured": false, | ||
676 | "id": "nextcloud-tasks", | ||
677 | "name": "Nextcloud Tasks", | ||
678 | "version": "1.0.0", | ||
679 | "icons": { | ||
680 | "png": "https://cdn.jsdelivr.net/gh/getferdi/recipes/uncompressed/nextcloud-tasks/icon.png", | ||
681 | "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/uncompressed/nextcloud-tasks/icon.svg" | ||
682 | } | ||
683 | }, | ||
684 | { | ||
674 | "author": "Jake Lee <ferdi@jakelee.co.uk>", | 685 | "author": "Jake Lee <ferdi@jakelee.co.uk>", |
675 | "featured": false, | 686 | "featured": false, |
676 | "id": "nextdoor", | 687 | "id": "nextdoor", |
diff --git a/archives/googlemeet.tar.gz b/archives/googlemeet.tar.gz index dac4bbe..c901b72 100644 --- a/archives/googlemeet.tar.gz +++ b/archives/googlemeet.tar.gz | |||
Binary files differ | |||
diff --git a/archives/nextcloud-tasks.tar.gz b/archives/nextcloud-tasks.tar.gz new file mode 100644 index 0000000..9cbb391 --- /dev/null +++ b/archives/nextcloud-tasks.tar.gz | |||
Binary files differ | |||
diff --git a/uncompressed/googlemeet/icon.png b/uncompressed/googlemeet/icon.png index 12a85fa..a259b80 100644 --- a/uncompressed/googlemeet/icon.png +++ b/uncompressed/googlemeet/icon.png | |||
Binary files differ | |||
diff --git a/uncompressed/googlemeet/index.js b/uncompressed/googlemeet/index.js index 4087aa3..9d84c17 100644 --- a/uncompressed/googlemeet/index.js +++ b/uncompressed/googlemeet/index.js | |||
@@ -1,11 +1,17 @@ | |||
1 | var os = require('os') | 1 | var os = require('os') |
2 | 2 | ||
3 | module.exports = Franz => | 3 | module.exports = Franz => |
4 | class Gmail extends Franz { | 4 | class GoogleMeet extends Franz { |
5 | overrideUserAgent() { | 5 | modifyRequestHeaders() { |
6 | if (os.platform() == 'linux') | 6 | return [ |
7 | return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0" | 7 | { |
8 | else | 8 | headers: { |
9 | return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0"; | 9 | 'user-agent': window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(), |
10 | }, | ||
11 | requestFilters: { | ||
12 | urls: ['*://*/*'], | ||
13 | }, | ||
14 | }, | ||
15 | ]; | ||
10 | } | 16 | } |
11 | }; | 17 | }; |
diff --git a/uncompressed/googlemeet/package.json b/uncompressed/googlemeet/package.json index 5428747..651b035 100644 --- a/uncompressed/googlemeet/package.json +++ b/uncompressed/googlemeet/package.json | |||
@@ -1,7 +1,7 @@ | |||
1 | { | 1 | { |
2 | "id": "googlemeet", | 2 | "id": "googlemeet", |
3 | "name": "Google Meet", | 3 | "name": "Google Meet", |
4 | "version": "1.0.2", | 4 | "version": "1.0.4", |
5 | "description": "Google Meet", | 5 | "description": "Google Meet", |
6 | "main": "index.js", | 6 | "main": "index.js", |
7 | "author": "Patrick Thoelken <patrick.thoelken@outlook.com>", | 7 | "author": "Patrick Thoelken <patrick.thoelken@outlook.com>", |
diff --git a/uncompressed/nextcloud-tasks/README.md b/uncompressed/nextcloud-tasks/README.md new file mode 100644 index 0000000..34f05fd --- /dev/null +++ b/uncompressed/nextcloud-tasks/README.md | |||
@@ -0,0 +1,24 @@ | |||
1 | # Ferdi recipe for Nextcloud Tasks | ||
2 | |||
3 | Nextcloud Tasks is a tasks app for Nextcloud. | ||
4 | Easily sync tasks from various devices with your Nextcloud and edit them online. | ||
5 | |||
6 | To add Nextcloud Tasks service to Ferdi, Nextcloud server address should be provided in the field "Custom server". | ||
7 | |||
8 | ## Credits | ||
9 | |||
10 | This recipe is based on [`recipe-nextcloud-talk`](https://github.com/meetfranz/recipe-nextcloud-talk). | ||
11 | |||
12 | Icons were sourced from <https://github.com/nextcloud/tasks/tree/master/img> (`favicon.svg`). | ||
13 | |||
14 | ## Links | ||
15 | |||
16 | Ferdi: | ||
17 | |||
18 | - [Ferdi](https://getferdi.com/) | ||
19 | - [Ferdi recipes](https://github.com/getferdi/recipes) | ||
20 | |||
21 | Nextcloud: | ||
22 | |||
23 | - [Nextcloud](https://nextcloud.com/) | ||
24 | - [Nextcloud Tasks](https://apps.nextcloud.com/apps/tasks) | ||
diff --git a/uncompressed/nextcloud-tasks/icon.png b/uncompressed/nextcloud-tasks/icon.png new file mode 100644 index 0000000..a09dd5d --- /dev/null +++ b/uncompressed/nextcloud-tasks/icon.png | |||
Binary files differ | |||
diff --git a/uncompressed/nextcloud-tasks/icon.svg b/uncompressed/nextcloud-tasks/icon.svg new file mode 100644 index 0000000..cc1524d --- /dev/null +++ b/uncompressed/nextcloud-tasks/icon.svg | |||
@@ -0,0 +1,5 @@ | |||
1 | <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'> | ||
2 | <svg width="32px" height="32px" enable-background="new 0 0 32 32" version="1.1" viewBox="0 0 32 32" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> | ||
3 | <path d="M5,0h22c2.762,0,5,2.239,5,5v22c0,2.762-2.238,5-5,5H5c-2.761,0-5-2.238-5-5V5C0,2.239,2.239,0,5,0z" fill="#0082C9"/> | ||
4 | <path d="m13.958 27.497s0.248-0.685 0.538-1.308c4.692-10.104 10.719-16.759 13.393-19.78 2.164-2.447 1.317-2.062 0.358-1.438-3.91 2.543-11.228 10.715-14.024 13.546-0.518 0.521-1.691 1.754-1.956 1.754-0.299 0-1.298-0.461-1.869-0.797-2.182-1.279-4.269-2.527-5.578-2.999-2.789-1.003-2-0.05-1.841 0.269 0.498 0.996 7.233 6.396 9.464 8.944 0.691 0.791 1.515 1.809 1.515 1.809z" fill="#fff" stroke="#fff" stroke-miterlimit="10" stroke-width=".75"/> | ||
5 | </svg> | ||
diff --git a/uncompressed/nextcloud-tasks/index.js b/uncompressed/nextcloud-tasks/index.js new file mode 100644 index 0000000..9e4a4e7 --- /dev/null +++ b/uncompressed/nextcloud-tasks/index.js | |||
@@ -0,0 +1,7 @@ | |||
1 | "use strict"; | ||
2 | |||
3 | module.exports = Franz => class NextcloudCarnet extends Franz { | ||
4 | buildUrl(url) { | ||
5 | return `${url}/apps/tasks/`; | ||
6 | } | ||
7 | }; | ||
diff --git a/uncompressed/nextcloud-tasks/package.json b/uncompressed/nextcloud-tasks/package.json new file mode 100644 index 0000000..cabc86a --- /dev/null +++ b/uncompressed/nextcloud-tasks/package.json | |||
@@ -0,0 +1,16 @@ | |||
1 | { | ||
2 | "id": "nextcloud-tasks", | ||
3 | "name": "Nextcloud Tasks", | ||
4 | "version": "1.0.0", | ||
5 | "description": "Ferdi recipe for Nextcloud Tasks. Easily sync tasks from various devices with your Nextcloud and edit them online.", | ||
6 | "main": "index.js", | ||
7 | "author": "Edgars Andersons <Edgars+github@gaitenis.id.lv>", | ||
8 | "license": "MIT", | ||
9 | "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-tasks", | ||
10 | "config": { | ||
11 | "hasNotificationSound": true, | ||
12 | "hasIndirectMessages": true, | ||
13 | "hasCustomUrl": true, | ||
14 | "serviceURL": "https://{nextcloud}/apps/tasks/" | ||
15 | } | ||
16 | } | ||
diff --git a/uncompressed/nextcloud-tasks/service.css b/uncompressed/nextcloud-tasks/service.css new file mode 100644 index 0000000..805b44b --- /dev/null +++ b/uncompressed/nextcloud-tasks/service.css | |||
@@ -0,0 +1,12 @@ | |||
1 | /* Hide all app links and contacts menu link in the top menu except for | ||
2 | Tasks */ | ||
3 | #appmenu li:not([data-id="tasks"]), #contactsmenu {display: none;} | ||
4 | |||
5 | /* Change the cursor to the default for Nextcloud home, Tasks and settings | ||
6 | links in the top menu and disable them */ | ||
7 | #nextcloud, #appmenu li[data-id="tasks"] a, #settings { | ||
8 | cursor: default; pointer-events: none; | ||
9 | } | ||
10 | |||
11 | /* Hide "More" link in the top menu */ | ||
12 | #more-apps {display: none !important;} | ||
diff --git a/uncompressed/nextcloud-tasks/webview.js b/uncompressed/nextcloud-tasks/webview.js new file mode 100644 index 0000000..53496fe --- /dev/null +++ b/uncompressed/nextcloud-tasks/webview.js | |||
@@ -0,0 +1,23 @@ | |||
1 | "use strict"; | ||
2 | |||
3 | var _path = _interopRequireDefault(require("path")); | ||
4 | |||
5 | function _interopRequireDefault(obj) { | ||
6 | return obj && obj.__esModule ? obj : {default: obj}; | ||
7 | } | ||
8 | |||
9 | module.exports = Franz => { | ||
10 | const getMessages = function getMessages() { | ||
11 | const direct = document.querySelectorAll( | ||
12 | '.app-navigation-entry-utils-counter.highlighted' | ||
13 | ).length; | ||
14 | const indirect = document.querySelectorAll( | ||
15 | '.app-navigation-entry-utils-counter:not(.highlighted)' | ||
16 | ).length; | ||
17 | |||
18 | Franz.setBadge(direct, indirect); | ||
19 | }; | ||
20 | |||
21 | Franz.loop(getMessages); | ||
22 | Franz.injectCSS(_path.default.join(__dirname, 'service.css')); | ||
23 | }; | ||