From dc3a42edb1bcdb8c7f07111e936dddcfac1c1bb1 Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 21 Nov 2024 22:52:16 +0000 Subject: Reduce nesting (#6615) * Move isOnlyEmoji out of RichText To fix Fast Refresh. * Make renderChildrenWithEmoji work with any children * Always go through UITextView for consistency It already contains the `selectable` and `iOS` checks inside. * Move `emoji` check into `renderChildrenWithEmoji` * Remove unnecessary intermediate UITextView nodes * Make childHasEmoji check recursive It didn't handle nested arrays etc correctly before. * Remove the "children must be string" limitation Should not be necessary now that we correctly handle nested arrays etc. * Fix unnecessary regex reallocation This doesn't have a global flag so it's okay to reuse. * Remove unnecessary wrapper in RichText --- src/components/Typography.tsx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'src/components/Typography.tsx') diff --git a/src/components/Typography.tsx b/src/components/Typography.tsx index 4bcbf9f09..3e202cb8f 100644 --- a/src/components/Typography.tsx +++ b/src/components/Typography.tsx @@ -1,11 +1,9 @@ import {UITextView} from 'react-native-uitextview' import {logger} from '#/logger' -import {isIOS} from '#/platform/detection' import {atoms, flatten, useAlf, useTheme, web} from '#/alf' import { childHasEmoji, - childIsString, normalizeTextStyles, renderChildrenWithEmoji, TextProps, @@ -39,10 +37,6 @@ export function Text({ `Text: emoji detected but emoji not enabled: "${children}"\n\nPlease add '`, ) } - - if (emoji && !childIsString(children)) { - logger.error('Text: when , children can only be strings.') - } } const shared = { @@ -55,7 +49,7 @@ export function Text({ return ( - {isIOS && emoji ? renderChildrenWithEmoji(children, shared) : children} + {renderChildrenWithEmoji(children, shared, emoji ?? false)} ) } -- cgit 1.4.1