diff --git a/web/screens/Hub/ModelList/index.tsx b/web/screens/Hub/ModelList/index.tsx index f29e89c5a..b8bafa61a 100644 --- a/web/screens/Hub/ModelList/index.tsx +++ b/web/screens/Hub/ModelList/index.tsx @@ -5,18 +5,29 @@ import ModelItem from '@/screens/Hub/ModelList/ModelItem' type Props = { models: ModelSource[] onSelectedModel: (model: ModelSource) => void + filterOption?: string } -const ModelList = ({ models, onSelectedModel }: Props) => { +const ModelList = ({ models, onSelectedModel, filterOption }: Props) => { return (
- {models.map((model) => ( - onSelectedModel(model)} - /> - ))} + {models.length === 0 && filterOption === 'on-device' ? ( +
+ + No results found + +
+ ) : ( + <> + {models.map((model) => ( + onSelectedModel(model)} + /> + ))} + + )}
) } diff --git a/web/screens/Hub/index.tsx b/web/screens/Hub/index.tsx index 7da83d27a..88106d6d0 100644 --- a/web/screens/Hub/index.tsx +++ b/web/screens/Hub/index.tsx @@ -404,34 +404,44 @@ const HubScreen = () => {
0 && 'visible' + searchValue.length > 0 && 'visible' )} > - {searchedModels.map((model) => ( -
{ - setSelectedModel(model) - e.stopPropagation() - }} - > - - {searchValue.includes('huggingface.co') && ( - <> - {' '} - - )} - {extractModelRepo(model.id)} + {searchedModels.length === 0 ? ( +
+ + No results found
- ))} + ) : ( + <> + {searchedModels.map((model) => ( +
{ + setSelectedModel(model) + e.stopPropagation() + }} + > + + {searchValue.includes('huggingface.co') && ( + <> + {' '} + + )} + {extractModelRepo(model.id)} + +
+ ))} + + )}
@@ -523,6 +533,7 @@ const HubScreen = () => { setSelectedModel(model)} + filterOption={filterOption} /> )} {(filterOption === 'cloud' || filterOption === 'all') && (