NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name AH Cart total
// @description Show a cart total on the shoppingcart page
// @copyright 2019, BasSteenbeeke (https://openuserjs.org/users/BasSteenbeeke)
// @license GPL-3.0-or-later
// @author Bas Steenbeeke
// @match https://www.ah.nl/mijnlijst
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// @run-at document-start
// @version 1
// ==/UserScript==
$(document).on('DOMSubtreeModified', '.shoppinglist-lane', function() {
getTotals();
});
function getTotals() {
var productrow = 0;
var price = 0;
var count = 0;
var pricetotal = 0;
var total = 0;
$('body').find('.product').each(function() {
price = Number($(this).find('.price').not('.price--was').text());
count = $(this).find('.product-controls__item--show-controls__quantity').text();
// 2e gratis uitzondering (dirty!)
if ( $(this).find('.product-description__heading:contains("2e gratis")').length ) {
if (count >= 2) {
var newprice = (price / 2);
price = newprice;
}
}
// 2 voor uitzondering (dirty!)
if ( $(this).find('.product-description__heading:contains("2 voor")').length ) {
if (count >= 2) {
var str = $(this).find('.product-description__heading').text();
var lastword = str.split(" ").pop();
var newprice = parseInt(lastword);
price = newprice;
if(count == 2) {
pricetotal += price;
} else {
pricetotal += (price * count);
}
}
} else {
pricetotal += (price * count);
}
});
var total = pricetotal.toFixed(2);
if($('.totals').length) {
$('.totals').html('<div class="totals" style="float: left; font-weight: bold; padding: 0 10px; font-size: 18px;">Totaal: '+total+' -- Dirty!</div>');
} else {
$('<div class="totals" style="float: left; font-weight: bold; padding: 0 10px; font-size: 18px;">Totaal: '+total+' -- Dirty!</div>').prependTo('.order-controls');
}
}