diff --git a/app/soapbox/components/ui/emoji-selector/emoji-selector.tsx b/app/soapbox/components/ui/emoji-selector/emoji-selector.tsx index 7053fbb7c..a4485e79f 100644 --- a/app/soapbox/components/ui/emoji-selector/emoji-selector.tsx +++ b/app/soapbox/components/ui/emoji-selector/emoji-selector.tsx @@ -1,4 +1,4 @@ -import { shift, useFloating, Placement } from '@floating-ui/react'; +import { shift, useFloating, Placement, offset, OffsetOptions } from '@floating-ui/react'; import clsx from 'clsx'; import React, { useEffect, useState } from 'react'; @@ -44,6 +44,7 @@ interface IEmojiSelector { placement?: Placement /** Whether the selector should be visible. */ visible?: boolean + offsetOptions?: OffsetOptions /** Whether to allow any emoji to be chosen. */ all?: boolean } @@ -55,6 +56,7 @@ const EmojiSelector: React.FC = ({ onReact, placement = 'top', visible = false, + offsetOptions, all = true, }): JSX.Element => { const soapboxConfig = useSoapboxConfig(); @@ -64,7 +66,7 @@ const EmojiSelector: React.FC = ({ const { x, y, strategy, refs, update } = useFloating({ placement, - middleware: [shift()], + middleware: [offset(offsetOptions), shift()], }); const handleExpand: React.MouseEventHandler = () => { diff --git a/app/soapbox/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx b/app/soapbox/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx index d4600041e..91e959f7c 100644 --- a/app/soapbox/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx +++ b/app/soapbox/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx @@ -44,6 +44,7 @@ function ChatMessageReactionWrapper(props: IChatMessageReactionWrapper) { referenceElement={referenceElement} onReact={handleSelect} onClose={() => setIsOpen(false)} + offsetOptions={{ mainAxis: 12, crossAxis: -10 }} all={false} />