From 70c132dcaf0a76aa700fa79a0d66cedf224dbf67 Mon Sep 17 00:00:00 2001 From: vantezzen Date: Fri, 27 Mar 2020 11:41:33 +0100 Subject: Add reddit --- uncompressed/reddit/README.md | 3 +++ uncompressed/reddit/icon.png | Bin 0 -> 22342 bytes uncompressed/reddit/icon.svg | 1 + uncompressed/reddit/index.js | 1 + uncompressed/reddit/package.json | 15 +++++++++++++ uncompressed/reddit/service.css | 6 +++++ uncompressed/reddit/webview.js | 47 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 73 insertions(+) create mode 100644 uncompressed/reddit/README.md create mode 100644 uncompressed/reddit/icon.png create mode 100644 uncompressed/reddit/icon.svg create mode 100644 uncompressed/reddit/index.js create mode 100644 uncompressed/reddit/package.json create mode 100644 uncompressed/reddit/service.css create mode 100644 uncompressed/reddit/webview.js (limited to 'uncompressed') diff --git a/uncompressed/reddit/README.md b/uncompressed/reddit/README.md new file mode 100644 index 0000000..4c14cdc --- /dev/null +++ b/uncompressed/reddit/README.md @@ -0,0 +1,3 @@ +# Franz Reddit recipe + +A Franz recipe for Reddit service. diff --git a/uncompressed/reddit/icon.png b/uncompressed/reddit/icon.png new file mode 100644 index 0000000..69622a1 Binary files /dev/null and b/uncompressed/reddit/icon.png differ diff --git a/uncompressed/reddit/icon.svg b/uncompressed/reddit/icon.svg new file mode 100644 index 0000000..75f689a --- /dev/null +++ b/uncompressed/reddit/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/uncompressed/reddit/index.js b/uncompressed/reddit/index.js new file mode 100644 index 0000000..6d8dd70 --- /dev/null +++ b/uncompressed/reddit/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz diff --git a/uncompressed/reddit/package.json b/uncompressed/reddit/package.json new file mode 100644 index 0000000..c0df9bd --- /dev/null +++ b/uncompressed/reddit/package.json @@ -0,0 +1,15 @@ +{ + "id": "reddit", + "name": "Reddit", + "version": "1.0.0", + "description": "Reddit", + "main": "index.js", + "author": "Alex Devero and The Ferdi Team ", + "license": "MIT", + "repository": "https://github.com/getferdi/recipes", + "config": { + "hasNotificationSound": false, + "hasIndirectMessages": true, + "serviceURL": "https://www.reddit.com/" + } +} diff --git a/uncompressed/reddit/service.css b/uncompressed/reddit/service.css new file mode 100644 index 0000000..690ef99 --- /dev/null +++ b/uncompressed/reddit/service.css @@ -0,0 +1,6 @@ +[id*=google_ads_iframe], +[data-before-content=advertisement], +.promotedlink { + display: none !important; + visibility: hidden !important; +} diff --git a/uncompressed/reddit/webview.js b/uncompressed/reddit/webview.js new file mode 100644 index 0000000..df5b929 --- /dev/null +++ b/uncompressed/reddit/webview.js @@ -0,0 +1,47 @@ +var _path = _interopRequireDefault(require("path")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = (Franz) => { + const getMessages = function getMessages() { + const elements = document.querySelectorAll('#HeaderUserActions--Messages > a > span'); + let count = 0 + + if (elements[0]) { + count = parseInt(elements[0].innerHTML, 10); + } + + console.log(count) + Franz.setBadge(count) + } + + if (document.querySelectorAll('.promotedlink').length > 0) { + document.querySelectorAll('.promotedlink').forEach((sponsoredLink) => { + sponsoredLink.parentElement.parentElement.style.display = 'none' + }) + } + + Franz.loop(getMessages) + + // Use CSS to hide Google Ads + Franz.injectCSS(_path.default.join(__dirname, 'service.css')) + + Franz.handleDarkMode((isEnabled, config) => { + // Open dropdown menu if not already open + const menu = document.querySelector('#USER_DROPDOWN_ID'); + if (menu.getAttribute('aria-expanded') === 'false') { + menu.click(); + } + + setTimeout(() => { + // Check if service is already in right mode + const btn = document.querySelector('[role=menu] button button'); + const checked = btn.getAttribute('aria-checked') === 'true'; + + if ((checked && !isEnabled) || (!checked && isEnabled)) { + // Click the button to switch between modes + btn.click(); + } + }, 50); + }); +} -- cgit v1.2.3-54-g00ecf