mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
Fix emoji button bug
This commit is contained in:
@@ -66,18 +66,24 @@ export function ChatInputWrapper(
|
|||||||
setAttachmentsVisible(selectedFiles.length > 0);
|
setAttachmentsVisible(selectedFiles.length > 0);
|
||||||
}, [selectedFiles]);
|
}, [selectedFiles]);
|
||||||
|
|
||||||
function handleEmojiButtonClick() {
|
function handleEmojiButtonClick(e: React.MouseEvent<HTMLButtonElement>) {
|
||||||
if (chatInputWrapperRef.current && messagePanelRef?.current) {
|
e.stopPropagation();
|
||||||
const inputRect = chatInputWrapperRef.current.getBoundingClientRect();
|
|
||||||
const panelRect = messagePanelRef.current.getBoundingClientRect();
|
if (!emojiMenuOpen) {
|
||||||
|
if (chatInputWrapperRef.current && messagePanelRef?.current) {
|
||||||
// Position menu 10px from message panel edge and 10px above the chat input
|
const inputRect = chatInputWrapperRef.current.getBoundingClientRect();
|
||||||
// The animation will start 30px below this position
|
const panelRect = messagePanelRef.current.getBoundingClientRect();
|
||||||
setEmojiMenuPosition({
|
|
||||||
x: panelRect.left + 10, // 10px from message panel edge
|
// Position menu 10px from message panel edge and 10px above the chat input
|
||||||
y: window.innerHeight - inputRect.top + 10 // 10px above the top of chat input
|
// The animation will start 30px below this position
|
||||||
});
|
setEmojiMenuPosition({
|
||||||
setEmojiMenuOpen(true);
|
x: panelRect.left + 10, // 10px from message panel edge
|
||||||
|
y: window.innerHeight - inputRect.top + 10 // 10px above the top of chat input
|
||||||
|
});
|
||||||
|
setEmojiMenuOpen(true);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setEmojiMenuOpen(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -176,7 +182,12 @@ export function ChatInputWrapper(
|
|||||||
</AnimatedHeight>
|
</AnimatedHeight>
|
||||||
<div className="chat-input">
|
<div className="chat-input">
|
||||||
<div className="left-buttons">
|
<div className="left-buttons">
|
||||||
<mdui-button-icon icon="mood" onClick={handleEmojiButtonClick} className="emoji-btn"></mdui-button-icon>
|
<mdui-button-icon
|
||||||
|
icon="mood"
|
||||||
|
onClick={handleEmojiButtonClick}
|
||||||
|
onMouseDown={e => e.stopPropagation()}
|
||||||
|
onMouseUp={e => e.stopPropagation()}
|
||||||
|
className="emoji-btn" />
|
||||||
</div>
|
</div>
|
||||||
<RichTextArea
|
<RichTextArea
|
||||||
className="message-input"
|
className="message-input"
|
||||||
|
|||||||
Reference in New Issue
Block a user