Greasy Fork is available in English.
Zapamiętuje w local storage najniższe ceny gier z listy życzeń i pokazuje je obok aktualnie najniższej ceny. Jeśli aktualna cena jest mniejsza od dotychczas zapisanej, wtedy tytuł oznaczany jest na zielono, jeśli cena jest równa naniższej - na niebiesko.
当前为
// ==UserScript==
// @name Bazar minimalne ceny
// @namespace http://tampermonkey.net/
// @version 0.5
// @description Zapamiętuje w local storage najniższe ceny gier z listy życzeń i pokazuje je obok aktualnie najniższej ceny. Jeśli aktualna cena jest mniejsza od dotychczas zapisanej, wtedy tytuł oznaczany jest na zielono, jeśli cena jest równa naniższej - na niebiesko.
// @author nochalon
// @match https://bazar.lowcygier.pl/
// @match https://bazar.lowcygier.pl/?*
// @icon https://bazar.lowcygier.pl/favicon.ico
// @grant none
// ==/UserScript==
(function() {
'use strict';
var re = /\d+\.\d+ zł/g;
var ths = document.querySelectorAll(".row.game-list.wishlist-item");
console.log("Local storage contains " + localStorage.length + " items");
for (var i = 0; i < ths.length; i++) {
var titleElem = ths[i].querySelector(".media-heading > a");
var title = titleElem.innerHTML;
var priceElem = ths[i].querySelector(".pc > p.prc");
var price = priceElem.innerHTML;
var priceFloat = parseFloat(price.replace(',', '.'));
var inStorage = JSON.parse(localStorage.getItem(title));
if (inStorage === null || inStorage.price > priceFloat) {
console.log("Replacing " + title + " " + inStorage + " with " + priceFloat);
var newItem = {'price': priceFloat, 'timestamp': Date.now()};
localStorage.setItem(title, JSON.stringify(newItem));
if (inStorage === null) continue;
}
var diff = inStorage.price - priceFloat;
if (diff > 0) {
titleElem.style.color = '#00E000';
priceElem.style.color = '#00E000';
var lowestPriceElem = document.createElement("p");
lowestPriceElem.innerHTML = "" + parseFloat(inStorage.price).toFixed(2) + "zł (+" + (diff/priceFloat*100.0).toFixed(2) + "%)";
priceElem.parentNode.appendChild(lowestPriceElem);
} else if (diff < 0) {
var lowestPriceElem = document.createElement("p");
lowestPriceElem.innerHTML = "" + parseFloat(inStorage.price).toFixed(2) + "zł (" + (diff/priceFloat*100.0).toFixed(2) + "%)";
priceElem.parentNode.appendChild(lowestPriceElem);
var time = document.createElement("time");
var timeVal = new Date(inStorage.timestamp).toLocaleString();
time.innerHTML = timeVal;
priceElem.parentNode.appendChild(time);
} else {
titleElem.style.color = '#0000E0';
priceElem.style.color = '#0000E0';
}
}
})();