From 3af24f1c662e5bca365a2f46191f56a5159135ed Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 1 Mar 2026 19:31:15 +0100 Subject: loading text on form submit --- ui/client-scripts/src/formfeedback.ts | 17 +++++++++++++++++ ui/client-scripts/src/main.ts | 1 + ui/client-scripts/src/pagination.ts | 5 +++++ 3 files changed, 23 insertions(+) create mode 100644 ui/client-scripts/src/formfeedback.ts (limited to 'ui/client-scripts/src') diff --git a/ui/client-scripts/src/formfeedback.ts b/ui/client-scripts/src/formfeedback.ts new file mode 100644 index 0000000..fab3913 --- /dev/null +++ b/ui/client-scripts/src/formfeedback.ts @@ -0,0 +1,17 @@ +/* + This file is part of jellything (https://codeberg.org/metamuffin/jellything) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2026 metamuffin +*/ + +globalThis.addEventListener("DOMContentLoaded", () => { + document.querySelectorAll("form").forEach(form => { + if (!(form instanceof HTMLFormElement)) return + form.addEventListener("submit", () => { + const submit = form.querySelector("input[type=submit]") + if (!(submit instanceof HTMLInputElement)) return + submit.disabled = true + submit.value = submit.dataset.loadingText ?? "..." + }) + }) +}) diff --git a/ui/client-scripts/src/main.ts b/ui/client-scripts/src/main.ts index ba60646..507c5ae 100644 --- a/ui/client-scripts/src/main.ts +++ b/ui/client-scripts/src/main.ts @@ -11,3 +11,4 @@ import "./dangerbutton.ts" import "./log_live.ts" import "./import_live.ts" import "./pagination.ts" +import "./formfeedback.ts" diff --git a/ui/client-scripts/src/pagination.ts b/ui/client-scripts/src/pagination.ts index 62362c1..3226f6c 100644 --- a/ui/client-scripts/src/pagination.ts +++ b/ui/client-scripts/src/pagination.ts @@ -1,3 +1,8 @@ +/* + This file is part of jellything (https://codeberg.org/metamuffin/jellything) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2026 metamuffin +*/ function init_paging() { const el = document.querySelector(".next_page") as HTMLAnchorElement -- cgit v1.3