aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/common
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-09-29 17:53:30 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-09-29 17:53:30 +0530
commit9a4ff431ae2d9788de80bad243fb055cd488e6ac (patch)
treec7310d7314364cab66f747b132dbd2aa41e54bc3 /src/scripts/common
parentfa5e6fad9af6df2890bd0f18c47f8f4fb9a420fa (diff)
parentb200c1345392c055bfe48e1c06d6dfc2a0768565 (diff)
downloadbanglar-bhumi-utils-9a4ff431ae2d9788de80bad243fb055cd488e6ac.tar.gz
banglar-bhumi-utils-9a4ff431ae2d9788de80bad243fb055cd488e6ac.zip
Merge branch 'adding-firefox-support'
Diffstat (limited to 'src/scripts/common')
-rw-r--r--src/scripts/common/login/form-caching.ts22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/scripts/common/login/form-caching.ts b/src/scripts/common/login/form-caching.ts
index bde6442..656de6e 100644
--- a/src/scripts/common/login/form-caching.ts
+++ b/src/scripts/common/login/form-caching.ts
@@ -1,22 +1,28 @@
import { addPostListener, addPostResponder, JQueryAjaxResponse } from "@/shared/intercept-jquery-ajax";
-let loginAreaHTML: string | null = null;
+/** Caches the login area HTML to avoid re-fetching it on subsequent requests. */
+let loginAreaHTML: JQueryAjaxResponse | 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 {
- return loginAreaHTML
- ? {
- data: loginAreaHTML
- }
- : null;
+ function(_args): JQueryAjaxResponse | null {
+ return loginAreaHTML;
}
);
+/**
+ * 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() ?? "";
+ if (result.textStatus === "success")
+ loginAreaHTML = result;
},
false
);