Skip to content

Commit 35e3de4

Browse files
Enable view transition on navigation
1 parent 7da2992 commit 35e3de4

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"@sveltejs/adapter-static": "^3.0.1",
2121
"@sveltejs/kit": "^2.0.6",
2222
"@sveltejs/vite-plugin-svelte": "^3.0.1",
23+
"@types/dom-view-transitions": "^1.0.4",
2324
"@typescript-eslint/eslint-plugin": "^6.16.0",
2425
"@typescript-eslint/parser": "^6.16.0",
2526
"autoprefixer": "^10.4.16",

pnpm-lock.yaml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/routes/+layout.svelte

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
<script lang="ts">
2-
import '../app.postcss';
3-
import Header from '$lib/Header/index.svelte';
2+
import '../app.postcss';
3+
import Header from '$lib/Header/index.svelte';
4+
import { onNavigate } from '$app/navigation';
5+
6+
onNavigate((navigation) => {
7+
if (!document.startViewTransition) return;
8+
9+
return new Promise((resolve) => {
10+
document.startViewTransition(async () => {
11+
resolve();
12+
await navigation.complete;
13+
});
14+
});
15+
});
416
</script>
517

618
<Header />

0 commit comments

Comments
 (0)