// ==UserScript== // @name Musicbrainz Artist SAMBL Button // @description Adds a SAMBL Button to compatible artists // @version 2024-1-7 // @author Lioncat6 // @license MIT // @namespace https://github.com/Lioncat6/MusicBrainz-UserScripts/ // @homepageURL https://github.com/Lioncat6/MusicBrainz-UserScripts/ // @supportURL https://github.com/Lioncat6/MusicBrainz-UserScripts/issues // @match https://musicbrainz.org/artist/* // @match https://beta.musicbrainz.org/artist/* // @icon https://lioncat6.github.io/SAMBL/assets/images/favicon.svg // @grant none // @downloadURL none // ==/UserScript== (function() { "use strict"; let artistName = document.getElementsByClassName("artistheader")[0].getElementsByTagName("h1")[0]; let mbid = document.location.pathname.split("/artist/")[1].split("/")[0]; let spIcons = document.getElementsByClassName("spotify-favicon"); if (spIcons) { let spids = ""; for (let icon of spIcons) { let spUrl = icon.getElementsByTagName("a")[0].href; if (spUrl.match(/\/artist\/([^/?]+)/)) { let spId = spUrl.match(/\/artist\/([^/?]+)/)[1]; if (spids == "") { spids = spId; } else { spids = spids + "," + spId; } } } let htmlToInsert = `SAMBL Icon`; if (spIcons.length > 1) { htmlToInsert = `SAMBL Icon`; } artistName.innerHTML = artistName.innerHTML + htmlToInsert; } })();