Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit 2e1316c

Browse files
committed
feat(svelte): allow state changes to be serialized into hydration payload
1 parent 707db22 commit 2e1316c

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

packages/fastify-dx-svelte/virtual/root.svelte

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,21 @@
22
import { proxy } from 'sveltio'
33
import { Router, Route } from 'svelte-routing'
44
import DXRoute from '/dx:route.svelte'
5+
import { isServer } from '/dx:core.js'
56
67
export let url = null
78
export let payload
89
9-
let state = proxy(payload.serverRoute.state)
10+
let state = isServer
11+
? payload.serverRoute.state
12+
: proxy(payload.serverRoute.state)
1013
</script>
1114

1215
<Router url="{url}">
1316
{#each payload.routes as { path, component }}
1417
<Route path="{path}" let:location>
1518
<DXRoute
19+
path={path}
1620
location={location}
1721
state={state}
1822
payload={payload}

starters/svelte/client/root.svelte

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@ import 'uno.css'
33
import { proxy } from 'sveltio'
44
import { Router, Route } from 'svelte-routing'
55
import DXRoute from '/dx:route.svelte'
6+
import { isServer } from '/dx:core.js'
67
78
export let url = null
89
export let payload
910
10-
let state = proxy(payload.serverRoute.state)
11+
let state = isServer
12+
? payload.serverRoute.state
13+
: proxy(payload.serverRoute.state)
1114
</script>
1215

1316
<Router url="{url}">
1417
{#each payload.routes as { path, component }}
1518
<Route path="{path}" let:location>
16-
<DXRoute
19+
<DXRoute
1720
path={path}
18-
location={location}
19-
state={state}
21+
location={location}
22+
state={state}
2023
payload={payload}
21-
component={component} />
24+
component={component} />
2225
</Route>
2326
{/each}
2427
</Router>

0 commit comments

Comments
 (0)