| import { PlusCircle } from 'lucide-react'; | |
| import { TooltipAnchor } from '@librechat/client'; | |
| import { isAssistantsEndpoint } from 'librechat-data-provider'; | |
| import type { TConversation } from 'librechat-data-provider'; | |
| import { useChatContext, useAddedChatContext } from '~/Providers'; | |
| import { mainTextareaId } from '~/common'; | |
| import { useLocalize } from '~/hooks'; | |
| function AddMultiConvo() { | |
| const { conversation } = useChatContext(); | |
| const { setConversation: setAddedConvo } = useAddedChatContext(); | |
| const localize = useLocalize(); | |
| const clickHandler = () => { | |
| const { title: _t, ...convo } = conversation ?? ({} as TConversation); | |
| setAddedConvo({ | |
| ...convo, | |
| title: '', | |
| }); | |
| const textarea = document.getElementById(mainTextareaId); | |
| if (textarea) { | |
| textarea.focus(); | |
| } | |
| }; | |
| if (!conversation) { | |
| return null; | |
| } | |
| if (isAssistantsEndpoint(conversation.endpoint)) { | |
| return null; | |
| } | |
| return ( | |
| <TooltipAnchor | |
| id="add-multi-conversation-button" | |
| aria-label={localize('com_ui_add_multi_conversation')} | |
| description={localize('com_ui_add_multi_conversation')} | |
| tabIndex={0} | |
| role="button" | |
| onClick={clickHandler} | |
| data-testid="parameters-button" | |
| className="inline-flex size-10 flex-shrink-0 items-center justify-center rounded-xl border border-border-light bg-transparent text-text-primary transition-all ease-in-out hover:bg-surface-tertiary disabled:pointer-events-none disabled:opacity-50 radix-state-open:bg-surface-tertiary" | |
| > | |
| <PlusCircle size={16} aria-label="Plus Icon" /> | |
| </TooltipAnchor> | |
| ); | |
| } | |
| export default AddMultiConvo; | |