From efbd0b22d14011ed09ab9df4da90f2195136945a Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Thu, 29 Apr 2021 16:26:26 +0200 Subject: Added recipe for Kimai time-tracking instances (#478) --- recipes/kimai-cloud/icon.png | Bin 0 -> 138391 bytes recipes/kimai-cloud/icon.svg | 58 +++++++++++++++++++++++++++++++++++++++ recipes/kimai-cloud/index.js | 2 ++ recipes/kimai-cloud/package.json | 18 ++++++++++++ recipes/kimai-cloud/webview.js | 27 ++++++++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 recipes/kimai-cloud/icon.png create mode 100644 recipes/kimai-cloud/icon.svg create mode 100644 recipes/kimai-cloud/index.js create mode 100644 recipes/kimai-cloud/package.json create mode 100644 recipes/kimai-cloud/webview.js (limited to 'recipes/kimai-cloud') diff --git a/recipes/kimai-cloud/icon.png b/recipes/kimai-cloud/icon.png new file mode 100644 index 0000000..9a5ce67 Binary files /dev/null and b/recipes/kimai-cloud/icon.png differ diff --git a/recipes/kimai-cloud/icon.svg b/recipes/kimai-cloud/icon.svg new file mode 100644 index 0000000..01f6066 --- /dev/null +++ b/recipes/kimai-cloud/icon.svg @@ -0,0 +1,58 @@ + + + Kimai Time-Tracker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/recipes/kimai-cloud/index.js b/recipes/kimai-cloud/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/recipes/kimai-cloud/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/recipes/kimai-cloud/package.json b/recipes/kimai-cloud/package.json new file mode 100644 index 0000000..6ad8abd --- /dev/null +++ b/recipes/kimai-cloud/package.json @@ -0,0 +1,18 @@ +{ + "id": "kimaicloud", + "name": "Kimai Cloud", + "version": "1.0.0", + "description": "Kimai Time-Tracker - Cloud version", + "main": "index.js", + "author": "Kevin Papst ", + "license": "MIT", + "repository": "https://github.com/kimai-cloud/recipe-kimaicloud", + "config": { + "serviceURL": "https://{teamId}.kimai.cloud", + "hasNotificationSound": false, + "hasDirectMessages": true, + "hasIndirectMessages": false, + "hasTeamId": true, + "urlInputSuffix": ".kimai.cloud" + } +} diff --git a/recipes/kimai-cloud/webview.js b/recipes/kimai-cloud/webview.js new file mode 100644 index 0000000..8baf008 --- /dev/null +++ b/recipes/kimai-cloud/webview.js @@ -0,0 +1,27 @@ +module.exports = (Franz) => { + const getMessages = function getMessages() { + let count = 0; + + // get amount of running timesheets + let label = document.querySelector('.main-header .navbar .dropdown.messages-menu .ticktac span.label'); + if (label !== undefined) { + count = label.textContent; + } + + // set Franz badge + Franz.setBadge(count); + }; + + document.addEventListener('click', (e) => { + const { tagName, target, href } = e.target; + + if (tagName === 'A' && target === '_blank') { + e.preventDefault(); + e.stopImmediatePropagation(); + window.open(href); + } + }); + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; -- cgit v1.2.3-70-g09d2