diff options
Diffstat (limited to 'src/view/com/composer/useExternalLinkFetch.ts')
-rw-r--r-- | src/view/com/composer/useExternalLinkFetch.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/view/com/composer/useExternalLinkFetch.ts b/src/view/com/composer/useExternalLinkFetch.ts index 743535a5e..2938ea25a 100644 --- a/src/view/com/composer/useExternalLinkFetch.ts +++ b/src/view/com/composer/useExternalLinkFetch.ts @@ -10,6 +10,7 @@ import { getFeedAsEmbed, getListAsEmbed, getPostAsQuote, + getStarterPackAsEmbed, } from 'lib/link-meta/bsky' import {getLinkMeta} from 'lib/link-meta/link-meta' import {resolveShortLink} from 'lib/link-meta/resolve-short-link' @@ -18,6 +19,8 @@ import { isBskyCustomFeedUrl, isBskyListUrl, isBskyPostUrl, + isBskyStarterPackUrl, + isBskyStartUrl, isShortLink, } from 'lib/strings/url-helpers' import {ImageModel} from 'state/models/media/image' @@ -96,6 +99,23 @@ export function useExternalLinkFetch({ setExtLink(undefined) }, ) + } else if ( + isBskyStartUrl(extLink.uri) || + isBskyStarterPackUrl(extLink.uri) + ) { + getStarterPackAsEmbed(agent, fetchDid, extLink.uri).then( + ({embed, meta}) => { + if (aborted) { + return + } + setExtLink({ + uri: extLink.uri, + isLoading: false, + meta, + embed, + }) + }, + ) } else if (isShortLink(extLink.uri)) { if (isShortLink(extLink.uri)) { resolveShortLink(extLink.uri).then(res => { |