Skip to content

Commit 6b5070d

Browse files
🐛 fix: Fix LobeHub icon
1 parent ecf538d commit 6b5070d

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/ProviderIcon/demos/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default () => {
55
return (
66
<Flexbox gap={8} horizontal width={'100%'} wrap={'wrap'}>
77
{Object.values(ModelProvider).map((provider) => (
8-
<ProviderIcon key={provider} provider={provider} size={48} type={'mono'} />
8+
<ProviderIcon forceMono key={provider} provider={provider} size={48} type={'mono'} />
99
))}
1010
</Flexbox>
1111
);

src/ProviderIcon/index.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,19 @@ import { CSSProperties, forwardRef, useMemo } from 'react';
22

33
import DefaultAvatar from './DefaultAvatar';
44
import DefaultIcon from './DefaultIcon';
5-
import { ModelProviderKey, providerMappings } from './const';
5+
import { ModelProvider, ModelProviderKey, providerMappings } from './const';
66

77
export 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

1516
const 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

Comments
 (0)