import React from 'react'; import type { ModelSelectorProps } from '~/common'; import { ModelSelectorProvider, useModelSelectorContext } from './ModelSelectorContext'; import { renderModelSpecs, renderEndpoints, renderSearchResults } from './components'; import { CustomMenu as Menu } from './CustomMenu'; import DialogManager from './DialogManager'; import { getSelectedIcon } from './utils'; import { useLocalize } from '~/hooks'; function ModelSelectorContent() { const localize = useLocalize(); const { // LibreChat modelSpecs, mappedEndpoints, endpointsConfig, // State searchValue, searchResults, selectedValues, // Functions setSearchValue, getDisplayValue, setSelectedValues, // Dialog keyDialogOpen, onOpenChange, keyDialogEndpoint, } = useModelSelectorContext(); const selectedIcon = getSelectedIcon({ mappedEndpoints: mappedEndpoints ?? [], selectedValues, modelSpecs, endpointsConfig, }); const selectedDisplayValue = getDisplayValue(); const trigger = ( ); return (