When items in your GOG.com wishlist are discounted, only the discounted items will be shown. Provides a toggle to display all items and remembers your last setting.
// ==UserScript==
// @name GOG.com Wishlist Discounted Items Toggle
// @version 1.0
// @namespace https://greasyfork.org/users/219548
// @description When items in your GOG.com wishlist are discounted, only the discounted items will be shown. Provides a toggle to display all items and remembers your last setting.
// @author mnnks
// @grant GM_setValue
// @grant GM_getValue
// @include https://www.gog.com/account/wishlist
// ==/UserScript==
function conjureUpStylesheet() {
var stylesheet = document.createElement("style");
stylesheet.type = "text/css";
stylesheet.textContent = ".account__products .product-row {\ndisplay: none;\n}\n\n.account__products .is-discounted";
stylesheet.textContent += "{\ndisplay: block;\n}\n\n.discount-toggle .menu-link {\ncolor: white;\n}";
document.body.appendChild(stylesheet);
// check the last stored setting to determine if we need to deactivate the stylesheet
stylesheet.disabled = displayAllItems;
return stylesheet;
}
var numberOfDiscountedItems = document.getElementsByClassName("is-discounted").length;
if (numberOfDiscountedItems) {
//displayDiscountedCount(numberOfDiscountedItems); // probleem met 'clear filters'
//var displayAllItems = confirm('Show only discounted items?');
var displayAllItems = GM_getValue("displayAllItems", false);
// create stylesheet to hide nondiscounted items
var cssDiscountedOnly = conjureUpStylesheet();
// create toggle switch...
var discountedToggleDiv = document.createElement("div");
discountedToggleDiv.className = "menu-tray";
discountedToggleDiv.innerHTML = '<div class="menu-item discount-toggle"><a class="menu-link menu-link" id="toggleDiscounted">-%</a></div>';
// ...and inject it into the menu bar
var menu = document.getElementsByClassName("menu__container");
menu[0].appendChild(discountedToggleDiv);
function toggleDiscountedOnly() {
displayAllItems = !displayAllItems;
cssDiscountedOnly.disabled = displayAllItems;
GM_setValue("displayAllItems", displayAllItems);
}
document.getElementById("toggleDiscounted").addEventListener("click", toggleDiscountedOnly);
}