diff --git a/mealiecompute.js b/mealiecompute.js new file mode 100644 index 0000000..7e66711 --- /dev/null +++ b/mealiecompute.js @@ -0,0 +1,77 @@ +// ==UserScript== +// @name Mealie compute +// @namespace https://mealie.ilnee.com/ +// @include https://mealie.ilnee.com/ +// @version 2025-12-02 +// @description accumulate the weight of ingredients on mealie.ilnee.com +// @author me +// @match https://*.ilnee.com/* +// @require https://code.jquery.com/jquery-3.7.1.slim.min.js +// @icon https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net +// @grant none +// ==/UserScript== +console.log("hello"); +window.onload = function() { + if (window.jQuery) { + console.log("jQuery loaded"); + } +} + +var sum; + +function summyshizzle() { + sum = 0; + var h2 = $('h2:contains("Ingredients"):first'); + + var items = h2.parent().parent().find('div.v-list-item-title > div.ingredient-item > div.d-inline > p'); + //var items = $('div.text-subtitle-1.dense-markdown.ingredient-item > div.d-inline > p'); + var match; + var firstNumber = 0; + items.each(function(i, obj) { + //console.log(i); + //console.log(obj.innerHTML); + match = obj.innerHTML.match(/\d+/); + firstNumber = match ? parseInt(match[0], 10) : null; + //console.log(firstNumber); + sum += firstNumber; + console.log(sum); + + }); + + return sum; + +} + + +$(document) + .ready(function() { + $('body').on('click', 'button[large="false"][type="button"]', (function(e) { + sum = 0; + sum = summyshizzle(); + // console.log('sum: ' + sum); + $('div.ilneesum').remove(); + + $(this).parent().parent().parent().parent().parent().after('
' + sum + '
'); + + })); + }); +/* +$(document) + .ready(function() { + + $('body').on('click', 'div > div.v-card[aria-haspopup="menu"]', (function(e) { + + console.log('clicked'); + + + $('body').on('change', 'input.v-field__input[min="0"][type="number"]', (function(e) { + var sum = 0; + summyshizzle(sum); + + })); + })); + }); + */ + +console.log('done'); +console.log(document.readyState); \ No newline at end of file