@@ -2,18 +2,19 @@ import { CSSProperties, forwardRef, useMemo } from 'react';
22
33import DefaultAvatar from './DefaultAvatar' ;
44import DefaultIcon from './DefaultIcon' ;
5- import { ModelProviderKey , providerMappings } from './const' ;
5+ import { ModelProvider , ModelProviderKey , providerMappings } from './const' ;
66
77export interface ProviderIconProps {
88 className ?: string ;
9+ forceMono ?: boolean ;
910 provider ?: ModelProviderKey | string ;
1011 size ?: number ;
1112 style ?: CSSProperties ;
1213 type ?: 'avatar' | 'mono' | 'color' | 'combine' | 'combine-color' ;
1314}
1415
1516const ProviderIcon = forwardRef < any , ProviderIconProps > (
16- ( { provider : originProvider , size = 12 , type = 'avatar' , ...rest } , ref ) => {
17+ ( { provider : originProvider , size = 12 , type = 'avatar' , forceMono , ...rest } , ref ) => {
1718 const Render = useMemo ( ( ) => {
1819 if ( ! originProvider ) return ;
1920 const provider = originProvider . toLowerCase ( ) ;
@@ -32,6 +33,10 @@ const ProviderIcon = forwardRef<any, ProviderIconProps>(
3233 }
3334 case 'mono' : {
3435 if ( ! Render ?. Icon ) return < DefaultIcon ref = { ref } size = { size } { ...rest } /> ;
36+ if ( ! forceMono && originProvider === ModelProvider . LobeHub ) {
37+ // @ts -ignore
38+ return < Render . Icon . Color ref = { ref } size = { size } { ...( Render ?. props || { } ) } { ...rest } /> ;
39+ }
3540 return < Render . Icon ref = { ref } size = { size } { ...( Render ?. props || { } ) } { ...rest } /> ;
3641 }
3742 case 'color' : {
0 commit comments