JavaScript-optional public web frontend for Bluesky anartia.kelinci.net
sveltekit atcute bluesky typescript svelte
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: make description concat saner

Mary ac1ed6b2 bce96be3

+17 -11
+17 -11
src/routes/(app)/[actor=didOrHandle]/[rkey=tid]/components/post-meta-tags.svelte
··· 20 20 const { media, record } = $derived(unwrapEmbedView(post.embed)); 21 21 22 22 const description = $derived.by(() => { 23 - let content = (post.record as AppBskyFeedPost.Record).text.trim(); 23 + const content = (post.record as AppBskyFeedPost.Record).text.trim(); 24 + let footer = ''; 24 25 25 26 switch (media?.$type) { 26 27 case 'app.bsky.embed.external#view': { 27 - content += `\n\n[contains external link]`; 28 + footer && (footer += '\n'); 29 + footer += `[contains external link]`; 28 30 break; 29 31 } 30 32 case 'app.bsky.embed.video#view': { 31 - content += `\n\n[contains video]`; 33 + footer && (footer += '\n'); 34 + footer += `[contains video]`; 32 35 break; 33 36 } 34 37 } ··· 37 40 const view = record.record; 38 41 switch (view.$type) { 39 42 case 'app.bsky.embed.record#viewRecord': { 40 - content += `\n\n[quoting @${view.author.handle}]`; 43 + footer && (footer += '\n'); 44 + footer += `[quoting @${view.author.handle}]`; 41 45 break; 42 46 } 43 47 case 'app.bsky.feed.defs#generatorView': { 44 - content += `\n\n[contains embedded feed]`; 48 + footer && (footer += '\n'); 49 + footer += `[contains embedded feed]`; 45 50 break; 46 51 } 47 52 case 'app.bsky.graph.defs#listView': { 48 - content += `\n\n[contains embedded list]`; 53 + footer && (footer += '\n'); 54 + footer += `[contains embedded list]`; 49 55 break; 50 56 } 51 57 case 'app.bsky.graph.defs#starterPackViewBasic': { 52 - content += `\n\n[contains embedded starter pack]`; 58 + footer && (footer += '\n'); 59 + footer += `[contains embedded starter pack]`; 53 60 break; 54 61 } 55 62 default: { ··· 62 69 view.$type === 'app.bsky.embed.record#viewBlocked' || 63 70 view.$type === 'app.bsky.embed.record#viewDetached'); 64 71 65 - content += isUnavailable 66 - ? `\n\n[contains unavailable ${resource} embed]` 67 - : `\n\n[contains unknown embed]`; 72 + footer && (footer += '\n'); 73 + footer += isUnavailable ? `[contains unavailable ${resource} embed]` : `[contains unknown embed]`; 68 74 69 75 break; 70 76 } 71 77 } 72 78 } 73 79 74 - return content.trimStart(); 80 + return content + (footer ? `\n\n${footer}` : ''); 75 81 }); 76 82 </script> 77 83