diff --git a/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx b/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx index 1a910aba08..1e43439d15 100644 --- a/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx +++ b/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx @@ -25,22 +25,18 @@ const Popup: FC = ({ const language = useLanguage() const [searchText, setSearchText] = useState('') - const filteredModelList = modelList.filter( - model => model.models.filter( - (modelItem) => { - if (modelItem.label[language] !== undefined) - return modelItem.label[language].toLowerCase().includes(searchText.toLowerCase()) + const filteredModelList = modelList.map((model) => { + const filteredModels = model.models.filter((modelItem) => { + if (modelItem.label[language] !== undefined) + return modelItem.label[language].toLowerCase().includes(searchText.toLowerCase()) - let found = false - Object.keys(modelItem.label).forEach((key) => { - if (modelItem.label[key].toLowerCase().includes(searchText.toLowerCase())) - found = true - }) + return Object.values(modelItem.label).some(label => + label.toLowerCase().includes(searchText.toLowerCase()), + ) + }) - return found - }, - ).length, - ) + return { ...model, models: filteredModels } + }).filter(model => model.models.length > 0) return (