import { Content, Portal, Root } from '@radix-ui/react-popover'; import { alternateName, isAssistantsEndpoint } from 'librechat-data-provider'; import { useGetEndpointsQuery } from 'librechat-data-provider/react-query'; import type { FC } from 'react'; import { useChatContext, useAssistantsMapContext } from '~/Providers'; import EndpointItems from './Endpoints/MenuItems'; import TitleButton from './UI/TitleButton'; import { mapEndpoints } from '~/utils'; const EndpointsMenu: FC = () => { const { data: endpoints = [] } = useGetEndpointsQuery({ select: mapEndpoints, }); const { conversation } = useChatContext(); const { endpoint = '', assistant_id = null } = conversation ?? {}; const assistantMap = useAssistantsMapContext(); const assistant = isAssistantsEndpoint(endpoint) && assistantMap?.[endpoint ?? '']?.[assistant_id ?? '']; const assistantName = (assistant && assistant?.name) || 'Assistant'; if (!endpoint) { console.warn('No endpoint selected'); return null; } const primaryText = assistant ? assistantName : (alternateName[endpoint] ?? endpoint ?? '') + ' '; return (
); }; export default EndpointsMenu;