| <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> | |||||
| <path d="M5 6.5V5M8.93934 7.56066L10 6.5M10.0103 11.5H11.5103" stroke="#667085" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> | |||||
| </svg> |
| { | |||||
| "icon": { | |||||
| "type": "element", | |||||
| "isRootNode": true, | |||||
| "name": "svg", | |||||
| "attributes": { | |||||
| "width": "16", | |||||
| "height": "16", | |||||
| "viewBox": "0 0 16 16", | |||||
| "fill": "none", | |||||
| "xmlns": "http://www.w3.org/2000/svg" | |||||
| }, | |||||
| "children": [ | |||||
| { | |||||
| "type": "element", | |||||
| "name": "path", | |||||
| "attributes": { | |||||
| "d": "M5 6.5V5M8.93934 7.56066L10 6.5M10.0103 11.5H11.5103", | |||||
| "stroke": "#667085", | |||||
| "stroke-width": "2", | |||||
| "stroke-linecap": "round", | |||||
| "stroke-linejoin": "round" | |||||
| }, | |||||
| "children": [] | |||||
| } | |||||
| ] | |||||
| }, | |||||
| "name": "Icon3Dots" | |||||
| } |
| // GENERATE BY script | |||||
| // DON NOT EDIT IT MANUALLY | |||||
| import * as React from 'react' | |||||
| import data from './Icon3Dots.json' | |||||
| import IconBase from '@/app/components/base/icons/IconBase' | |||||
| import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase' | |||||
| const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>(( | |||||
| props, | |||||
| ref, | |||||
| ) => <IconBase {...props} ref={ref} data={data as IconData} />) | |||||
| Icon.displayName = 'Icon3Dots' | |||||
| export default Icon |
| export { default as Icon3Dots } from './Icon3Dots' | |||||
| export { default as DefaultToolIcon } from './DefaultToolIcon' | export { default as DefaultToolIcon } from './DefaultToolIcon' |
| import EditCustomToolModal from './edit-custom-collection-modal' | import EditCustomToolModal from './edit-custom-collection-modal' | ||||
| import NoCustomTool from './info/no-custom-tool' | import NoCustomTool from './info/no-custom-tool' | ||||
| import NoSearchRes from './info/no-search-res' | import NoSearchRes from './info/no-search-res' | ||||
| import NoCustomToolPlaceholder from './no-custom-tool-placeholder' | |||||
| import TabSlider from '@/app/components/base/tab-slider' | import TabSlider from '@/app/components/base/tab-slider' | ||||
| import { createCustomCollection, fetchCollectionList as doFetchCollectionList, fetchBuiltInToolList, fetchCustomToolList } from '@/service/tools' | import { createCustomCollection, fetchCollectionList as doFetchCollectionList, fetchBuiltInToolList, fetchCustomToolList } from '@/service/tools' | ||||
| import type { AgentTool } from '@/types/app' | import type { AgentTool } from '@/types/app' | ||||
| isLoading={isDetailLoading} | isLoading={isDetailLoading} | ||||
| /> | /> | ||||
| )} | )} | ||||
| {collectionType === CollectionType.custom && hasNoCustomCollection && ( | |||||
| <NoCustomToolPlaceholder /> | |||||
| )} | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { Icon3Dots } from '../../base/icons/src/public/other' | |||||
| import { Tools } from '@/app/components/base/icons/src/public/header-nav/tools' | import { Tools } from '@/app/components/base/icons/src/public/header-nav/tools' | ||||
| type Props = { | type Props = { | ||||
| onCreateTool: () => void | onCreateTool: () => void | ||||
| } | } | ||||
| </div> | </div> | ||||
| <div className='mt-2'> | <div className='mt-2'> | ||||
| <div className='leading-5 text-sm font-medium text-gray-500'> | <div className='leading-5 text-sm font-medium text-gray-500'> | ||||
| {t('tools.noCustomTool.title')} | |||||
| {t('tools.noCustomTool.title')}<Icon3Dots className='inline relative -top-3 -left-1.5' /> | |||||
| </div> | </div> | ||||
| <div className='mt-1 leading-[18px] text-xs font-normal text-gray-500'> | <div className='mt-1 leading-[18px] text-xs font-normal text-gray-500'> | ||||
| {t('tools.noCustomTool.content')} | {t('tools.noCustomTool.content')} |
| 'use client' | |||||
| import type { FC } from 'react' | |||||
| import React from 'react' | |||||
| import { useTranslation } from 'react-i18next' | |||||
| import { BookOpen01 } from '../base/icons/src/vender/line/education' | |||||
| import { Icon3Dots } from '../base/icons/src/public/other' | |||||
| const NoCustomToolPlaceHolder: FC = () => { | |||||
| const { t } = useTranslation() | |||||
| return ( | |||||
| <div className='h-full flex items-center justify-center'> | |||||
| <div className='p-6 rounded-xl bg-gray-50'> | |||||
| <div className='inline-flex p-2 border border-gray-200 rounded-md'> | |||||
| <BookOpen01 className='w-4 h-4 text-primary-600' /> | |||||
| </div> | |||||
| <div className='mt-3 leading-6 text-base font-medium text-gray-700'> | |||||
| {t('tools.noCustomTool.title')} | |||||
| <Icon3Dots className='inline relative -top-3 -left-1.5' /> | |||||
| </div> | |||||
| <div className='mt-2 leading-5 text-sm font-normal text-gray-700'>{t('tools.noCustomTool.content')}</div> | |||||
| </div> | |||||
| </div> | |||||
| ) | |||||
| } | |||||
| export default React.memo(NoCustomToolPlaceHolder) |
| infoAndSetting: 'Info & Settings', | infoAndSetting: 'Info & Settings', | ||||
| }, | }, | ||||
| noCustomTool: { | noCustomTool: { | ||||
| title: 'No custom tools', | |||||
| title: 'No custom tools!', | |||||
| content: 'Add and manage your custom tools here for building AI apps.', | content: 'Add and manage your custom tools here for building AI apps.', | ||||
| createTool: 'Create Tool', | createTool: 'Create Tool', | ||||
| }, | }, |
| infoAndSetting: 'Informações e Configurações', | infoAndSetting: 'Informações e Configurações', | ||||
| }, | }, | ||||
| noCustomTool: { | noCustomTool: { | ||||
| title: 'Nenhuma ferramenta personalizada', | |||||
| title: 'Nenhuma ferramenta personalizada!', | |||||
| content: 'Você não possui ferramentas personalizadas. ', | content: 'Você não possui ferramentas personalizadas. ', | ||||
| createTool: 'Criar Ferramenta', | createTool: 'Criar Ferramenta', | ||||
| }, | }, |
| infoAndSetting: '信息和设置', | infoAndSetting: '信息和设置', | ||||
| }, | }, | ||||
| noCustomTool: { | noCustomTool: { | ||||
| title: '没有自定义工具', | |||||
| title: '没有自定义工具!', | |||||
| content: '在此统一添加和管理你的自定义工具,方便构建应用时使用。', | content: '在此统一添加和管理你的自定义工具,方便构建应用时使用。', | ||||
| createTool: '创建工具', | createTool: '创建工具', | ||||
| }, | }, |