diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-02-09 00:47:32 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-02-09 00:47:32 +0300 |
| commit | 2f74411118c35f0c9d852966af25e04b45dd3f53 (patch) | |
| tree | c4ab5c61475294020832cc24bc2931a368fb3d0d /src/routes/+layout.svelte | |
| parent | 169ab22e65874ecfd9c047d60934220b60a86f15 (diff) | |
formatting and more perf
Diffstat (limited to 'src/routes/+layout.svelte')
| -rw-r--r-- | src/routes/+layout.svelte | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 9b488bd..19a7b85 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -8,17 +8,6 @@ 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; @@ -32,23 +21,34 @@ document.head.appendChild(script); }; - const runDeferredLoads = () => { - loadFonts(); - loadAnalytics(); + const runDeferredAnalytics = () => { + const idleWindow = window as Window & { + requestIdleCallback?: ( + callback: IdleRequestCallback, + options?: IdleRequestOptions, + ) => number; + }; + + if (typeof idleWindow.requestIdleCallback === "function") { + idleWindow.requestIdleCallback(loadAnalytics, { timeout: 3000 }); + return; + } + window.setTimeout(loadAnalytics, 1500); }; if (document.readyState === "complete") { - window.setTimeout(runDeferredLoads, 0); + runDeferredAnalytics(); return; } - window.addEventListener("load", runDeferredLoads, { once: true }); - return () => window.removeEventListener("load", runDeferredLoads); + window.addEventListener("load", runDeferredAnalytics, { once: true }); + return () => window.removeEventListener("load", runDeferredAnalytics); }); </script> <svelte:head> <link rel="icon" href={favicon} /> + <meta name="color-scheme" content="light dark" /> </svelte:head> <Header title="Berke Güzel" description="Super. Bad. Code." /> |
