// ==UserScript== // @name Neoboard User Tagger // @namespace neotagger // @description Local user tags for the neoboards // @include *://www.neopets.com/neoboards/* // @version 1.1 // @grant none // @require https://greasyfork.org/scripts/34286-grant-none-shim/code/grant%20none%20shim.js?version=224672 // @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js // @downloadURL https://update.greasyfork.icu/scripts/34287/Neoboard%20User%20Tagger.user.js // @updateURL https://update.greasyfork.icu/scripts/34287/Neoboard%20User%20Tagger.meta.js // ==/UserScript== var usersOnPage = []; var savedTags = []; // [["username","tag"],["username","tag"]] $(document).ready(function(){ addStyle(); loadSavedData(); usersOnPage = $.merge($('a[href*="randomfriend.phtml?user="] > b').parent(), $('a[href*="userlookup.phtml?user="] > strong').parent()); createTags(); }); function addStyle() { $("body").prepend(""); } function loadSavedData() { if(GM_getValue("savedTags")){ savedTags = JSON.parse(GM_getValue("savedTags")); } } function saveData() { GM_setValue("savedTags", JSON.stringify(savedTags)); } function createTags() { // remove any existing tags so we can // add them with updated information $('.neotag').remove(); for (var i = 0; i < usersOnPage.length; i++) { var tagText = "-"; for (var j = 0; j < savedTags.length; j++) { if (savedTags[j][0] == getUsernameFromElement($(usersOnPage[i]))) { tagText = savedTags[j][1]; } } $(usersOnPage[i]).after("