diff options
author | Eric Bailey <git@esb.lol> | 2024-12-20 13:59:33 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-20 19:59:33 +0000 |
commit | 8116d12c15495fa192e92f5bfb75cb561bb16402 (patch) | |
tree | d8291bc888d6423ccb7f242877c9293283156e83 /src/state/shell/composer/index.tsx | |
parent | 8a3dfcb9d0860eb8f8112a84dcf32ae522f77069 (diff) | |
download | voidsky-8116d12c15495fa192e92f5bfb75cb561bb16402.tar.zst |
Fix Emoji picker focus (#7217)
* Only portal the emoji picker where needed * Add optional portal prop to emoji picker * Use FocusScope to our advantage * Pare back, add guards, fix focus trap * Don't return focus to emoji button * Set DM input position on emoji insert * Let the caller determine next focus node --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Diffstat (limited to 'src/state/shell/composer/index.tsx')
-rw-r--r-- | src/state/shell/composer/index.tsx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/state/shell/composer/index.tsx b/src/state/shell/composer/index.tsx index 7138945f4..f1ea41c64 100644 --- a/src/state/shell/composer/index.tsx +++ b/src/state/shell/composer/index.tsx @@ -13,6 +13,7 @@ import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' import {postUriToRelativePath, toBskyAppUrl} from '#/lib/strings/url-helpers' import {purgeTemporaryImageFiles} from '#/state/gallery' import {precacheResolveLinkQuery} from '#/state/queries/resolve-link' +import type {EmojiPickerPosition} from '#/view/com/composer/text-input/web/EmojiPicker.web' import * as Toast from '#/view/com/util/Toast' export interface ComposerOptsPostRef { @@ -29,7 +30,7 @@ export interface ComposerOpts { onPost?: (postUri: string | undefined) => void quote?: AppBskyFeedDefs.PostView mention?: string // handle of user to mention - openEmojiPicker?: (pos: DOMRect | undefined) => void + openEmojiPicker?: (pos: EmojiPickerPosition | undefined) => void text?: string imageUris?: {uri: string; width: number; height: number; altText?: string}[] videoUri?: {uri: string; width: number; height: number} |