// ==UserScript== // @name Relationship to JRC Date: add Today button // @namespace https://github.com/nate-kean/ // @version 20251106 // @description Add a button to the Relationship to JRC Date field that sets it to today's date. // @author Nate Kean // @match https://jamesriver.fellowshiponego.com/members/edit/* // @match https://jamesriver.fellowshiponego.com/members/add* // @icon https://www.google.com/s2/favicons?sz=64&domain=fellowshiponego.com // @grant none // @license MIT // @require https://update.greasyfork.icu/scripts/554804/1689525/Nate%27s%20Day%20Button.js // @downloadURL none // ==/UserScript== (async function() { document.head.insertAdjacentHTML("beforeend", ` `); function delay(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } function getDateString() { return new Intl.DateTimeFormat("en-US", { month: "2-digit", day: "2-digit", year: "numeric", }).format(new Date()); } while (true) { for (const formGroup of document.querySelectorAll(".form-group")) { if (formGroup.querySelector("label")?.textContent.trim() !== "Relationship to JRC Date") { continue; } const btn = document.createElement("button"); btn.classList.add("nates-day-button", "today"); btn.textContent = "Today"; btn.type = "button"; btn.addEventListener("click", () => { formGroup.querySelector("input").value = getDateString(); }, { passive: true }); formGroup.prepend(btn); return; } await delay(100); } })();