aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/reddit/webview.js
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/reddit/webview.js')
-rw-r--r--recipes/reddit/webview.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/recipes/reddit/webview.js b/recipes/reddit/webview.js
new file mode 100644
index 0000000..df5b929
--- /dev/null
+++ b/recipes/reddit/webview.js
@@ -0,0 +1,47 @@
1var _path = _interopRequireDefault(require("path"));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Franz) => {
6 const getMessages = function getMessages() {
7 const elements = document.querySelectorAll('#HeaderUserActions--Messages > a > span');
8 let count = 0
9
10 if (elements[0]) {
11 count = parseInt(elements[0].innerHTML, 10);
12 }
13
14 console.log(count)
15 Franz.setBadge(count)
16 }
17
18 if (document.querySelectorAll('.promotedlink').length > 0) {
19 document.querySelectorAll('.promotedlink').forEach((sponsoredLink) => {
20 sponsoredLink.parentElement.parentElement.style.display = 'none'
21 })
22 }
23
24 Franz.loop(getMessages)
25
26 // Use CSS to hide Google Ads
27 Franz.injectCSS(_path.default.join(__dirname, 'service.css'))
28
29 Franz.handleDarkMode((isEnabled, config) => {
30 // Open dropdown menu if not already open
31 const menu = document.querySelector('#USER_DROPDOWN_ID');
32 if (menu.getAttribute('aria-expanded') === 'false') {
33 menu.click();
34 }
35
36 setTimeout(() => {
37 // Check if service is already in right mode
38 const btn = document.querySelector('[role=menu] button button');
39 const checked = btn.getAttribute('aria-checked') === 'true';
40
41 if ((checked && !isEnabled) || (!checked && isEnabled)) {
42 // Click the button to switch between modes
43 btn.click();
44 }
45 }, 50);
46 });
47}