diff --git a/web/app/components/tools/provider-list.tsx b/web/app/components/tools/provider-list.tsx index d1144d7e69..b1da6d5611 100644 --- a/web/app/components/tools/provider-list.tsx +++ b/web/app/components/tools/provider-list.tsx @@ -53,7 +53,10 @@ const ProviderList = () => { }) }, [activeTab, tagFilterValue, keywords, collectionList]) - const [currentProvider, setCurrentProvider] = useState() + const [currentProviderId, setCurrentProviderId] = useState() + const currentProvider = useMemo(() => { + return filteredCollectionList.find(collection => collection.id === currentProviderId) + }, [currentProviderId, filteredCollectionList]) const { data: pluginList } = useInstalledPluginList() const invalidateInstalledPluginList = useInvalidateInstalledPluginList() const currentPluginDetail = useMemo(() => { @@ -70,14 +73,14 @@ const ProviderList = () => { >
{ setActiveTab(state) if (state !== activeTab) - setCurrentProvider(undefined) + setCurrentProviderId(undefined) }} options={options} /> @@ -102,12 +105,12 @@ const ProviderList = () => { {filteredCollectionList.map(collection => (
setCurrentProvider(collection)} + onClick={() => setCurrentProviderId(collection.id)} > { {currentProvider && !currentProvider.plugin_id && ( setCurrentProvider(undefined)} + onHide={() => setCurrentProviderId(undefined)} onRefreshData={refetch} /> )} invalidateInstalledPluginList()} - onHide={() => setCurrentProvider(undefined)} + onHide={() => setCurrentProviderId(undefined)} /> )