From 37485190b18ccd01d01e2bfe68960b32d8ed357a Mon Sep 17 00:00:00 2001 From: deadmeu Date: Mon, 29 Nov 2021 01:58:16 +1100 Subject: Add RingCentral recipe (#776) --- recipes/ringcentral/icon.svg | 1 + recipes/ringcentral/index.js | 1 + recipes/ringcentral/package.json | 15 +++++++++++++++ recipes/ringcentral/webview.js | 19 +++++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 recipes/ringcentral/icon.svg create mode 100644 recipes/ringcentral/index.js create mode 100644 recipes/ringcentral/package.json create mode 100644 recipes/ringcentral/webview.js (limited to 'recipes/ringcentral') diff --git a/recipes/ringcentral/icon.svg b/recipes/ringcentral/icon.svg new file mode 100644 index 0000000..e30813e --- /dev/null +++ b/recipes/ringcentral/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/recipes/ringcentral/index.js b/recipes/ringcentral/index.js new file mode 100644 index 0000000..23607bd --- /dev/null +++ b/recipes/ringcentral/index.js @@ -0,0 +1 @@ +module.exports = Ferdi => Ferdi; diff --git a/recipes/ringcentral/package.json b/recipes/ringcentral/package.json new file mode 100644 index 0000000..0c8ecab --- /dev/null +++ b/recipes/ringcentral/package.json @@ -0,0 +1,15 @@ +{ + "id": "ringcentral", + "name": "RingCentral", + "version": "1.0.0", + "license": "MIT", + "repository": "https://github.com/deadmeu/ferdi-ringcentral", + "aliases": [ + "Glip" + ], + "config": { + "serviceURL": "https://app.ringcentral.com/", + "hasNotificationSound": true, + "hasIndirectMessages": true + } +} diff --git a/recipes/ringcentral/webview.js b/recipes/ringcentral/webview.js new file mode 100644 index 0000000..ba4f50c --- /dev/null +++ b/recipes/ringcentral/webview.js @@ -0,0 +1,19 @@ +module.exports = Ferdi => { + const getMessages = () => { + let directCount = 0; + let indirectCount = 0; + + const messageCountElement = document.querySelector('#Message-umi'); + if (messageCountElement) { + directCount = Ferdi.safeParseInt(messageCountElement.textContent); + } + + const unreadChats = document.querySelectorAll('.has-unread'); + // unreadChats includes direct messages - do not count them + indirectCount = unreadChats.length - directCount; + + Ferdi.setBadge(directCount, indirectCount); + }; + + Ferdi.loop(getMessages); +}; -- cgit v1.2.3-54-g00ecf