mirror of
https://github.com/enricoros/big-AGI.git
synced 2026-05-10 21:50:14 -07:00
ModelsList: memo feature chips
This commit is contained in:
@@ -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 : <Chip size='sm' variant='plain' sx={styles.chipCapability}>{fs.trim()}</Chip>;
|
||||
}, [isNotSymlink, llm.interfaces]);
|
||||
|
||||
|
||||
return (
|
||||
<ListItem>
|
||||
<ListItemButton
|
||||
@@ -202,10 +214,7 @@ export const ModelItem = React.memo(function ModelItem(props: {
|
||||
</>}
|
||||
|
||||
{/* Features Chips - sync with `useLLMSelect.tsx` */}
|
||||
{llm.interfaces.includes(LLM_IF_OAI_Reasoning) && isNotSymlink && <Chip size='sm' variant='plain' sx={styles.chipCapability}>🧠</Chip>}
|
||||
{llm.interfaces.includes(LLM_IF_Tools_WebSearch) && isNotSymlink && <Chip size='sm' variant='plain' sx={styles.chipCapability}>🌐</Chip>}
|
||||
{llm.interfaces.includes(LLM_IF_Outputs_Audio) && isNotSymlink && <Chip size='sm' variant='plain' sx={styles.chipCapability}>🔊️</Chip>}
|
||||
{llm.interfaces.includes(LLM_IF_Outputs_Image) && isNotSymlink && <Chip size='sm' variant='plain' sx={styles.chipCapability}>🖼️</Chip>}
|
||||
{featuresChipMemo}
|
||||
{seemsFree && isNotSymlink && <Chip size='sm' color='success' variant='plain' sx={styles.chipFree}>free</Chip>}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user