Add a button to the Relationship to JRC Date field that sets it to today's date.
// ==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.org/scripts/554804/1689525/Nate%27s%20Day%20Button.js
// ==/UserScript==
(async function() {
document.head.insertAdjacentHTML("beforeend", `
<style id="nates-today-button-css">
.nates-day-button.today {
float: right;
margin-top: -2px;
}
</style>
`);
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);
}
})();