bluesky client without react native baggage written in sveltekit
at main 22 lines 658 B view raw
1<script> 2 import { segmentize } from '@atcute/bluesky-richtext-segmenter'; 3 const { text, facets } = $props(); 4 5 const segments = $derived(segmentize(text, facets)); 6</script> 7 8{#each segments as { text, features }} 9 {#each features as feature} 10 {#if feature.$type === 'app.bsky.richtext.facet#mention'} 11 <a href={`#meow-${feature.did}`}>{text}</a> 12 {:else if feature.$type === 'app.bsky.richtext.facet#link'} 13 <a href={`#meow-${feature.uri}`}>{text}</a> 14 {:else if feature.$type === 'app.bsky.richtext.facet#tag'} 15 <a href={`#meow-${feature.tag}`}>{text}</a> 16 {:else} 17 <span>{text}</span> 18 {/if} 19 {:else} 20 <span>{text}</span> 21 {/each} 22{/each}