diff --git a/src/components/common/Composer.tsx b/src/components/common/Composer.tsx index 74d40c0eb..ece0022f0 100644 --- a/src/components/common/Composer.tsx +++ b/src/components/common/Composer.tsx @@ -2457,16 +2457,26 @@ const Composer = ({ /> )} {Boolean(botKeyboardMessageId) && !activeVoiceRecording && !editingMessage && ( - - - + <> + + + + {!isMobile && ( + + )} + )} )} @@ -2508,7 +2518,7 @@ const Composer = ({ paidMessagesStars={paidMessagesStars} /> )} - {isInMessageList && Boolean(botKeyboardMessageId) && ( + {isMobile && isInMessageList && Boolean(botKeyboardMessageId) && ( :global(.backdrop) { + position: absolute; + top: -0.5rem; + right: 0; + bottom: auto; + left: auto; + + width: 3.5rem; + height: 4.5rem; + } } } diff --git a/src/components/middle/composer/BotKeyboardMenu.tsx b/src/components/middle/composer/BotKeyboardMenu.tsx index eaa5507a2..5a122ddb7 100644 --- a/src/components/middle/composer/BotKeyboardMenu.tsx +++ b/src/components/middle/composer/BotKeyboardMenu.tsx @@ -1,5 +1,5 @@ import type { TeactNode } from '../../../lib/teact/teact'; -import { memo, useMemo } from '../../../lib/teact/teact'; +import { memo, useEffect, useMemo } from '../../../lib/teact/teact'; import { getActions, withGlobal } from '../../../global'; import type { ApiMessage } from '../../../api/types'; @@ -39,9 +39,15 @@ const BotKeyboardMenu = ({ const lang = useLang(); - const [handleMouseEnter, handleMouseLeave] = useMouseInside(isOpen, onClose); + const [handleMouseEnter, handleMouseLeave, markMouseInside] = useMouseInside(isOpen, onClose); const { isKeyboardSingleUse } = message || {}; + useEffect(() => { + if (isOpen) { + markMouseInside(); + } + }, [isOpen, markMouseInside]); + const buttonTexts = useMemo(() => { const texts: TeactNode[][] = []; message?.keyboardButtons!.forEach((row) => {