Thread viewer for Bluesky
1<script lang="ts">
2 import { atURI } from '../../utils.js';
3 import { FeedGeneratorRecord } from '../../models/records.js';
4
5 let { feed }: { feed: FeedGeneratorRecord } = $props();
6
7 function linkToFeed(feed: FeedGeneratorRecord) {
8 let { repo, rkey } = atURI(feed.uri);
9 return `https://bsky.app/profile/${repo}/feed/${rkey}`;
10 }
11</script>
12
13<a class="link-card record" href={linkToFeed(feed)} target="_blank">
14 <div>
15 {#if feed.avatar}
16 <img class="avatar" alt="Avatar" src={feed.avatar}>
17 {/if}
18
19 <h2>{feed.title} <span class="handle">• Feed by @{feed.author.handle}</span></h2>
20
21 {#if feed.description}
22 <p class="description">{feed.description}</p>
23 {/if}
24
25 <p class="stats">
26 <i class="fa-solid fa-heart"></i> <output>{feed.likeCount}</output>
27 </p>
28 </div>
29</a>