From bf07ce987a7e14d0faa9bcf1d80b05fdcb10dbf8 Mon Sep 17 00:00:00 2001 From: Edgars Date: Sat, 19 Sep 2020 19:53:55 +0300 Subject: Add Nextcloud Calendar recipe (#264) Co-authored-by: Edgars Co-authored-by: Amine --- uncompressed/nextcloud-calendar/README.md | 23 +++++++++++++++++++++++ uncompressed/nextcloud-calendar/icon.png | Bin 0 -> 36124 bytes uncompressed/nextcloud-calendar/icon.svg | 2 ++ uncompressed/nextcloud-calendar/index.js | 7 +++++++ uncompressed/nextcloud-calendar/package.json | 16 ++++++++++++++++ uncompressed/nextcloud-calendar/service.css | 12 ++++++++++++ uncompressed/nextcloud-calendar/webview.js | 23 +++++++++++++++++++++++ 7 files changed, 83 insertions(+) create mode 100644 uncompressed/nextcloud-calendar/README.md create mode 100644 uncompressed/nextcloud-calendar/icon.png create mode 100644 uncompressed/nextcloud-calendar/icon.svg create mode 100644 uncompressed/nextcloud-calendar/index.js create mode 100644 uncompressed/nextcloud-calendar/package.json create mode 100644 uncompressed/nextcloud-calendar/service.css create mode 100644 uncompressed/nextcloud-calendar/webview.js (limited to 'uncompressed') diff --git a/uncompressed/nextcloud-calendar/README.md b/uncompressed/nextcloud-calendar/README.md new file mode 100644 index 0000000..5db01c6 --- /dev/null +++ b/uncompressed/nextcloud-calendar/README.md @@ -0,0 +1,23 @@ +# Ferdi recipe for Nextcloud Calendar + +The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online. + +To add Nextcloud Calendar service to Ferdi, Nextcloud server address should be provided in the field "Custom server". + +## Credits + +This recipe is based on [`recipe-nextcloud-talk`](https://github.com/meetfranz/recipe-nextcloud-talk). + +Icons were sourced from (`favicon-touch.svg`). + +## Links + +Ferdi: + +- [Ferdi](https://getferdi.com/) +- [Ferdi recipes](https://github.com/getferdi/recipes) + +Nextcloud: + +- [Nextcloud](https://nextcloud.com/) +- [Nextcloud Calendar](https://apps.nextcloud.com/apps/calendar) diff --git a/uncompressed/nextcloud-calendar/icon.png b/uncompressed/nextcloud-calendar/icon.png new file mode 100644 index 0000000..bbae639 Binary files /dev/null and b/uncompressed/nextcloud-calendar/icon.png differ diff --git a/uncompressed/nextcloud-calendar/icon.svg b/uncompressed/nextcloud-calendar/icon.svg new file mode 100644 index 0000000..cf802d7 --- /dev/null +++ b/uncompressed/nextcloud-calendar/icon.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/uncompressed/nextcloud-calendar/index.js b/uncompressed/nextcloud-calendar/index.js new file mode 100644 index 0000000..6d140c6 --- /dev/null +++ b/uncompressed/nextcloud-calendar/index.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = Franz => class NextcloudCarnet extends Franz { + buildUrl(url) { + return `${url}/apps/calendar/`; + } +}; diff --git a/uncompressed/nextcloud-calendar/package.json b/uncompressed/nextcloud-calendar/package.json new file mode 100644 index 0000000..ee23655 --- /dev/null +++ b/uncompressed/nextcloud-calendar/package.json @@ -0,0 +1,16 @@ +{ + "id": "nextcloud-calendar", + "name": "Nextcloud Calendar", + "version": "1.0.0", + "description": "Ferdi recipe for Nextcloud Calendar.", + "main": "index.js", + "author": "Edgars Andersons ", + "license": "MIT", + "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-calendar", + "config": { + "hasNotificationSound": true, + "hasIndirectMessages": true, + "hasCustomUrl": true, + "serviceURL": "https://{nextcloud}/apps/calendar/" + } +} diff --git a/uncompressed/nextcloud-calendar/service.css b/uncompressed/nextcloud-calendar/service.css new file mode 100644 index 0000000..833d5a8 --- /dev/null +++ b/uncompressed/nextcloud-calendar/service.css @@ -0,0 +1,12 @@ +/* Hide all app links and contacts menu link in the top menu except for +Calendar */ +#appmenu li:not([data-id="calendar"]), #contactsmenu {display: none;} + +/* Change the cursor to default for top menu Nextcloud home, Calendar and +settings links and disable them */ +#nextcloud, #appmenu li[data-id="calendar"] a, #settings { + cursor:default; pointer-events: none; +} + +/* Hide "More" link in the top menu */ +#more-apps {display: none !important;} diff --git a/uncompressed/nextcloud-calendar/webview.js b/uncompressed/nextcloud-calendar/webview.js new file mode 100644 index 0000000..53496fe --- /dev/null +++ b/uncompressed/nextcloud-calendar/webview.js @@ -0,0 +1,23 @@ +"use strict"; + +var _path = _interopRequireDefault(require("path")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : {default: obj}; +} + +module.exports = Franz => { + const getMessages = function getMessages() { + const direct = document.querySelectorAll( + '.app-navigation-entry-utils-counter.highlighted' + ).length; + const indirect = document.querySelectorAll( + '.app-navigation-entry-utils-counter:not(.highlighted)' + ).length; + + Franz.setBadge(direct, indirect); + }; + + Franz.loop(getMessages); + Franz.injectCSS(_path.default.join(__dirname, 'service.css')); +}; -- cgit v1.2.3-70-g09d2