Greasy Fork is available in English.

Count Thumbtack costs

Count total costs on Thumbtack on the payments screen

// ==UserScript==
// @name         Count Thumbtack costs
// @namespace    http://tampermonkey.net/
// @version      2024-08-01
// @description  Count total costs on Thumbtack on the payments screen
// @author       You
// @match        https://www.thumbtack.com/profile/payments/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=thumbtack.com
// @grant        none
// @license      MIT
// ==/UserScript==

function getElementByXpath(path) {
    return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}

function waitForElm(selector) {
    return new Promise(resolve => {
        if (getElementByXpath(selector)) {
            return resolve(getElementByXpath(selector));
        }

        const observer = new MutationObserver(mutations => {
            if (getElementByXpath(selector)) {
                resolve(getElementByXpath(selector));
                observer.disconnect();
            }
        });

        observer.observe(document.body, {
            childList: true,
            subtree: true
        });
    });
}

(async function() {
    'use strict';


    window.onkeypress = async function(event) {
        if (event.keyCode == 96) { // Keycode 96 is ` (back quote)
            console.log("Keypress");
            var amounts = 0.0;
            var amount;
            while (getElementByXpath("//div[contains(@class, \"b black\")]")) {
                amount = getElementByXpath("//div[contains(@class, \"b black\")]");
                amount.remove();
                amounts = amounts + parseFloat(amount.textContent.replace("$", ""));
            }
            console.log(amounts);
            console.log("Ended loop");
        }
    }
})();