From 7dbe854a6c9e9b524d75d3688a44f470a283d1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= <hugo@lysator.liu.se> Date: Fri, 9 Dec 2022 20:47:33 +0100 Subject: [PATCH] Change redit sidebar arrow. --- reddit-hide-sidebar/index.js | 41 ++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/reddit-hide-sidebar/index.js b/reddit-hide-sidebar/index.js index 87147d6..c02c55b 100644 --- a/reddit-hide-sidebar/index.js +++ b/reddit-hide-sidebar/index.js @@ -1,7 +1,7 @@ // ==UserScript== // @name old.reddit hide sidebar // @namespace http://hugo.hornquist.se -// @version 1.1.2 +// @version 1.2.0 // @description Adds toggle to hide Reddit sidebar // @author hugo@lysator.liu.se // @match https://*.reddit.com/* @@ -24,7 +24,32 @@ let sidebar = document.getElementsByClassName('side')[0]; sidebar.appendChild(div); - btn.onclick = () => sidebar.classList.toggle('hidden'); + let svgns = 'http://www.w3.org/2000/svg' + let svg = document.createElementNS(svgns, 'svg'); + svg.id = 'triangle-icon' + let path = document.createElementNS(svgns, 'path'); + svg.setAttribute('viewBox', '0 0 100 100'); + path.setAttribute('d', `M0 0L100 50L0 100`) + + svg.appendChild(path) + btn.appendChild(svg) + + btn.onclick = () => { + sidebar.classList.toggle('hidden'); + let isHidden = sidebar.classList.contains('hidden') + let i = 0; + // Will run 50 times= + let intervalID = window.setInterval(() => { + let x = isHidden ? 2 * i : 100 - 2 * i; + path.setAttribute('d', `M${x} 0L${100 - x} 50L${x} 100`); + i += 1; + }, 10); + window.setTimeout(() => { + window.clearInterval(intervalID) + let x = isHidden ? 100 : 0; + path.setAttribute('d', `M${x} 0L${100 - x} 50L${x} 100`); + }, 500) + } let style = document.createElement('style'); @@ -37,6 +62,7 @@ height: 2em; display: grid; top: 0; + padding: 0; } .side { transition: 0.5s; @@ -45,12 +71,13 @@ .side.hidden { width: 0px; } -.side.hidden button::before { - content: '<'; +#triangle-icon { + fill: black; +} +.res-nightmode #triangle-icon { + fill: white; } -.side:not(.hidden) button::before { - content: '>'; -}`; +`; document.getElementsByTagName('head')[0].appendChild(style); })(); -- GitLab