import { useUserHasResponded } from 'domains/app/hooks' import { useConfig } from 'domains/config/hooks' import { useI18n } from 'domains/i18n/hooks' import { useVisibility } from 'domains/visibility/hooks' import { className } from 'lib/css' import Conversation from 'ui/components/conversation/conversation' import Chat from 'ui/components/layout/chat' import ChatFrame from 'ui/components/layout/chat-frame' import ContinueChatMessages from 'ui/components/layout/continue-chat-messages' import Icon from 'ui/components/layout/icon' import PreChatMessages from 'ui/components/layout/pre-chat-messages' import InOutTransition, { transitionStartStates, } from 'ui/components/widgets/in-out-transition' import WindowOpenButton from './window-open-button' const getDelay = ( prop: Record | boolean | undefined, val: T, init?: number, ) => (typeof prop === 'object' ? prop[val] : init) const WindowView = () => { const { isOpen, openChat, showPreChat, closePreChat, showContinueChat, closeContinueChat, } = useVisibility() const { t } = useI18n() const userHasResponded = useUserHasResponded() const { continueChat, preChat, preChatEvents } = useConfig() const showPreChatMessagesCloseButton = preChat === true && !!preChatEvents?.length const showContinueMessagesCloseButton = continueChat === true const closeButton = ( ) return ( <>
{showPreChatMessagesCloseButton ? closeButton : null}
{showContinueMessagesCloseButton ? closeButton : null}
) } export default WindowView