Greasy Fork

translator thing

uhhhh if roblox autocaptures spectating names it adds a button and it copies it

// ==UserScript==
// @name         translator thing
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  uhhhh if roblox autocaptures spectating names it adds a button and it copies it
// @author       realwut
// @match        https://www.roblox.com/localization/games/107172930/translations?languageCode=nl
// @icon         https://www.google.com/s2/favicons?domain=roblox.com
// @grant        none
// ==/UserScript==

// IS THE SITE LOADED?
window.addEventListener("load", function(){

    // CREATING THE BUTTON
	let clone = document.querySelector('#selenium-save-entry-button').cloneNode( true );
	clone.setAttribute('id', 'selenium-submit-invalid-button');
	document.querySelectorAll('.col-sm-6')[2].appendChild( clone );
	clone.innerHTML = "Invalid";
	document.getElementById("selenium-submit-invalid-button").style.marginRight = "10px";
	clone.removeAttribute("disabled")

	// DEFINING THE INPUT TEXTBOX
	let inputbox = document.getElementById("selenium-translation-text");

	// INVALID BUTTON LISTENER FUNCTION
	document.getElementById("selenium-submit-invalid-button").addEventListener("click", function() {

		//COPYING AND PASTING THE TEXT
		inputbox.value = document.getElementById("selenium-entry-source-text").innerHTML;
		inputbox.innerHTML = document.getElementById("selenium-entry-source-text").innerHTML;
		inputbox.classList.remove("ng-pristine");
		inputbox.classList.remove("ng-empty");
		inputbox.classList.add("ng-valid");
		inputbox.classList.add("ng-not-empty");
		inputbox.classList.add("ng-dirty");
		inputbox.classList.add("ng-valid-parse");

		// MANUAL TEXTBOX UPDATE (IMPORTANT)
		if ("createEvent" in document) {
			var evt = document.createEvent("HTMLEvents");
			evt.initEvent("change", false, true);
			inputbox.dispatchEvent(evt);
		}
		else {
			inputbox.fireEvent("onchange");
		}

	});
});