import { type AppBskyEmbedExternal, AtUri, type ComAtprotoRepoStrongRef, } from '@atproto/api' export function isStandardSiteDocumentUri(ref: ComAtprotoRepoStrongRef.Main) { return new AtUri(ref.uri).collection.startsWith('site.standard.document') } export function isStandardSitePublicationUri( ref: ComAtprotoRepoStrongRef.Main, ) { return new AtUri(ref.uri).collection.startsWith('site.standard.publication') } export function isStandardSiteUri(ref: ComAtprotoRepoStrongRef.Main) { return new AtUri(ref.uri).collection.startsWith('site.standard.') } export function isStandardSiteEmbed(view: AppBskyEmbedExternal.ViewExternal) { return view.associatedRefs?.some(ref => isStandardSiteUri(ref)) } export function isStandardSitePublicationEmbed( view: AppBskyEmbedExternal.ViewExternal, ) { return ( view.associatedRefs?.some( ref => new AtUri(ref.uri).collection === 'site.standard.publication', ) && view.associatedRefs.every( ref => new AtUri(ref.uri).collection !== 'site.standard.document', ) ) }