From 2201f6ff5ad618992cf30bf74800f6cc8624b90c Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Thu, 29 Jan 2026 12:31:50 -0800 Subject: [PATCH] ModelsList: memo feature chips --- src/modules/llms/models-modal/ModelsList.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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}