web/turnstile: use own callback for refreshing the widget

or at least try to, idk man, im so tired of cf turnstile
This commit is contained in:
wukko 2024-11-19 00:20:27 +06:00
parent b31c126cec
commit a3c807a993
No known key found for this signature in database
GPG key ID: 3E30B3F26C7B4AA2
3 changed files with 7 additions and 25 deletions

View file

@ -18,15 +18,15 @@
const setup = () => { const setup = () => {
window.turnstile?.render(turnstileElement, { window.turnstile?.render(turnstileElement, {
sitekey, sitekey,
"refresh-expired": "never",
"error-callback": (error) => { "error-callback": (error) => {
console.log("error code from turnstile:", error); console.log("error code from turnstile:", error);
return true; return true;
}, },
"expired-callback": () => { "expired-callback": () => {
console.log("turnstile expired. i am callback this is my message") console.log("turnstile expired, refreshing neow");
}, turnstile.reset();
"timeout-callback": () => {
console.log("turnstile timed out. i am callback this is my message")
}, },
callback: () => { callback: () => {
$turnstileSolved = true; $turnstileSolved = true;
@ -39,10 +39,6 @@
} else { } else {
turnstileScript.addEventListener("load", setup); turnstileScript.addEventListener("load", setup);
} }
window.addEventListener("focus", () => {
turnstile.refreshIfExpired();
});
}); });
</script> </script>

View file

@ -35,7 +35,7 @@ export const requestSession = async () => {
} }
}); });
turnstile.update(); turnstile.reset();
return response; return response;
} }

View file

@ -10,7 +10,7 @@ const getResponse = () => {
return null; return null;
} }
const update = () => { const reset = () => {
const turnstileElement = document.getElementById("turnstile-widget"); const turnstileElement = document.getElementById("turnstile-widget");
if (turnstileElement) { if (turnstileElement) {
@ -21,21 +21,7 @@ const update = () => {
return null; return null;
} }
const refreshIfExpired = () => {
const turnstileElement = document.getElementById("turnstile-widget");
if (turnstileElement) {
const isExpired = window?.turnstile?.isExpired(turnstileElement);
if (isExpired) {
console.log("expired, refreshing the turnstile widget rn");
return update();
}
console.log("turnstile not expired, nothing to do");
}
}
export default { export default {
getResponse, getResponse,
update, reset,
refreshIfExpired,
} }