diff --git a/src/modules/llms/models-modal/ModelsList.tsx b/src/modules/llms/models-modal/ModelsList.tsx index c9740538d..7a9a79809 100644 --- a/src/modules/llms/models-modal/ModelsList.tsx +++ b/src/modules/llms/models-modal/ModelsList.tsx @@ -157,6 +157,18 @@ export const ModelItem = React.memo(function ModelItem(props: { }).reverse(); }, [llm.interfaces]); + + const featuresChipMemo = React.useMemo(() => { + if (!isNotSymlink) return null; + let fs = ''; + if (llm.interfaces.includes(LLM_IF_OAI_Reasoning)) fs += '🧠 '; + if (llm.interfaces.includes(LLM_IF_Tools_WebSearch)) fs += '🌐 '; + if (llm.interfaces.includes(LLM_IF_Outputs_Audio)) fs += '🔊 '; + if (llm.interfaces.includes(LLM_IF_Outputs_Image)) fs += '🖼️ '; + return !fs ? null : {fs.trim()}; + }, [isNotSymlink, llm.interfaces]); + + return ( } {/* Features Chips - sync with `useLLMSelect.tsx` */} - {llm.interfaces.includes(LLM_IF_OAI_Reasoning) && isNotSymlink && 🧠} - {llm.interfaces.includes(LLM_IF_Tools_WebSearch) && isNotSymlink && 🌐} - {llm.interfaces.includes(LLM_IF_Outputs_Audio) && isNotSymlink && 🔊️} - {llm.interfaces.includes(LLM_IF_Outputs_Image) && isNotSymlink && 🖼️} + {featuresChipMemo} {seemsFree && isNotSymlink && free}