···265265266266267267268268+// Forms
269269+// -----
270270+// Adds a `changed` attribute to a form, if the form was "changed".
271271+// This is to help with styling, we don't want to show an error immediately.
272272+273273+document.addEventListener("keyup", e => {
274274+ const form = e.target.closest("form")
275275+ if (form) form.setAttribute("changed", "")
276276+})
277277+278278+279279+document.addEventListener("click", e => {
280280+ if (e.target.tagName !== "BUTTON") return;
281281+ const form = e.target.closest("form")
282282+ if (form) form.setAttribute("changed", "")
283283+})
284284+285285+286286+document.addEventListener("submit", e => {
287287+ const form = e.target.closest("form")
288288+ if (form) form.removeAttribute("changed")
289289+})
290290+291291+292292+268293// Internet Connection
269294// -------------------
270295