aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/autofill-otp.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/shared/autofill-otp.ts b/src/shared/autofill-otp.ts
new file mode 100644
index 0000000..e05ea7c
--- /dev/null
+++ b/src/shared/autofill-otp.ts
@@ -0,0 +1,31 @@
+type AutofillOTPRule = readonly [string, string]
+
+let otpAutofillList: AutofillOTPRule[] = [];
+
+document.addEventListener("DOMContentLoaded", () => {
+ const proxiedPost = $.post;
+
+ $.post = function() {
+ for (const rule of otpAutofillList) {
+ if (arguments[0].endsWith(rule[0])) {
+ const element: HTMLInputElement | null = document.querySelector(rule[1]) as HTMLInputElement | null;
+
+ if (element) {
+ const callback = arguments[2];
+ arguments[2] = (data: any) => {
+ element!.value = data?.messageShow || "";
+ callback(data);
+ };
+ }
+
+ break;
+ }
+ }
+
+ return proxiedPost.apply(this, Array.from(arguments) as any);
+ };
+});
+
+export const addAutofillOtps = (addedOTPAutofillList: AutofillOTPRule[]) => {
+ otpAutofillList = otpAutofillList.concat(addedOTPAutofillList);
+};