diff --git a/main.js b/main.js new file mode 100644 index 0000000..d6cabe2 --- /dev/null +++ b/main.js @@ -0,0 +1,28 @@ +// ==UserScript== +// @name BGG XML Api Link +// @namespace https://boardgamegeek.com/boardgame/ +// @version 1.0.2 +// @description Add a link to the XML Api entry for the given game +// @author Rinma +// @homepage https://forgejo.over-world.org/Rinma/bgg-xml-api-link +// @match https://boardgamegeek.com/boardgame/*/* +// @icon https://www.google.com/s2/favicons?sz=64&domain=boardgamegeek.com +// @grant none +// @updateURL https://forgejo.over-world.org/Rinma/bgg-xml-api-link/raw/branch/main/index.js +// @downloadURL https://forgejo.over-world.org/Rinma/bgg-xml-api-link/raw/branch/main/index.js +// @supportURL https://forgejo.over-world.org/Rinma/bgg-xml-api-link/issues/new +// ==/UserScript== + +(function() { + 'use strict'; + + const xmlApiLinkButton = document.createElement("button"); + xmlApiLinkButton.innerHTML = "Open XML Api"; + xmlApiLinkButton.classList.add("btn", "btn-xs", "btn-white"); + xmlApiLinkButton.onclick = () => { + window.open(`https://api.geekdo.com/xmlapi/boardgame/${window.location.pathname.split("/")[2]}`, "_blank"); + } + + const buttonMenu = document.querySelector(".game-header-secondary-actions"); + buttonMenu.insertBefore(xmlApiLinkButton, buttonMenu.firstChild); +})(); \ No newline at end of file