aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/scripts')
-rw-r--r--src/scripts/common/login/form-caching.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/scripts/common/login/form-caching.ts b/src/scripts/common/login/form-caching.ts
index bde6442..508d076 100644
--- a/src/scripts/common/login/form-caching.ts
+++ b/src/scripts/common/login/form-caching.ts
@@ -1,7 +1,12 @@
import { addPostListener, addPostResponder, JQueryAjaxResponse } from "@/shared/intercept-jquery-ajax";
+/** Caches the login area HTML to avoid re-fetching it on subsequent requests. */
let loginAreaHTML: string | null = null;
+/**
+ * Intercepts `viewLoginAreaAction` AJAX requests and serves the cached HTML
+ * if available, avoiding an unnecessary network round-trip.
+ */
addPostResponder(
"viewLoginAreaAction",
function(_args): JQueryAjaxResponse | undefined | null {
@@ -13,10 +18,14 @@ addPostResponder(
}
);
+/**
+ * Listens for successful `viewLoginAreaAction` responses and stores the
+ * returned HTML so the responder above can serve it from cache later.
+ */
addPostListener(
"viewLoginAreaAction",
function(_args, result): void {
- loginAreaHTML = result.data?.toString() ?? "";
+ loginAreaHTML = result.data?.toString() ?? null;
},
false
);