mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-29 01:40:51 +00:00

* System template (#2082) * feat: system plugin (#2024) * add plugin cost & change plugin avatar (#2030) * add plugin cost & change plugin avatar * add author * feat: duckduckgo plugin * duckduck search * perf: templates select system plugin * perf: system plugin avatar * feat: duckduck plugins * doc * perf: plugin classify * perf: icon avatar component * perf: system template avatar --------- Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com> * feat: system plugin search * perf: plugin packages important * perf: source avatar * nextconfig * perf: i18n * perf: default model * perf: system plugin author --------- Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com>
30 lines
747 B
TypeScript
30 lines
747 B
TypeScript
import React from 'react';
|
|
import { Image } from '@chakra-ui/react';
|
|
import type { ImageProps } from '@chakra-ui/react';
|
|
import { LOGO_ICON } from '@fastgpt/global/common/system/constants';
|
|
import MyIcon from '../Icon';
|
|
import { iconPaths } from '../Icon/constants';
|
|
|
|
const Avatar = ({ w = '30px', src, ...props }: ImageProps) => {
|
|
// @ts-ignore
|
|
const isIcon = !!iconPaths[src as any];
|
|
|
|
return isIcon ? (
|
|
<MyIcon name={src as any} w={w} borderRadius={props.borderRadius} />
|
|
) : (
|
|
<Image
|
|
fallbackSrc={LOGO_ICON}
|
|
fallbackStrategy={'onError'}
|
|
// borderRadius={'md'}
|
|
objectFit={'contain'}
|
|
alt=""
|
|
w={w}
|
|
h={w}
|
|
src={src || LOGO_ICON}
|
|
{...props}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default Avatar;
|