summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/app.html3
-rw-r--r--src/routes/+layout.svelte22
2 files changed, 19 insertions, 6 deletions
diff --git a/src/app.html b/src/app.html
index 94ca387..9f96d52 100644
--- a/src/app.html
+++ b/src/app.html
@@ -4,9 +4,6 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
- <link rel="preconnect" href="https://fonts.googleapis.com">
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
%sveltekit.head%
</head>
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 5229cac..9b488bd 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -8,6 +8,17 @@
let { children } = $props();
onMount(() => {
+ const loadFonts = () => {
+ if (document.querySelector('link[data-app-fonts="true"]')) return;
+
+ const link = document.createElement("link");
+ link.rel = "stylesheet";
+ link.href =
+ "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
+ link.setAttribute("data-app-fonts", "true");
+ document.head.appendChild(link);
+ };
+
const loadAnalytics = () => {
if (document.querySelector('script[data-goatcounter-script="true"]'))
return;
@@ -21,13 +32,18 @@
document.head.appendChild(script);
};
+ const runDeferredLoads = () => {
+ loadFonts();
+ loadAnalytics();
+ };
+
if (document.readyState === "complete") {
- window.setTimeout(loadAnalytics, 0);
+ window.setTimeout(runDeferredLoads, 0);
return;
}
- window.addEventListener("load", loadAnalytics, { once: true });
- return () => window.removeEventListener("load", loadAnalytics);
+ window.addEventListener("load", runDeferredLoads, { once: true });
+ return () => window.removeEventListener("load", runDeferredLoads);
});
</script>