Untitled
unknown
javascript
3 years ago
2.9 kB
12
Indexable
// ==UserScript== // @name GS Json uploader // @namespace http://tampermonkey.net/ // @version 0.1 // @description Quick json uploader // @author Lvl5Mage // @match https://nft.gamestop.com/mint // @icon https://www.google.com/s2/favicons?sz=64&domain=gamestop.com // @grant none // ==/UserScript== (function() { 'use strict'; document.addEventListener('keydown', function (a) { if(a.which === 81){ uploader(); } }, false); const uploader = () =>{ const positionDiv = document.querySelector('.PreviewWrapper-sc-dwxt2k-1'); const newInput = document.createElement("input"); newInput.innerText = "Upload JSON"; newInput.type = "file"; newInput.style = "position:absolute;z-index:999;background: #88d668;border: 1px solid black;margin: 30px;padding: 5px;"; positionDiv.appendChild(newInput); function onChange(event) { var reader = new FileReader(); reader.onload = onReaderLoad; reader.readAsText(event.target.files[0]); } function onReaderLoad(event){ var obj = JSON.parse(event.target.result); console.log(obj); writeData(obj); } function inputTrigger(input, value){ let lastValue = input.value; input.value = value; let event = new Event('input', { bubbles: true }); event.simulated = true; let tracker = input._valueTracker; if (tracker) { tracker.setValue(lastValue); } input.dispatchEvent(event); } function writeData(obj){ inputTrigger(document.querySelector('input[name="name"]'), obj.name); inputTrigger(document.querySelector('textarea[name="description"]'), obj.description); inputTrigger(document.querySelector('input[name="amount"]'), 1);// EDIT if you want to mint more inputTrigger(document.querySelector('input[name="royalty"]'), obj.royalty_percentage || 10);// EDIT if you want different royalties obj.attributes.map((attr, index) =>{ //document.querySelector('.etawXs').innerHTML += document.querySelector('.cvFZzj').outerHTML; document.querySelector('button[aria-label="Add Row"]').click(); setTimeout(function() { const inputContainer = document.getElementsByClassName('sc-fivaXQ')[index]; inputTrigger(inputContainer.querySelector('input[aria-label="Label"]'), attr.trait_type); inputTrigger(inputContainer.querySelector('input[aria-label="Value"]'), attr.value); },200) }); } newInput.addEventListener('change', onChange); } })();
Editor is loading...