diff --git a/src/alf/typography.tsx b/src/alf/typography.tsx index 3c3bb95489..2def71a290 100644 --- a/src/alf/typography.tsx +++ b/src/alf/typography.tsx @@ -25,7 +25,8 @@ export function normalizeTextStyles( fontFamily: Alf['fonts']['family'] } & Pick, ) { - const s = flatten(styles) + const s = flatten(styles) ?? {} + // should always be defined on these components s.fontSize = (s.fontSize || atoms.text_md.fontSize) * fontScale diff --git a/src/components/RichText.tsx b/src/components/RichText.tsx index 40683523c0..9908679c57 100644 --- a/src/components/RichText.tsx +++ b/src/components/RichText.tsx @@ -1,5 +1,5 @@ import React from 'react' -import {type TextStyle} from 'react-native' +import {type StyleProp, type TextStyle} from 'react-native' import {AppBskyRichtextFacet, RichText as RichTextAPI} from '@atproto/api' import {toShortUrl} from '#/lib/strings/url-helpers' @@ -21,7 +21,7 @@ export type RichTextProps = TextStyleProp & enableTags?: boolean authorHandle?: string onLinkPress?: LinkProps['onPress'] - interactiveStyle?: TextStyle + interactiveStyle?: StyleProp emojiMultiplier?: number shouldProxyLinks?: boolean } @@ -55,7 +55,7 @@ export function RichText({ if (!facets?.length) { if (isOnlyEmoji(text)) { - const flattenedStyle = flatten(style) + const flattenedStyle = flatten(style) ?? {} const fontSize = (flattenedStyle.fontSize ?? a.text_sm.fontSize) * emojiMultiplier return (