[APP-2160] Extract StandardSiteEmbed type guards into utils.ts
Move isStandardSiteEmbed alongside a new isStandardSitePublicationEmbed helper. The publication check now requires at least one publication ref and zero document refs, replacing a tautological condition that also returned true for empty associatedRefs arrays.
This commit is contained in:
@@ -29,6 +29,7 @@ import {Link} from '#/components/Link'
|
||||
import {MediaInsetBorder} from '#/components/MediaInsetBorder'
|
||||
import {PublicationMetaRow} from '#/components/Post/Embed/StandardSiteEmbed/PublicationMetaRow'
|
||||
import {StandardSiteThemeProvider} from '#/components/Post/Embed/StandardSiteEmbed/StandardSiteThemeProvider'
|
||||
import {isStandardSitePublicationEmbed} from '#/components/Post/Embed/StandardSiteEmbed/utils'
|
||||
import {Text} from '#/components/Typography'
|
||||
import {IS_NATIVE} from '#/env'
|
||||
|
||||
@@ -38,12 +39,6 @@ export type ThemeColors = {
|
||||
accentForeground: string
|
||||
}
|
||||
|
||||
export function isStandardSiteEmbed(view: AppBskyEmbedExternal.ViewExternal) {
|
||||
return view.associatedRefs?.some(ref =>
|
||||
new AtUri(ref.uri).collection.startsWith('site.standard.'),
|
||||
)
|
||||
}
|
||||
|
||||
export function useStandardSitePublisherConfig(
|
||||
view: AppBskyEmbedExternal.ViewExternal,
|
||||
) {
|
||||
@@ -102,11 +97,7 @@ export const StandardSiteEmbed = ({
|
||||
const isStandard = view.associatedRefs?.some(ref =>
|
||||
new AtUri(ref.uri).collection.startsWith('site.standard.'),
|
||||
)
|
||||
const isStandardPublication = view.associatedRefs?.every(
|
||||
ref =>
|
||||
new AtUri(ref.uri).collection === 'site.standard.publication' &&
|
||||
new AtUri(ref.uri).collection !== 'site.standard.document',
|
||||
)
|
||||
const isStandardPublication = isStandardSitePublicationEmbed(view)
|
||||
const themeColors = useMemo(() => {
|
||||
let custom = false
|
||||
let accent = t.atoms.text.color
|
||||
|
||||
Reference in New Issue
Block a user