your personal website on atproto - mirror
blento.app
1<script lang="ts">
2 import { Post } from '../post';
3 import { blueskyPostToPostData } from '.';
4 import type { Snippet } from 'svelte';
5 import type { PostView } from '@atcute/bluesky/types/app/feed/defs';
6
7 let {
8 feedViewPost,
9 children,
10 showLogo = false,
11 showAvatar = false,
12 compact = false,
13 ...restProps
14 }: {
15 feedViewPost?: PostView;
16 children?: Snippet;
17 showLogo?: boolean;
18 showAvatar?: boolean;
19 compact?: boolean;
20 } = $props();
21
22 const postData = $derived(feedViewPost ? blueskyPostToPostData(feedViewPost) : undefined);
23</script>
24
25{#snippet logo()}
26 <a
27 class="text-accent-700 dark:text-accent-400 hover:text-accent-600 dark:hover:text-accent-500 accent:text-accent-900 accent:hover:text-accent-800"
28 href={postData?.href}
29 >
30 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="size-4" viewBox="0 0 600 530">
31 <path
32 d="m135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937 0.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z"
33 fill="currentColor"
34 />
35 </svg>
36 <span class="sr-only">Bluesky</span>
37 </a>
38{/snippet}
39
40{#if postData}
41 <Post
42 data={postData}
43 replyHref={postData?.href}
44 repostHref={postData?.href}
45 likeHref={postData?.href}
46 showBookmark={false}
47 logo={showLogo ? logo : undefined}
48 {showAvatar}
49 {compact}
50 {...restProps}
51 >
52 {@render children?.()}
53 </Post>
54{/if}