| 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; |
|
|