From b6c6b705c15ff02e26eb5463a8b1550fa131ee38 Mon Sep 17 00:00:00 2001 From: axtloss Date: Tue, 20 Aug 2024 23:22:50 +0200 Subject: add loader for long loading pages --- src/app.html | 1 - src/lib/navigation.ts | 13 +++++++++++++ src/routes/+layout.js | 1 + src/routes/+page.svelte | 1 - src/routes/+page.ts | 2 -- src/routes/Header.svelte | 35 +++++++++++++++++++++++------------ src/routes/projects/+page.svelte | 2 +- src/routes/projects/+page.ts | 8 -------- 8 files changed, 38 insertions(+), 25 deletions(-) create mode 100644 src/lib/navigation.ts create mode 100644 src/routes/+layout.js (limited to 'src') diff --git a/src/app.html b/src/app.html index 5862a66..adf8bd8 100644 --- a/src/app.html +++ b/src/app.html @@ -2,7 +2,6 @@ - %sveltekit.head% diff --git a/src/lib/navigation.ts b/src/lib/navigation.ts new file mode 100644 index 0000000..c759d97 --- /dev/null +++ b/src/lib/navigation.ts @@ -0,0 +1,13 @@ +import { derived } from 'svelte/store'; +import { navigating } from '$app/stores'; + +let timer: ReturnType = null; +export const isNavigating = derived(navigating, (newValue, set) => { + if (timer) { + clearTimeout(timer); + } + if (newValue) { + timer = setTimeout(() => set(true), 500); + } + set(false); +}); diff --git a/src/routes/+layout.js b/src/routes/+layout.js new file mode 100644 index 0000000..b40fb51 --- /dev/null +++ b/src/routes/+layout.js @@ -0,0 +1 @@ +export const ssr = true diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index f7fddd5..e6b76c0 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -7,7 +7,6 @@ import { isMobile } from "$lib/mobile"; import { browser } from "$app/environment"; - const header = getContext
("Header"); var description = [ diff --git a/src/routes/+page.ts b/src/routes/+page.ts index a72419a..189f71e 100644 --- a/src/routes/+page.ts +++ b/src/routes/+page.ts @@ -1,3 +1 @@ -// since there's no dynamic data here, we can prerender -// it so that it gets served as a static asset in production export const prerender = true; diff --git a/src/routes/Header.svelte b/src/routes/Header.svelte index 0366e6d..d343a17 100644 --- a/src/routes/Header.svelte +++ b/src/routes/Header.svelte @@ -1,7 +1,4 @@