File tree Expand file tree Collapse file tree 6 files changed +71
-23
lines changed Expand file tree Collapse file tree 6 files changed +71
-23
lines changed Original file line number Diff line number Diff line change 29
29
"devDependencies" : {
30
30
"@resvg/resvg-js" : " ^2.4.1" ,
31
31
"@sveltejs/adapter-vercel" : " ^3.0.3" ,
32
- "@sveltejs/kit" : " ^1.22.6 " ,
32
+ "@sveltejs/kit" : " ^1.24.0 " ,
33
33
"@sveltejs/site-kit" : " 6.0.0-next.36" ,
34
34
"@sveltejs/vite-plugin-svelte" : " ^2.4.5" ,
35
35
"@types/cookie" : " ^0.5.1" ,
Original file line number Diff line number Diff line change
1
+ declare global {
2
+ namespace App {
3
+ // interface Error {}
4
+ // interface Locals {}
5
+ // interface PageData {}
6
+ // interface Platform {}
7
+ }
8
+
9
+ // add these lines
10
+ interface ViewTransition {
11
+ updateCallbackDone : Promise < void > ;
12
+ ready : Promise < void > ;
13
+ finished : Promise < void > ;
14
+ skipTransition : ( ) => void ;
15
+ }
16
+
17
+ interface Document {
18
+ startViewTransition ( updateCallback : ( ) => Promise < void > ) : ViewTransition ;
19
+ }
20
+ }
21
+
22
+ export { } ;
Original file line number Diff line number Diff line change 4
4
import { Icon , Shell } from ' @sveltejs/site-kit/components' ;
5
5
import { Nav , Separator } from ' @sveltejs/site-kit/nav' ;
6
6
import { Search , SearchBox } from ' @sveltejs/site-kit/search' ;
7
+ import { onNavigate } from ' $app/navigation' ;
7
8
import ' @sveltejs/site-kit/styles/index.css' ;
8
9
9
10
export let data;
11
+
12
+ onNavigate ((navigation ) => {
13
+ if (! document .startViewTransition ) return ;
14
+
15
+ return new Promise ((resolve ) => {
16
+ document .startViewTransition (async () => {
17
+ resolve ();
18
+ await navigation .complete ;
19
+ });
20
+ });
21
+ });
10
22
</script >
11
23
12
24
<svelte:head >
Original file line number Diff line number Diff line change 22
22
{#if ! post .draft }
23
23
<article class ="post" data-pubdate ={post .date }>
24
24
<a class ="no-underline" href ="/blog/ {post .slug }" title =" Read the article »" >
25
- <h2 >{post .title }</h2 >
26
- <p >{post .description }</p >
25
+ <h2 style:--name = "post-title- { post . slug } " >{post .title }</h2 >
26
+ <p class = "description" style:--name = "post-description- { post . slug } " >{post .description }</p >
27
27
</a >
28
28
</article >
29
29
{/if }
49
49
font-weight : 400 ;
50
50
}
51
51
52
+ @media (prefers-reduced-motion: no-preference) {
53
+ h2 ,
54
+ .description {
55
+ view-transition-name : var (--name );
56
+ }
57
+ }
58
+
52
59
.post :first-child {
53
60
margin : 0 0 2rem 0 ;
54
61
padding : 0 0 4rem 0 ;
Original file line number Diff line number Diff line change 20
20
</svelte:head >
21
21
22
22
<article class =" post listify text" >
23
- <h1 >{data .post .title }</h1 >
24
- <p class ="standfirst" >{data .post .description }</p >
23
+ <h1 style:--name ="post-title- {$page .params .slug }" >{data .post .title }</h1 >
24
+ <p class ="standfirst" style:--name ="post-description- {$page .params .slug }" >
25
+ {data .post .description }
26
+ </p >
25
27
26
28
<p class =" byline" >
27
29
<a href ={data .post .author .url }>{data .post .author .name }</a >
52
54
margin : 0 0 1em 0 ;
53
55
}
54
56
57
+ @media (prefers-reduced-motion: no-preference) {
58
+ h1 ,
59
+ .standfirst {
60
+ view-transition-name : var (--name );
61
+ }
62
+ }
63
+
55
64
.byline {
56
65
margin : 0 0 6rem 0 ;
57
66
padding : 1.6rem 0 0 0 ;
You can’t perform that action at this time.
0 commit comments