// ==UserScript== // @name Neopets - Remember last zap // @version 2024-04-15 // @description Remember last choice; auto redirect to zap selection page // @author senerio // @match *://*.neopets.com/petpetlab.phtml // @match *://*.neopets.com/lab2.phtml // @match *://*.neopets.com/lab.phtml // @icon https://www.google.com/s2/favicons?sz=64&domain=neopets.com // @grant none // @downloadURL https://www.scriptneo.com/scripts/download.php?id=18 // @updateURL https://www.scriptneo.com/scripts/download.php?id=18 // ==/UserScript== function load() { const savedName = localStorage?.getItem('np_'+loc); document.querySelector(`.content form :not([aria-hidden=true])>*>input[value=${savedName}]`)?.click(); document.querySelectorAll('.content form :not([aria-hidden=true]) input[type=radio][name=chosen]') .forEach(e => e.addEventListener('click', (event) => { localStorage?.setItem('np_'+loc, event.target.value); })); } const loc = location.pathname.split(/\/|\./).at(-2); if(loc=='lab') { location.replace('lab2.phtml'); } else if(loc=='petpetlab') { load(); } else if(loc=='lab2') { const observer = new MutationObserver(() => { load(); observer.disconnect(); }); observer.observe(document.querySelector('#bxlist'), {childList: true}); }