GOG Store: add direct search to gog-games and 'no commentary' gameplay videos.

Adds links for Gog store to gameplay videos without youtubers voice and direct search on Gog-games.to. Based on CrazyMan390's script. You can also use Ublock to remove "Buy" links like the screenshot.

// ==UserScript==
// @name         GOG Store: add direct search to gog-games and 'no commentary' gameplay videos.
// @namespace    masterofobzene
// @author       masterofobzene
// @version      1.2
// @description  Adds links for Gog store to gameplay videos without youtubers voice and direct search on Gog-games.to. Based on CrazyMan390's script. You can also use Ublock to remove "Buy" links like the screenshot.
// @require      https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
// @match        https://www.gog.com/game/*
// @match        https://www.gog.com/en/game/*
// @homepage
// @run-at       document-end
// @grant        none
// @license      MIT
// ==/UserScript==

var pirateLinks = [{
        url: "https://gog-games.to/search/",
        urlSpecial: "",
        title: "Search on GoG-Games"
    },
        {
        url: "https://www.youtube.com/results?search_query=",
        urlSpecial: "" + 'gameplay no commentary',
        title: "Gameplay Video"
                   },
];

var storePages = [{
        url: "https://www.gog.com/en/game/*",
        title: "GOG"
    }];

var storePageResult = "";

storePages.forEach((e) => {
    if (!!document.URL.match(e.url)) storePageResult = e.title;
})

console.log("Domain Match: ", storePageResult);

var appName = "";

switch (storePageResult) {
    case "GOG":
        appName = document.getElementsByClassName("productcard-basics__title")[0].textContent;
        pirateLinks.forEach((e) => {
            $("button.cart-button")[0].parentElement.parentElement.append(rigGOG(e.url + appName + e.urlSpecial, e.title))
        })
        break;
}

function rigGOG(href, innerHTML) {
    let element = document.createElement("a");
    element.target = "_blank";
    element.style = "margin: 5px 0 5px 0 !important; padding: 5px 10px 5px 10px;";
    element.classList.add("button");
    element.classList.add("button--big");
    element.classList.add("cart-button");
    element.classList.add("ng-scope");
    element.href = href;
    element.innerHTML = innerHTML;
    return element;
}