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) => {