about summary refs log tree commit diff
path: root/src/components/dms
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-11-21 22:52:16 +0000
committerGitHub <noreply@github.com>2024-11-21 22:52:16 +0000
commitdc3a42edb1bcdb8c7f07111e936dddcfac1c1bb1 (patch)
tree7508231ca720f6bc3a833cb6504443685c4115b2 /src/components/dms
parent84724bb940a827a7020da6ccbd6fa80f7209a455 (diff)
downloadvoidsky-dc3a42edb1bcdb8c7f07111e936dddcfac1c1bb1.tar.zst
Reduce <Text> 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 <Text> wrapper in RichText
Diffstat (limited to 'src/components/dms')
-rw-r--r--src/components/dms/MessageItem.tsx3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/components/dms/MessageItem.tsx b/src/components/dms/MessageItem.tsx
index 52220e2ca..79f0997fd 100644
--- a/src/components/dms/MessageItem.tsx
+++ b/src/components/dms/MessageItem.tsx
@@ -19,10 +19,11 @@ import {ConvoItem} from '#/state/messages/convo/types'
 import {useSession} from '#/state/session'
 import {TimeElapsed} from '#/view/com/util/TimeElapsed'
 import {atoms as a, useTheme} from '#/alf'
+import {isOnlyEmoji} from '#/alf/typography'
 import {ActionsWrapper} from '#/components/dms/ActionsWrapper'
 import {InlineLinkText} from '#/components/Link'
 import {Text} from '#/components/Typography'
-import {isOnlyEmoji, RichText} from '../RichText'
+import {RichText} from '../RichText'
 import {DateDivider} from './DateDivider'
 import {MessageItemEmbed} from './MessageItemEmbed'
 import {localDateString} from './util'