diff --git a/packages/bot-engine/src/components/ChatBlock/AvatarSideContainer.tsx b/packages/bot-engine/src/components/ChatBlock/AvatarSideContainer.tsx index 692651349..700bc5467 100644 --- a/packages/bot-engine/src/components/ChatBlock/AvatarSideContainer.tsx +++ b/packages/bot-engine/src/components/ChatBlock/AvatarSideContainer.tsx @@ -10,10 +10,10 @@ import { Avatar } from '../avatars/Avatar' import { useFrame } from 'react-frame-component' import { CSSTransition } from 'react-transition-group' -type Props = { hostAvatarSrc?: string } +type Props = { hostAvatarSrc?: string; keepShowing: boolean } export const AvatarSideContainer = forwardRef( - ({ hostAvatarSrc }: Props, ref: ForwardedRef) => { + ({ hostAvatarSrc, keepShowing }: Props, ref: ForwardedRef) => { const { document } = useFrame() const [show, setShow] = useState(false) const [avatarTopOffset, setAvatarTopOffset] = useState(0) @@ -49,7 +49,7 @@ export const AvatarSideContainer = forwardRef(
void onBlockEnd: ( edgeId?: string, @@ -40,6 +41,7 @@ export const ChatBlock = ({ blockTitle, onScroll, onBlockEnd, + keepShowingHostAvatar, }: ChatBlockProps) => { const { currentTypebotId, @@ -188,6 +190,7 @@ export const ChatBlock = ({ }} hasGuestAvatar={typebot.theme.chat.guestAvatar?.isEnabled ?? false} onDisplayNextStep={displayNextStep} + keepShowingHostAvatar={keepShowingHostAvatar} /> ))}
@@ -199,12 +202,14 @@ type Props = { displayChunk: ChatDisplayChunk hostAvatar: { isEnabled: boolean; src?: string } hasGuestAvatar: boolean + keepShowingHostAvatar: boolean onDisplayNextStep: (answerContent?: string, isRetry?: boolean) => void } const ChatChunks = ({ displayChunk: { bubbles, input }, hostAvatar, hasGuestAvatar, + keepShowingHostAvatar, onDisplayNextStep, }: Props) => { // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -224,6 +229,7 @@ const ChatChunks = ({ )}
))} {/* We use a block to simulate padding because it makes iOS scroll flicker */}