@@ -5,6 +5,7 @@ import type { FilterableModelType } from 'features/modelManagerV2/store/modelMan
55import { memo , useMemo } from 'react' ;
66import { useTranslation } from 'react-i18next' ;
77import {
8+ useClipEmbedModels ,
89 useControlNetModels ,
910 useEmbeddingModels ,
1011 useIPAdapterModels ,
@@ -13,6 +14,7 @@ import {
1314 useRefinerModels ,
1415 useSpandrelImageToImageModels ,
1516 useT2IAdapterModels ,
17+ useT5EncoderModels ,
1618 useVAEModels ,
1719} from 'services/api/hooks/modelsByType' ;
1820import type { AnyModelConfig } from 'services/api/types' ;
@@ -73,6 +75,18 @@ const ModelList = () => {
7375 [ vaeModels , searchTerm , filteredModelType ]
7476 ) ;
7577
78+ const [ t5EncoderModels , { isLoading : isLoadingT5EncoderModels } ] = useT5EncoderModels ( ) ;
79+ const filteredT5EncoderModels = useMemo (
80+ ( ) => modelsFilter ( t5EncoderModels , searchTerm , filteredModelType ) ,
81+ [ t5EncoderModels , searchTerm , filteredModelType ]
82+ ) ;
83+
84+ const [ clipEmbedModels , { isLoading : isLoadingClipEmbedModels } ] = useClipEmbedModels ( ) ;
85+ const filteredClipEmbedModels = useMemo (
86+ ( ) => modelsFilter ( clipEmbedModels , searchTerm , filteredModelType ) ,
87+ [ clipEmbedModels , searchTerm , filteredModelType ]
88+ ) ;
89+
7690 const [ spandrelImageToImageModels , { isLoading : isLoadingSpandrelImageToImageModels } ] =
7791 useSpandrelImageToImageModels ( ) ;
7892 const filteredSpandrelImageToImageModels = useMemo (
@@ -90,7 +104,9 @@ const ModelList = () => {
90104 filteredT2IAdapterModels . length +
91105 filteredIPAdapterModels . length +
92106 filteredVAEModels . length +
93- filteredSpandrelImageToImageModels . length
107+ filteredSpandrelImageToImageModels . length +
108+ t5EncoderModels . length +
109+ clipEmbedModels . length
94110 ) ;
95111 } , [
96112 filteredControlNetModels . length ,
@@ -102,6 +118,8 @@ const ModelList = () => {
102118 filteredT2IAdapterModels . length ,
103119 filteredVAEModels . length ,
104120 filteredSpandrelImageToImageModels . length ,
121+ t5EncoderModels . length ,
122+ clipEmbedModels . length ,
105123 ] ) ;
106124
107125 return (
@@ -154,6 +172,16 @@ const ModelList = () => {
154172 { ! isLoadingT2IAdapterModels && filteredT2IAdapterModels . length > 0 && (
155173 < ModelListWrapper title = { t ( 'common.t2iAdapter' ) } modelList = { filteredT2IAdapterModels } key = "t2i-adapters" />
156174 ) }
175+ { /* T5 Encoders List */ }
176+ { isLoadingT5EncoderModels && < FetchingModelsLoader loadingMessage = "Loading T5 Encoder Models..." /> }
177+ { ! isLoadingT5EncoderModels && filteredT5EncoderModels . length > 0 && (
178+ < ModelListWrapper title = "T5 Encoder" modelList = { filteredT5EncoderModels } key = "t5-encoder" />
179+ ) }
180+ { /* Clip Embed List */ }
181+ { isLoadingClipEmbedModels && < FetchingModelsLoader loadingMessage = "Loading Clip Embed Models..." /> }
182+ { ! isLoadingClipEmbedModels && filteredClipEmbedModels . length > 0 && (
183+ < ModelListWrapper title = "Clip Embed" modelList = { filteredClipEmbedModels } key = "clip-embed" />
184+ ) }
157185 { /* Spandrel Image to Image List */ }
158186 { isLoadingSpandrelImageToImageModels && (
159187 < FetchingModelsLoader loadingMessage = "Loading Image-to-Image Models..." />
0 commit comments