Skip to content

Commit e430b34

Browse files
aster-voidclaude
andcommitted
modules/admin: remove svelte:boundary pending snippets
Streaming with {#snippet pending()} was causing SSR issues where data showed as NaN/undefined on page reload. Removed boundaries to let SSR wait for data before rendering. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 10ffb66 commit e430b34

File tree

9 files changed

+40
-141
lines changed

9 files changed

+40
-141
lines changed

src/routes/(admin)/admin/+page.svelte

Lines changed: 24 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -23,51 +23,29 @@
2323
<title>Dashboard - ut.code(); CMS</title>
2424
</svelte:head>
2525

26-
<svelte:boundary>
27-
{#snippet pending()}
28-
<div class="space-y-8">
29-
<!-- Header skeleton -->
30-
<div class="h-32 w-full skeleton rounded-2xl"></div>
31-
32-
<!-- Stats skeleton -->
33-
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-4">
34-
{#each Array.from({ length: 4 }, (_, i) => i) as i (i)}
35-
<div class="h-28 skeleton rounded-2xl"></div>
36-
{/each}
37-
</div>
38-
39-
<!-- Content skeleton -->
40-
<div class="grid gap-6 lg:grid-cols-2">
41-
<div class="h-64 skeleton rounded-2xl"></div>
42-
<div class="h-64 skeleton rounded-2xl"></div>
43-
</div>
44-
</div>
45-
{/snippet}
46-
47-
<div class="space-y-8">
48-
<DashboardHeader
49-
publishedArticles={stats.publishedArticles}
50-
members={stats.members}
51-
projects={stats.projects}
52-
/>
53-
54-
<StatsGrid
55-
publishedArticles={stats.publishedArticles}
56-
totalArticles={stats.articles}
57-
projects={stats.projects}
58-
members={stats.members}
26+
<div class="space-y-8">
27+
<DashboardHeader
28+
publishedArticles={stats.publishedArticles}
29+
members={stats.members}
30+
projects={stats.projects}
31+
/>
32+
33+
<StatsGrid
34+
publishedArticles={stats.publishedArticles}
35+
totalArticles={stats.articles}
36+
projects={stats.projects}
37+
members={stats.members}
38+
/>
39+
40+
<div class="grid gap-6 lg:grid-cols-2">
41+
<NeedsAttention draftArticles={stats.draftArticles} {formatDate} />
42+
43+
<RecentActivity
44+
recentArticles={stats.recentArticles}
45+
{formatDate}
46+
hasDrafts={stats.draftArticles.length > 0}
5947
/>
60-
61-
<div class="grid gap-6 lg:grid-cols-2">
62-
<NeedsAttention draftArticles={stats.draftArticles} {formatDate} />
63-
64-
<RecentActivity
65-
recentArticles={stats.recentArticles}
66-
{formatDate}
67-
hasDrafts={stats.draftArticles.length > 0}
68-
/>
69-
</div>
70-
71-
<QuickActions />
7248
</div>
73-
</svelte:boundary>
49+
50+
<QuickActions />
51+
</div>

src/routes/(admin)/admin/articles/+page.svelte

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,7 @@
2828
<title>Articles - ut.code(); CMS</title>
2929
</svelte:head>
3030

31-
<svelte:boundary>
32-
{#snippet pending()}
33-
<div class="space-y-6">
34-
<div class="h-32 w-full skeleton rounded-2xl"></div>
35-
<div class="space-y-4">
36-
{#each Array.from({ length: 4 }, (_, i) => i) as i (i)}
37-
<div class="h-28 skeleton rounded-2xl"></div>
38-
{/each}
39-
</div>
40-
</div>
41-
{/snippet}
42-
43-
<div class="space-y-6">
31+
<div class="space-y-6">
4432
<!-- Header -->
4533
<header class="animate-fade-slide-in gradient-dark relative overflow-hidden rounded-2xl p-6">
4634
<!-- Decorative elements -->
@@ -226,5 +214,4 @@
226214
{/each}
227215
</div>
228216
{/if}
229-
</div>
230-
</svelte:boundary>
217+
</div>

src/routes/(admin)/admin/articles/edit/[id]/+page.svelte

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,7 @@
8686
<title>{article?.title ?? "Edit Article"} - ut.code(); CMS</title>
8787
</svelte:head>
8888

89-
<svelte:boundary>
90-
{#snippet pending()}
91-
<div class="flex h-96 items-center justify-center">
92-
<span class="loading loading-md loading-spinner"></span>
93-
</div>
94-
{/snippet}
95-
96-
{#if !article}
89+
{#if !article}
9790
<div class="flex h-96 flex-col items-center justify-center text-center">
9891
<div class="flex h-12 w-12 items-center justify-center rounded-xl bg-zinc-100 text-zinc-400">
9992
<FileText class="h-6 w-6" />
@@ -127,5 +120,4 @@
127120
articleId={article.id}
128121
/>
129122
</div>
130-
{/if}
131-
</svelte:boundary>
123+
{/if}

src/routes/(admin)/admin/articles/new/+page.svelte

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,6 @@
4242
<title>New Article - ut.code(); CMS</title>
4343
</svelte:head>
4444

45-
<svelte:boundary>
46-
{#snippet pending()}
47-
<div class="flex h-96 items-center justify-center">
48-
<span class="loading loading-md loading-spinner"></span>
49-
</div>
50-
{/snippet}
51-
52-
<div class="h-[calc(100vh-4rem)]">
45+
<div class="h-[calc(100vh-4rem)]">
5346
<ArticleForm {authors} onSubmit={handleSubmit} submitLabel="Create" bind:isSubmitting />
54-
</div>
55-
</svelte:boundary>
47+
</div>

src/routes/(admin)/admin/members/+page.svelte

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,7 @@
99
<title>Members - ut.code(); CMS</title>
1010
</svelte:head>
1111

12-
<svelte:boundary>
13-
{#snippet pending()}
14-
<div class="space-y-6">
15-
<div class="h-24 w-full skeleton rounded-2xl"></div>
16-
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
17-
{#each Array.from({ length: 6 }, (_, i) => i) as i (i)}
18-
<div class="h-32 skeleton rounded-2xl"></div>
19-
{/each}
20-
</div>
21-
</div>
22-
{/snippet}
23-
24-
<div class="space-y-6">
12+
<div class="space-y-6">
2513
<!-- Header -->
2614
<header class="animate-fade-slide-in gradient-dark relative overflow-hidden rounded-2xl p-6">
2715
<!-- Decorative elements -->
@@ -137,5 +125,4 @@
137125
{/each}
138126
</div>
139127
{/if}
140-
</div>
141-
</svelte:boundary>
128+
</div>

src/routes/(admin)/admin/members/edit/[id]/+page.svelte

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,7 @@
7474
<title>{member?.name ?? "Edit Member"} - ut.code(); CMS</title>
7575
</svelte:head>
7676

77-
<svelte:boundary>
78-
{#snippet pending()}
79-
<div class="flex h-96 items-center justify-center">
80-
<span class="loading loading-md loading-spinner"></span>
81-
</div>
82-
{/snippet}
83-
84-
{#if !member}
77+
{#if !member}
8578
<div class="flex h-96 flex-col items-center justify-center text-center">
8679
<div class="flex h-12 w-12 items-center justify-center rounded-xl bg-zinc-100 text-zinc-400">
8780
<User class="h-6 w-6" />
@@ -111,5 +104,4 @@
111104
bind:isSubmitting
112105
/>
113106
</div>
114-
{/if}
115-
</svelte:boundary>
107+
{/if}

src/routes/(admin)/admin/projects/+page.svelte

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,7 @@
1818
<title>Projects - ut.code(); CMS</title>
1919
</svelte:head>
2020

21-
<svelte:boundary>
22-
{#snippet pending()}
23-
<div class="space-y-6">
24-
<div class="h-24 w-full skeleton rounded-2xl"></div>
25-
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
26-
{#each Array.from({ length: 6 }, (_, i) => i) as i (i)}
27-
<div class="h-64 skeleton rounded-2xl"></div>
28-
{/each}
29-
</div>
30-
</div>
31-
{/snippet}
32-
33-
<div class="space-y-6">
21+
<div class="space-y-6">
3422
<!-- Header -->
3523
<header class="animate-fade-slide-in gradient-dark relative overflow-hidden rounded-2xl p-6">
3624
<!-- Decorative elements -->
@@ -195,5 +183,4 @@
195183
{/each}
196184
</div>
197185
{/if}
198-
</div>
199-
</svelte:boundary>
186+
</div>

src/routes/(admin)/admin/projects/edit/[id]/+page.svelte

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -160,14 +160,7 @@
160160
<title>{project?.name ?? "Edit Project"} - ut.code(); CMS</title>
161161
</svelte:head>
162162

163-
<svelte:boundary>
164-
{#snippet pending()}
165-
<div class="flex h-96 items-center justify-center">
166-
<span class="loading loading-md loading-spinner"></span>
167-
</div>
168-
{/snippet}
169-
170-
{#if !project}
163+
{#if !project}
171164
<div class="flex h-96 flex-col items-center justify-center text-center">
172165
<div class="flex h-12 w-12 items-center justify-center rounded-xl bg-zinc-100 text-zinc-400">
173166
<Folder class="h-6 w-6" />
@@ -356,5 +349,4 @@
356349
</div>
357350
</div>
358351
{/if}
359-
{/if}
360-
</svelte:boundary>
352+
{/if}

src/routes/(admin)/admin/projects/new/+page.svelte

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,6 @@
5050
<title>New Project - ut.code(); CMS</title>
5151
</svelte:head>
5252

53-
<svelte:boundary>
54-
{#snippet pending()}
55-
<div class="flex h-96 items-center justify-center">
56-
<span class="loading loading-md loading-spinner"></span>
57-
</div>
58-
{/snippet}
59-
60-
<div class="h-[calc(100vh-4rem)]">
53+
<div class="h-[calc(100vh-4rem)]">
6154
<ProjectForm {members} onSubmit={handleSubmit} submitLabel="Create" bind:isSubmitting isNew />
62-
</div>
63-
</svelte:boundary>
55+
</div>

0 commit comments

Comments
 (0)