View revivability

Allow anyone to see if people can be revived.

// ==UserScript==
// @name         View revivability
// @namespace    http://tampermonkey.net/
// @version      0.31
// @description  Allow anyone to see if people can be revived.
// @author       olesien
// @match        https://www.torn.com/factions.php?step=*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=torn.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    //Note on api key: Use an api key from a friend that is not in a faction. Minimal access is fine. Person HAS to have the ability to revive.
         let apiKey = String(localStorage.getItem("rev-key"));
     if (apiKey.length < 10) {
        let key = prompt("Please enter key (public is ok)", "");
        console.log(key);
        if (key.length > 10) {
            console.log("setting....");
            localStorage.setItem("rev-key", key);
            apiKey = key;
        } else {
            alert("That is not a key");
        }
    }
    const delay = 2000;
    let isRunning = false;
    const checkUser = async (row) => {
        const userElement = row.querySelector('[class^="honorWrap"] > a');
        console.log(userElement.href);
        const userId = Number(userElement.href.replace(/\D/g,''));
             fetch(`https://api.torn.com/user/${userId}?selections=&key=${apiKey}`)
   .then(response => response.json())
   .then(data => {
       if (data && "revivable" in data) {
           console.log(userId);
           console.log(data.revivable);
           const revivable = data.revivable === 1;
           if (revivable) {
               row.style.backgroundColor = "rgba(176, 16, 16, 0.35)";
           } else {
              row.style.backgroundColor = "rgba(96, 176, 16, 0.35)";
           }
       } else {
           row.style.backgroundColor = "orange";
       }
   });
    }

    const start = setTimeout(() => {
        const rows = Array.from(document.querySelectorAll(".table-row"));

        const memberIconsEl = document.querySelector(".member-icons");
        console.log(rows);

        const element = document.createElement("button");
        element.innerText = "Check for revivability";
        memberIconsEl.appendChild(element);

        element.addEventListener('click', () => {
            if (isRunning) return;
           rows.forEach((row, index) => {
               isRunning = true;
              const timeout = setTimeout(() => {
                 checkUser(row);
                  if (index + 1 === rows.length) {
                     isRunning = false;
                  }
              }, delay * index)

        })
        })


    }, 2000)


})();