diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-02-09 00:05:15 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-02-09 00:05:15 +0300 |
| commit | 22986c36fe3ed7ad3fe585b1da608c2e5fb2a54d (patch) | |
| tree | c53149dadafc1b6335e9cb93597e6f393b77a11a /src | |
| parent | 13c7605f0eb70a57ebbbe07a056870bae9bb830c (diff) | |
formatting and lazy load
Diffstat (limited to 'src')
| -rw-r--r-- | src/app.html | 1 | ||||
| -rw-r--r-- | src/routes/+layout.svelte | 38 |
2 files changed, 31 insertions, 8 deletions
diff --git a/src/app.html b/src/app.html index ae37ad7..94ca387 100644 --- a/src/app.html +++ b/src/app.html @@ -8,7 +8,6 @@ <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% - <script data-goatcounter="https://stats.wsap.dev/count" async src="//stats.wsap.dev/count.js"></script> </head> <body data-sveltekit-preload-data="hover"> diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index ac15a2e..5229cac 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,20 +1,44 @@ <script lang="ts"> - import Header from "$lib/components/Header.svelte"; - import Footer from "$lib/components/Footer.svelte"; - import favicon from "$lib/assets/favicon.svg"; - import "$lib/styles/global.css"; + import { onMount } from "svelte"; + import Header from "$lib/components/Header.svelte"; + import Footer from "$lib/components/Footer.svelte"; + import favicon from "$lib/assets/favicon.svg"; + import "$lib/styles/global.css"; - let { children } = $props(); + let { children } = $props(); + + onMount(() => { + const loadAnalytics = () => { + if (document.querySelector('script[data-goatcounter-script="true"]')) + return; + + const script = document.createElement("script"); + script.src = "https://stats.wsap.dev/count.js"; + script.async = true; + script.defer = true; + script.setAttribute("data-goatcounter", "https://stats.wsap.dev/count"); + script.setAttribute("data-goatcounter-script", "true"); + document.head.appendChild(script); + }; + + if (document.readyState === "complete") { + window.setTimeout(loadAnalytics, 0); + return; + } + + window.addEventListener("load", loadAnalytics, { once: true }); + return () => window.removeEventListener("load", loadAnalytics); + }); </script> <svelte:head> - <link rel="icon" href={favicon} /> + <link rel="icon" href={favicon} /> </svelte:head> <Header title="Berke Güzel" description="Super. Bad. Code." /> <main class="container"> - {@render children()} + {@render children()} </main> <Footer /> |
