aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/routes/(app)/reset/[code]/+page.svelte20
-rw-r--r--src/routes/(static)/login/+page.svelte18
-rw-r--r--src/routes/(static)/register/+page.svelte18
-rw-r--r--src/routes/(static)/support/+page.svelte20
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>