import React, { useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { NotAvailable } from '~/client/components/NotAvailable'; import { NotAvailableForGuest } from '~/client/components/NotAvailableForGuest'; import { useIsAiEnabled } from '~/stores-universal/context'; import { useAiAssistantChatSidebar, useSWRxAiAssistants } from '../../stores/ai-assistant'; import styles from './OpenDefaultAiAssistantButton.module.scss'; const OpenDefaultAiAssistantButton = (): JSX.Element => { const { t } = useTranslation(); const { data: isAiEnabled } = useIsAiEnabled(); const { data: aiAssistantData } = useSWRxAiAssistants(); const { open: openAiAssistantChatSidebar } = useAiAssistantChatSidebar(); const defaultAiAssistant = useMemo(() => { if (aiAssistantData == null) { return null; } const allAiAssistants = [...aiAssistantData.myAiAssistants, ...aiAssistantData.teamAiAssistants]; return allAiAssistants.find(aiAssistant => aiAssistant.isDefault); }, [aiAssistantData]); const openDefaultAiAssistantButtonClickHandler = useCallback(() => { if (defaultAiAssistant == null) { return; } openAiAssistantChatSidebar(defaultAiAssistant); }, [defaultAiAssistant, openAiAssistantChatSidebar]); if (!isAiEnabled) { return <>; } return ( ); }; export default OpenDefaultAiAssistantButton;