From 728d339739b63e9bb59e457e4a84fe9a65b93fc9 Mon Sep 17 00:00:00 2001 From: vantezzen Date: Sat, 28 Sep 2019 12:10:25 +0200 Subject: Add uncompressed recipes --- uncompressed/rocketchat/README.md | 5 ++++ uncompressed/rocketchat/icon.svg | 19 ++++++++++++++ uncompressed/rocketchat/index.js | 26 +++++++++++++++++++ uncompressed/rocketchat/package.json | 16 ++++++++++++ uncompressed/rocketchat/webview.js | 49 ++++++++++++++++++++++++++++++++++++ 5 files changed, 115 insertions(+) create mode 100644 uncompressed/rocketchat/README.md create mode 100644 uncompressed/rocketchat/icon.svg create mode 100644 uncompressed/rocketchat/index.js create mode 100644 uncompressed/rocketchat/package.json create mode 100644 uncompressed/rocketchat/webview.js (limited to 'uncompressed/rocketchat') diff --git a/uncompressed/rocketchat/README.md b/uncompressed/rocketchat/README.md new file mode 100644 index 0000000..c8b5579 --- /dev/null +++ b/uncompressed/rocketchat/README.md @@ -0,0 +1,5 @@ +# Rocket.Chat for Franz +This is the official Franz recipe for Rocket.Chat + +### How to create your own Franz recipes: +* [Read the documentation](https://github.com/meetfranz/plugins) diff --git a/uncompressed/rocketchat/icon.svg b/uncompressed/rocketchat/icon.svg new file mode 100644 index 0000000..b87ea43 --- /dev/null +++ b/uncompressed/rocketchat/icon.svg @@ -0,0 +1,19 @@ + + + + rocketchat + Created with Sketch. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/uncompressed/rocketchat/index.js b/uncompressed/rocketchat/index.js new file mode 100644 index 0000000..349ed36 --- /dev/null +++ b/uncompressed/rocketchat/index.js @@ -0,0 +1,26 @@ +'use strict'; + +function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } + +module.exports = Franz => class RocketChat extends Franz { + validateUrl(url) { + return _asyncToGenerator(function* () { + try { + const resp = yield window.fetch(`${url}/api/info`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json' + } + }); + const data = yield resp.json(); + + return Object.hasOwnProperty.call(data, 'version'); + } catch (err) { + console.error(err); + } + + return false; + })(); + } +}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJvY2tldGNoYXQvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiUm9ja2V0Q2hhdCIsInZhbGlkYXRlVXJsIiwidXJsIiwicmVzcCIsIndpbmRvdyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImRhdGEiLCJqc29uIiwiT2JqZWN0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZXJyIiwiY29uc29sZSIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVMsTUFBTUMsVUFBTixTQUF5QkQsS0FBekIsQ0FBK0I7QUFDakRFLGFBQU4sQ0FBa0JDLEdBQWxCLEVBQXVCO0FBQUE7QUFDckIsVUFBSTtBQUNGLGNBQU1DLE9BQU8sTUFBTUMsT0FBT0MsS0FBUCxDQUFjLEdBQUVILEdBQUksV0FBcEIsRUFBZ0M7QUFDakRJLGtCQUFRLEtBRHlDO0FBRWpEQyxtQkFBUztBQUNQLDRCQUFnQjtBQURUO0FBRndDLFNBQWhDLENBQW5CO0FBTUEsY0FBTUMsT0FBTyxNQUFNTCxLQUFLTSxJQUFMLEVBQW5COztBQUVBLGVBQU9DLE9BQU9DLGNBQVAsQ0FBc0JDLElBQXRCLENBQTJCSixJQUEzQixFQUFpQyxTQUFqQyxDQUFQO0FBQ0QsT0FWRCxDQVVFLE9BQU9LLEdBQVAsRUFBWTtBQUNaQyxnQkFBUUMsS0FBUixDQUFjRixHQUFkO0FBQ0Q7O0FBRUQsYUFBTyxLQUFQO0FBZnFCO0FBZ0J0QjtBQWpCc0QsQ0FBekQiLCJmaWxlIjoicm9ja2V0Y2hhdC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gY2xhc3MgUm9ja2V0Q2hhdCBleHRlbmRzIEZyYW56IHtcbiAgYXN5bmMgdmFsaWRhdGVVcmwodXJsKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCB3aW5kb3cuZmV0Y2goYCR7dXJsfS9hcGkvaW5mb2AsIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwLmpzb24oKTtcblxuICAgICAgcmV0dXJuIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsICd2ZXJzaW9uJyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuIl19 \ No newline at end of file diff --git a/uncompressed/rocketchat/package.json b/uncompressed/rocketchat/package.json new file mode 100644 index 0000000..61c77e8 --- /dev/null +++ b/uncompressed/rocketchat/package.json @@ -0,0 +1,16 @@ +{ + "id": "rocketchat", + "name": "Rocket.Chat", + "version": "1.0.6", + "description": "Rocket.Chat", + "main": "index.js", + "author": "Stefan Malzner ", + "license": "MIT", + "config": { + "serviceURL": "https://{teamId}.rocket.chat", + "hasNotificationSound": true, + "hasCustomUrl": true, + "hasTeamId": true, + "urlInputSuffix": ".rocket.chat" + } +} diff --git a/uncompressed/rocketchat/webview.js b/uncompressed/rocketchat/webview.js new file mode 100644 index 0000000..1e26ac9 --- /dev/null +++ b/uncompressed/rocketchat/webview.js @@ -0,0 +1,49 @@ +'use strict'; + +const { ipcRenderer } = require('electron'); + +const getTeamIcon = function getTeamIcon() { + console.log('getTeamIcon'); + + const manifestElement = document.querySelector('link[rel="manifest"]'); + + if (manifestElement == null) { + return; + } + + const manifestUrl = manifestElement.getAttribute('href'); + + if (manifestUrl == null) { + return; + } + + const xmlhttp = new XMLHttpRequest(); + xmlhttp.onreadystatechange = function () { + if (this.readyState != 4 || this.status != 200) { + return; + } + + const response = JSON.parse(this.responseText); + + if (response.icons.length >= 1) { + ipcRenderer.sendToHost('avatar', `${window.location.protocol}//${window.location.host}/${response.icons[0].src}`); + } + }; + xmlhttp.open('GET', manifestUrl, true); + xmlhttp.send(); +}; + +module.exports = Franz => { + const getMessages = function getMessages() { + const directMessages = Math.round(document.querySelectorAll('.unread.unread-mention, .badge--unread').length / 2); + const indirectMessages = Math.round(document.querySelectorAll('.unread:not(.unread-mention), .sidebar-item--unread').length / 2); + Franz.setBadge(directMessages, indirectMessages); + }; + + Franz.loop(getMessages); + + setTimeout(() => { + getTeamIcon(); + }, 4000); +}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJvY2tldGNoYXQvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJpcGNSZW5kZXJlciIsInJlcXVpcmUiLCJnZXRUZWFtSWNvbiIsImNvbnNvbGUiLCJsb2ciLCJtYW5pZmVzdEVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJtYW5pZmVzdFVybCIsImdldEF0dHJpYnV0ZSIsInhtbGh0dHAiLCJYTUxIdHRwUmVxdWVzdCIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZSIsIkpTT04iLCJwYXJzZSIsInJlc3BvbnNlVGV4dCIsImljb25zIiwibGVuZ3RoIiwic2VuZFRvSG9zdCIsIndpbmRvdyIsImxvY2F0aW9uIiwicHJvdG9jb2wiLCJob3N0Iiwic3JjIiwib3BlbiIsInNlbmQiLCJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImRpcmVjdE1lc3NhZ2VzIiwiTWF0aCIsInJvdW5kIiwicXVlcnlTZWxlY3RvckFsbCIsImluZGlyZWN0TWVzc2FnZXMiLCJzZXRCYWRnZSIsImxvb3AiLCJzZXRUaW1lb3V0Il0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU0sRUFBRUEsV0FBRixLQUFrQkMsUUFBUSxVQUFSLENBQXhCOztBQUVBLE1BQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6Q0MsVUFBUUMsR0FBUixDQUFZLGFBQVo7O0FBRUEsUUFBTUMsa0JBQWtCQyxTQUFTQyxhQUFULENBQXVCLHNCQUF2QixDQUF4Qjs7QUFFQSxNQUFJRixtQkFBbUIsSUFBdkIsRUFBNkI7QUFDM0I7QUFDRDs7QUFFRCxRQUFNRyxjQUFjSCxnQkFBZ0JJLFlBQWhCLENBQTZCLE1BQTdCLENBQXBCOztBQUVBLE1BQUlELGVBQWUsSUFBbkIsRUFBeUI7QUFDdkI7QUFDRDs7QUFFRCxRQUFNRSxVQUFVLElBQUlDLGNBQUosRUFBaEI7QUFDQUQsVUFBUUUsa0JBQVIsR0FBNkIsWUFBWTtBQUN2QyxRQUFJLEtBQUtDLFVBQUwsSUFBbUIsQ0FBbkIsSUFBd0IsS0FBS0MsTUFBTCxJQUFlLEdBQTNDLEVBQWdEO0FBQzlDO0FBQ0Q7O0FBRUQsVUFBTUMsV0FBV0MsS0FBS0MsS0FBTCxDQUFXLEtBQUtDLFlBQWhCLENBQWpCOztBQUVBLFFBQUlILFNBQVNJLEtBQVQsQ0FBZUMsTUFBZixJQUF5QixDQUE3QixFQUFnQztBQUM5QnBCLGtCQUFZcUIsVUFBWixDQUF1QixRQUF2QixFQUFrQyxHQUFFQyxPQUFPQyxRQUFQLENBQWdCQyxRQUFTLEtBQUlGLE9BQU9DLFFBQVAsQ0FBZ0JFLElBQUssSUFBR1YsU0FBU0ksS0FBVCxDQUFlLENBQWYsRUFBa0JPLEdBQUksRUFBL0c7QUFDRDtBQUNGLEdBVkQ7QUFXQWhCLFVBQVFpQixJQUFSLENBQWEsS0FBYixFQUFvQm5CLFdBQXBCLEVBQWlDLElBQWpDO0FBQ0FFLFVBQVFrQixJQUFSO0FBQ0QsQ0E3QkQ7O0FBK0JBQyxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsUUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3pDLFVBQU1DLGlCQUFpQkMsS0FBS0MsS0FBTCxDQUFXN0IsU0FBUzhCLGdCQUFULENBQTBCLHdDQUExQixFQUFvRWhCLE1BQXBFLEdBQTZFLENBQXhGLENBQXZCO0FBQ0EsVUFBTWlCLG1CQUFtQkgsS0FBS0MsS0FBTCxDQUFXN0IsU0FBUzhCLGdCQUFULENBQTBCLHFEQUExQixFQUFpRmhCLE1BQWpGLEdBQTBGLENBQXJHLENBQXpCO0FBQ0FXLFVBQU1PLFFBQU4sQ0FBZUwsY0FBZixFQUErQkksZ0JBQS9CO0FBQ0QsR0FKRDs7QUFNQU4sUUFBTVEsSUFBTixDQUFXUCxXQUFYOztBQUVBUSxhQUFXLE1BQU07QUFDZnRDO0FBQ0QsR0FGRCxFQUVHLElBRkg7QUFHRCxDQVpEIiwiZmlsZSI6InJvY2tldGNoYXQvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHsgaXBjUmVuZGVyZXIgfSA9IHJlcXVpcmUoJ2VsZWN0cm9uJyk7XG5cbmNvbnN0IGdldFRlYW1JY29uID0gZnVuY3Rpb24gZ2V0VGVhbUljb24oKSB7XG4gIGNvbnNvbGUubG9nKCdnZXRUZWFtSWNvbicpO1xuXG4gIGNvbnN0IG1hbmlmZXN0RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpbmtbcmVsPVwibWFuaWZlc3RcIl0nKTtcblxuICBpZiAobWFuaWZlc3RFbGVtZW50ID09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtYW5pZmVzdFVybCA9IG1hbmlmZXN0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcblxuICBpZiAobWFuaWZlc3RVcmwgPT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHhtbGh0dHAgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgeG1saHR0cC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMucmVhZHlTdGF0ZSAhPSA0IHx8IHRoaXMuc3RhdHVzICE9IDIwMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlVGV4dCk7XG5cbiAgICBpZiAocmVzcG9uc2UuaWNvbnMubGVuZ3RoID49IDEpIHtcbiAgICAgIGlwY1JlbmRlcmVyLnNlbmRUb0hvc3QoJ2F2YXRhcicsIGAke3dpbmRvdy5sb2NhdGlvbi5wcm90b2NvbH0vLyR7d2luZG93LmxvY2F0aW9uLmhvc3R9LyR7cmVzcG9uc2UuaWNvbnNbMF0uc3JjfWApO1xuICAgIH1cbiAgfTtcbiAgeG1saHR0cC5vcGVuKCdHRVQnLCBtYW5pZmVzdFVybCwgdHJ1ZSk7XG4gIHhtbGh0dHAuc2VuZCgpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBjb25zdCBkaXJlY3RNZXNzYWdlcyA9IE1hdGgucm91bmQoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnVucmVhZC51bnJlYWQtbWVudGlvbiwgLmJhZGdlLS11bnJlYWQnKS5sZW5ndGggLyAyKTtcbiAgICBjb25zdCBpbmRpcmVjdE1lc3NhZ2VzID0gTWF0aC5yb3VuZChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudW5yZWFkOm5vdCgudW5yZWFkLW1lbnRpb24pLCAuc2lkZWJhci1pdGVtLS11bnJlYWQnKS5sZW5ndGggLyAyKTtcbiAgICBGcmFuei5zZXRCYWRnZShkaXJlY3RNZXNzYWdlcywgaW5kaXJlY3RNZXNzYWdlcyk7XG4gIH07XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG5cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgZ2V0VGVhbUljb24oKTtcbiAgfSwgNDAwMCk7XG59O1xuIl19 \ No newline at end of file -- cgit v1.2.3-70-g09d2