Skip to content

Commit e18d09a

Browse files
committed
add loading skeleton with server islands
1 parent 470eb32 commit e18d09a

3 files changed

Lines changed: 28 additions & 4 deletions

File tree

astro.config.mjs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ import vercel from "@astrojs/vercel/serverless";
88

99
// https://astro.build/config
1010
export default defineConfig({
11-
integrations: [tailwind(), icon(), react(), mdx()],
12-
output: "hybrid",
13-
adapter: vercel()
11+
integrations: [tailwind(), icon(), react(), mdx()],
12+
output: "hybrid",
13+
adapter: vercel(),
14+
experimental: {
15+
serverIslands: true
16+
}
1417
});
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<div class="flex flex-col space-y-3">
2+
{Array.from({ length: 5 }).map(() => (
3+
<div class="mx-2 rounded-xl bg-viola-50 p-4 sm:mx-4 sm:p-5 animate-pulse">
4+
<div class="flex items-start space-x-3 sm:space-x-4">
5+
<div class="h-8 w-8 shrink-0 rounded-full bg-viola-200 sm:h-10 sm:w-10"></div>
6+
7+
<div class="min-w-0 flex-1 space-y-3">
8+
<div class="flex justify-between">
9+
<div class="h-4 w-2/3 rounded bg-viola-200"></div>
10+
<div class="h-3 w-12 rounded bg-viola-200"></div>
11+
</div>
12+
<div class="h-3 w-full rounded bg-viola-200"></div>
13+
<div class="h-3 w-24 rounded bg-viola-200"></div>
14+
</div>
15+
</div>
16+
</div>
17+
))}
18+
</div>

src/pages/index.astro

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import betterHudIcon from "../assets/betterhud.png";
88
import { Icon } from "astro-icon/components";
99
import DiscordStatus from "../components/DiscordStatus.tsx";
1010
import GithubFeed from "../components/GithubFeed.astro";
11+
import GithubFeedSkeleton from "../components/GithubFeedSkeleton.astro";
1112
---
1213

1314
<Layout title="dsns.dev" description="Check out what I do, and explore some of my projects.">
@@ -70,7 +71,9 @@ import GithubFeed from "../components/GithubFeed.astro";
7071

7172
<div class="m-2 rounded-lg bg-viola-100 p-6 shadow-lg lg:p-8">
7273
<h2 class="mb-6 text-2xl font-bold">GitHub Feed</h2>
73-
<GithubFeed />
74+
<GithubFeed server:defer>
75+
<GithubFeedSkeleton slot="fallback" />
76+
</GithubFeed>
7477
</div>
7578
</div>
7679
</Layout>

0 commit comments

Comments
 (0)