import { lazy, Suspense, useState } from 'react';
import { __ } from '@wordpress/i18n';
import Tooltip from '@/components/Common/Tooltip';
import Icon from '@/utils/Icon';
import { useChatAvailability } from '@/hooks/useChatAvailability';
// Loaded on first open only: the modal pulls in react-markdown and its
// remark/micromark stack, which would otherwise sit in the core bundle.
const ChatAssistantModal = lazy( () => import( './ChatAssistantModal' ) );
const ChatAssistantButton = () => {
const { abilitiesEnabled, disabledReason, isDisabled } = useChatAvailability();
const [ isOpen, setIsOpen ] = useState( false );
const [ hasOpened, setHasOpened ] = useState( false );
if ( ! abilitiesEnabled ) {
return null;
}
const openChat = () => {
if ( isDisabled ) {
return;
}
setHasOpened( true );
setIsOpen( true );
};
return (
<>
{hasOpened && (
setIsOpen( false )} />
)}
>
);
};
export default ChatAssistantButton;