Last active
May 6, 2023 03:12
-
-
Save kiosion/70fee4aaff097249f4babc899ea5a3f9 to your computer and use it in GitHub Desktop.
Grailed modal keyhandler TamperMonkey userscript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Grailed Modal Keyhandler | |
// @namespace https://www.grailed.com/ | |
// @version 0.1 | |
// @description Handle keypresses in image modals like should be fucking done by default :) | |
// @author Kiosion | |
// @match https://www.grailed.com/* | |
// @icon https://www.google.com/s2/favicons?sz=64&domain=grailed.com | |
// @grant none | |
// ==/UserScript== | |
(function () { | |
'use strict'; | |
const keyUpHandler = (event) => { | |
if (!['ArrowLeft', 'ArrowRight', 'Escape'].includes(event.key)) { | |
return; | |
} | |
const sliderModal = document.querySelectorAll('[class*="Modal_photoGalleryModal"]')?.[0]; | |
if (!sliderModal) { | |
return; | |
} | |
switch (event.key) { | |
case 'ArrowLeft': { | |
event.preventDefault(); | |
const leftArrow = sliderModal.querySelector('.slider-control-centerleft button'); | |
leftArrow?.click?.(); | |
break; | |
} | |
case 'ArrowRight': { | |
event.preventDefault(); | |
const rightArrow = sliderModal.querySelector('.slider-control-centerright button'); | |
rightArrow?.click?.(); | |
break; | |
} | |
case 'Escape': { | |
event.preventDefault(); | |
const closeButton = sliderModal.querySelector('a.close'); | |
closeButton?.click?.(); | |
break; | |
} | |
} | |
}; | |
window.addEventListener('keyup', keyUpHandler); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment