diff options
| -rw-r--r-- | src/routes/(app)/reset/[code]/+page.svelte | 20 | ||||
| -rw-r--r-- | src/routes/(static)/login/+page.svelte | 18 | ||||
| -rw-r--r-- | src/routes/(static)/register/+page.svelte | 18 | ||||
| -rw-r--r-- | src/routes/(static)/support/+page.svelte | 20 |
4 files changed, 38 insertions, 38 deletions
diff --git a/src/routes/(app)/reset/[code]/+page.svelte b/src/routes/(app)/reset/[code]/+page.svelte index 755b7d19..ce43a79d 100644 --- a/src/routes/(app)/reset/[code]/+page.svelte +++ b/src/routes/(app)/reset/[code]/+page.svelte @@ -1,7 +1,7 @@ <script> import { PUBLIC_RECAPTCHA_SITE_KEY } from "$env/static/public"; import { browser } from "$app/environment"; - import { onDestroy, tick } from "svelte"; + import { onDestroy, onMount, tick } from "svelte"; import { t } from "$lib/translations"; import PasswordInput from "$comp/PasswordInput.svelte"; import Icon from "$comp/Icon.svelte"; @@ -15,7 +15,15 @@ let loading; let recaptchaToken = ""; let recaptchaSiteKey = PUBLIC_RECAPTCHA_SITE_KEY; - let isTor = $derived(browser && location.hostname.endsWith(".onion")); + let isTor = browser && location.hostname.endsWith(".onion"); + + onMount(() => { + if (!isTor && recaptchaSiteKey) { + let s = document.createElement("script"); + s.src = "https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey; + document.head.appendChild(s); + } + }); const getRecaptchaToken = () => new Promise((resolve, reject) => { @@ -60,14 +68,6 @@ }); </script> -{#if !isTor} -<svelte:head - ><script - src={"https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey} - ></script></svelte:head -> -{/if} - <div class="pt-10"> <div class="w-[243px] mx-auto mb-10"> <a href="/"> diff --git a/src/routes/(static)/login/+page.svelte b/src/routes/(static)/login/+page.svelte index bec702a1..04044060 100644 --- a/src/routes/(static)/login/+page.svelte +++ b/src/routes/(static)/login/+page.svelte @@ -39,9 +39,17 @@ let { challenge } = $derived(data); let recaptchaSiteKey = PUBLIC_RECAPTCHA_SITE_KEY; - let isTor = $derived(browser && location.hostname.endsWith(".onion")); + let isTor = browser && location.hostname.endsWith(".onion"); let token = $state(""); + onMount(() => { + if (!isTor && recaptchaSiteKey) { + let s = document.createElement("script"); + s.src = "https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey; + document.head.appendChild(s); + } + }); + let cancel = () => (need2fa = false); let username = $state(), @@ -153,14 +161,6 @@ }); </script> -{#if !isTor} -<svelte:head - ><script - src={"https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey} - ></script></svelte:head -> -{/if} - <div class="mx-auto md:shadow-xl rounded-3xl max-w-xl w-full md:w-[480px] md:p-8 mb-20 space-y-5" > diff --git a/src/routes/(static)/register/+page.svelte b/src/routes/(static)/register/+page.svelte index cc3eb722..bb3af128 100644 --- a/src/routes/(static)/register/+page.svelte +++ b/src/routes/(static)/register/+page.svelte @@ -30,7 +30,15 @@ let { form, data } = $props(); let { challenge } = $derived(data); let recaptchaSiteKey = PUBLIC_RECAPTCHA_SITE_KEY; - let isTor = $derived(browser && location.hostname.endsWith(".onion")); + let isTor = browser && location.hostname.endsWith(".onion"); + + onMount(() => { + if (!isTor && recaptchaSiteKey) { + let s = document.createElement("script"); + s.src = "https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey; + document.head.appendChild(s); + } + }); onMount(() => { if (browser) { @@ -255,14 +263,6 @@ }); </script> -{#if !isTor} -<svelte:head - ><script - src={"https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey} - ></script></svelte:head -> -{/if} - {#if need2fa} <Pin bind:value={token} title="Enter 2FA Code" {cancel} notify={false} /> {/if} diff --git a/src/routes/(static)/support/+page.svelte b/src/routes/(static)/support/+page.svelte index 620ed018..4cf9706d 100644 --- a/src/routes/(static)/support/+page.svelte +++ b/src/routes/(static)/support/+page.svelte @@ -1,7 +1,7 @@ <script> import { PUBLIC_RECAPTCHA_SITE_KEY } from "$env/static/public"; import { browser } from "$app/environment"; - import { onDestroy } from "svelte"; + import { onDestroy, onMount } from "svelte"; import { fail, success, post } from "$lib/utils"; import { scale } from "svelte/transition"; import Icon from "$comp/Icon.svelte"; @@ -15,7 +15,15 @@ let message = $state(); let sent = $state(); let recaptchaSiteKey = PUBLIC_RECAPTCHA_SITE_KEY; - let isTor = $derived(browser && location.hostname.endsWith(".onion")); + let isTor = browser && location.hostname.endsWith(".onion"); + + onMount(() => { + if (!isTor && recaptchaSiteKey) { + let s = document.createElement("script"); + s.src = "https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey; + document.head.appendChild(s); + } + }); let submit = (e) => { e.preventDefault(); @@ -62,14 +70,6 @@ }); </script> -{#if !isTor} -<svelte:head - ><script - src={"https://www.google.com/recaptcha/api.js?render=" + recaptchaSiteKey} - ></script></svelte:head -> -{/if} - <div class="container max-w-lg mx-auto space-y-8 p-4 pb-20"> {#if sent} <h1 class="text-center text-3xl lg:text-4xl font-semibold">Thank you!</h1> |
