From e61fdbdbd3c752df751d29df094563061f52730c Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Fri, 20 Sep 2024 16:00:18 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20button=20to=20make=20thumb=20?= =?UTF-8?q?clickable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- old-reddit-expando.user.js | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/old-reddit-expando.user.js b/old-reddit-expando.user.js index 0bf1702..c88ff39 100644 --- a/old-reddit-expando.user.js +++ b/old-reddit-expando.user.js @@ -3,7 +3,7 @@ // @namespace danielrayjones // @description Allow removal of visited links on Amazon Giveaway Listing // @include https://old.reddit.com* -// @version 1.0.0 +// @version 1.0.2 // ==/UserScript== (function() { @@ -14,20 +14,36 @@ } let para = document.createElement('p'); - //para.innerHtml = ''; let exButton = document.createElement('button'); - exButton.id = 'expander'; exButton.innerText = 'Expand images'; exButton = para.appendChild(exButton); + exButton.addEventListener('click', () => document.querySelectorAll('.expando-button.collapsed').forEach(e => e.click())); let deButton = document.createElement('button'); - deButton.id = 'depand'; deButton.innerText = 'Collapse images'; deButton = para.appendChild(deButton); + deButton.addEventListener('click', () => document.querySelectorAll('.expando-button.expanded').forEach(e => e.click())); + + const proxyThumbClicks = function(evt) { + let thing = evt.target; + while (!thing.classList.contains('thing') && thing != document.body) { + thing = thing.parentElement; + } + if (!thing.classList.contains('thing')) { + console.log("Couldn't find thing"); + return true; + } + evt.preventDefault(); + + thing.querySelector('.expando-button')?.click(); + + return false; + }; + + let icoButton = document.createElement('button'); + icoButton.innerText = 'Thumb expands'; + icoButton = para.appendChild(icoButton); + icoButton.addEventListener('click', () => listing.querySelectorAll('.thumbnail').forEach(e => e.addEventListener('click', proxyThumbClicks))); para = listing.insertBefore(para, listing.firstChild); - - exButton.addEventListener('click', () => document.querySelectorAll('.expando-button.collapsed').forEach(e => e.click())); - deButton.addEventListener('click', () => document.querySelectorAll('.expando-button.expanded').forEach(e => e.click())); })(); -