web/turnstile: refresh turnstile if it expires in background

also renamed `turnstileLoaded` to `turnstileSolved` for more clarity
This commit is contained in:
wukko
2024-11-18 21:05:47 +06:00
parent e09e098b27
commit b38cb77952
5 changed files with 31 additions and 17 deletions

View File

@ -2,7 +2,9 @@
import { onMount } from "svelte";
import { cachedInfo } from "$lib/api/server-info";
import { turnstileLoaded, turnstileCreated } from "$lib/state/turnstile";
import { turnstileSolved, turnstileCreated } from "$lib/state/turnstile";
import turnstile from "$lib/api/turnstile";
let turnstileElement: HTMLElement;
let turnstileScript: HTMLElement;
@ -21,7 +23,7 @@
return true;
},
callback: () => {
$turnstileLoaded = true;
$turnstileSolved = true;
}
});
}
@ -31,6 +33,10 @@
} else {
turnstileScript.addEventListener("load", setup);
}
window.addEventListener("focus", () => {
turnstile.refreshIfExpired();
});
});
</script>