@@ -2,18 +2,19 @@ import { CSSProperties, forwardRef, useMemo } from 'react';
2
2
3
3
import DefaultAvatar from './DefaultAvatar' ;
4
4
import DefaultIcon from './DefaultIcon' ;
5
- import { ModelProviderKey , providerMappings } from './const' ;
5
+ import { ModelProvider , ModelProviderKey , providerMappings } from './const' ;
6
6
7
7
export interface ProviderIconProps {
8
8
className ?: string ;
9
+ forceMono ?: boolean ;
9
10
provider ?: ModelProviderKey | string ;
10
11
size ?: number ;
11
12
style ?: CSSProperties ;
12
13
type ?: 'avatar' | 'mono' | 'color' | 'combine' | 'combine-color' ;
13
14
}
14
15
15
16
const ProviderIcon = forwardRef < any , ProviderIconProps > (
16
- ( { provider : originProvider , size = 12 , type = 'avatar' , ...rest } , ref ) => {
17
+ ( { provider : originProvider , size = 12 , type = 'avatar' , forceMono , ...rest } , ref ) => {
17
18
const Render = useMemo ( ( ) => {
18
19
if ( ! originProvider ) return ;
19
20
const provider = originProvider . toLowerCase ( ) ;
@@ -32,6 +33,10 @@ const ProviderIcon = forwardRef<any, ProviderIconProps>(
32
33
}
33
34
case 'mono' : {
34
35
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
+ }
35
40
return < Render . Icon ref = { ref } size = { size } { ...( Render ?. props || { } ) } { ...rest } /> ;
36
41
}
37
42
case 'color' : {
0 commit comments