From abbf09aa1bdd0f322052f0e318b28c073c17bcc5 Mon Sep 17 00:00:00 2001 From: Adam Everson Souza Araújo Date: Sat, 27 Aug 2022 19:54:45 -0300 Subject: Add Magic Level recipe (#158) --- recipes/magic-level/icon.svg | 19 ++++++++++++++++++ recipes/magic-level/index.js | 1 + recipes/magic-level/package.json | 9 +++++++++ recipes/magic-level/service.css | 3 +++ recipes/magic-level/webview.js | 42 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 recipes/magic-level/icon.svg create mode 100644 recipes/magic-level/index.js create mode 100644 recipes/magic-level/package.json create mode 100644 recipes/magic-level/service.css create mode 100644 recipes/magic-level/webview.js diff --git a/recipes/magic-level/icon.svg b/recipes/magic-level/icon.svg new file mode 100644 index 0000000..79b5752 --- /dev/null +++ b/recipes/magic-level/icon.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/recipes/magic-level/index.js b/recipes/magic-level/index.js new file mode 100644 index 0000000..dd41f72 --- /dev/null +++ b/recipes/magic-level/index.js @@ -0,0 +1 @@ +module.exports = Ferdium => Ferdium; diff --git a/recipes/magic-level/package.json b/recipes/magic-level/package.json new file mode 100644 index 0000000..e36c097 --- /dev/null +++ b/recipes/magic-level/package.json @@ -0,0 +1,9 @@ +{ + "id": "magic-level", + "name": "Magic Level", + "version": "1.0.0", + "license": "MIT", + "config": { + "serviceURL": "https://magiclevel.ml" + } +} diff --git a/recipes/magic-level/service.css b/recipes/magic-level/service.css new file mode 100644 index 0000000..c07277e --- /dev/null +++ b/recipes/magic-level/service.css @@ -0,0 +1,3 @@ +.aiw .cd .vh { + display: none !important; +} \ No newline at end of file diff --git a/recipes/magic-level/webview.js b/recipes/magic-level/webview.js new file mode 100644 index 0000000..d39c90d --- /dev/null +++ b/recipes/magic-level/webview.js @@ -0,0 +1,42 @@ +const _path = _interopRequireDefault(require('path')); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; +} + +module.exports = Ferdium => { + + const getMessages = () => { + let countImportant = 0; + let countNonImportant = 0; + const inboxLinks = document.querySelectorAll('.J-Ke.n0'); + if (inboxLinks.length > 0) { + let parentNode = inboxLinks[0].parentNode; + if (parentNode) { + let parentNodeOfParentNode = parentNode.parentNode; + if (parentNodeOfParentNode) { + const unreadCounts = parentNodeOfParentNode.querySelectorAll('.bsU'); + if (unreadCounts.length > 0) { + let unreadCount = unreadCounts[0].textContent; + if (unreadCount.includes(':')) { + let counts = unreadCount + .split(':') + .map(s => Ferdium.safeParseInt(s.replace(/[^\p{N}]/gu, ''))); + countImportant = counts[0]; + countNonImportant = counts[1] - counts[0]; + } else { + countImportant = Ferdium.safeParseInt( + unreadCount.replace(/[^\p{N}]/gu, ''), + ); + } + } + } + } + } + Ferdium.setBadge(countImportant, countNonImportant); + }; + + Ferdium.loop(getMessages); + + Ferdium.injectCSS(_path.default.join(__dirname, 'service.css')); +}; -- cgit v1.2.3-54-g00ecf