import React, { useState, useMemo } from 'react'; import Spin from '../ui/Spin'; import { LayoutProps } from '../MemoriWidget/MemoriWidget'; import Button from '../ui/Button'; import Blob from '../Blob/Blob'; import Close from '../icons/Close'; import { useTranslation } from 'react-i18next'; const WebsiteAssistantLayout: React.FC = ({ Header, headerProps, Avatar, avatarProps, Chat, chatProps, StartPanel, startPanelProps, integrationStyle, sessionId, hasUserActivatedSpeak, loading = false, poweredBy, avatar3dHidden, }) => { const { t } = useTranslation(); const [collapsed, _setCollapsed] = useState(true); const [expandedKey, setExpandedKey] = useState(); const stopAudio = useMemo(() => chatProps?.stopAudio, [chatProps?.stopAudio]); const setCollapsed = (collapsed: boolean) => { _setCollapsed(collapsed); setExpandedKey(collapsed ? undefined : new Date().toISOString()); try { stopAudio?.(); } catch (e) { console.log(e); } }; return ( <> {collapsed && (
)}
{!collapsed && ( <> {integrationStyle} {poweredBy}
{Header && headerProps && (
)} {!(avatar3dHidden === true || avatar3dHidden === 'true') && (
{Avatar && avatarProps && ( )}
)}
{sessionId && hasUserActivatedSpeak && Chat && chatProps ? ( ) : startPanelProps ? ( ) : null}
)}
); }; export default WebsiteAssistantLayout;