|
1 | 1 | <script lang="ts"> |
2 | | - import { NotePreview, PostPreview, VideoPreview } from '@maiertech/sveltekit-helpers'; |
| 2 | + import { NoteList, PostList } from '$lib/components'; |
| 3 | + import { VideoPreview } from '@maiertech/sveltekit-helpers'; |
3 | 4 | import type { PageProps } from './$types'; |
| 5 | + import { Clock } from '@lucide/svelte'; |
4 | 6 |
|
5 | 7 | let { data }: PageProps = $props(); |
6 | 8 | </script> |
|
12 | 14 | <div class="flex flex-wrap gap-6"> |
13 | 15 | <div |
14 | 16 | // Not-sidebar (outer): videos & posts. |
15 | | - class="@container grow-999 basis-0 min-inline-3/5" |
| 17 | + class="grow-999 basis-0 min-inline-3/5" |
16 | 18 | > |
17 | | - <div class="mb-8 flex flex-wrap gap-6"> |
18 | | - <h2 class="sr-only">Videos</h2> |
| 19 | + <h2 class="mb-4 flex items-center gap-1 text-ink-muted"> |
| 20 | + <Clock class="size-5" /> |
| 21 | + <span class="text-lg font-semibold">Latest videos</span> |
| 22 | + </h2> |
19 | 23 |
|
| 24 | + <div class="mb-8 flex flex-wrap gap-6"> |
20 | 25 | <VideoPreview |
21 | 26 | // Not-sidebar (videos): latest video. |
22 | 27 | value={data.videos[0]} |
| 28 | + level={3} |
23 | 29 | class="grow-999 min-inline-3/5" |
24 | 30 | /> |
25 | 31 |
|
|
28 | 34 | class="flex grow basis-3xs flex-wrap gap-6" |
29 | 35 | > |
30 | 36 | {#each data.videos.slice(1) as video (video.id)} |
31 | | - <VideoPreview value={video} showDescription={false} class="grow basis-80" /> |
| 37 | + <VideoPreview value={video} level={3} showDescription={false} class="grow basis-80" /> |
32 | 38 | {/each} |
33 | 39 | </div> |
34 | 40 | </div> |
35 | 41 |
|
36 | | - <h2 class="sr-only">Posts</h2> |
| 42 | + <h2 class="mb-4 flex items-center gap-1 text-ink-muted"> |
| 43 | + <Clock class="size-5" /> |
| 44 | + <span class="text-lg font-semibold">Latest posts</span> |
| 45 | + </h2> |
37 | 46 |
|
38 | | - <div class="grid grow grid-cols-1 gap-6 @xl:grid-cols-2"> |
39 | | - {#each data.posts as post (post.path)} |
40 | | - <PostPreview value={post} level={3} /> |
41 | | - {/each} |
42 | | - </div> |
| 47 | + <PostList values={data.posts} level={3} /> |
43 | 48 | </div> |
44 | 49 |
|
45 | 50 | <div |
46 | 51 | // Sidebar (outer): notes. |
47 | 52 | class="@container grow basis-2xs" |
48 | 53 | > |
49 | | - <h2 class="sr-only">Notes</h2> |
50 | | - <div class="grid h-full grid-cols-1 gap-6 @lg:grid-cols-2 @4xl:grid-cols-3"> |
51 | | - {#each data.notes as note (note.path)} |
52 | | - <NotePreview value={note} level={3} /> |
53 | | - {/each} |
54 | | - </div> |
| 54 | + <h2 class="mb-4 flex items-center gap-1 text-ink-muted"> |
| 55 | + <Clock class="size-5" /> |
| 56 | + <span class="text-lg font-semibold">Latest notes</span> |
| 57 | + </h2> |
| 58 | + |
| 59 | + <NoteList values={data.notes} level={3} /> |
55 | 60 | </div> |
56 | 61 | </div> |
0 commit comments