Untitled
unknown
javascript
3 years ago
2.9 kB
13
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...