| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 'use client'import React, { useState } from 'react'import { useContext } from 'use-context-selector'import type { Collection, Tool } from '../types'import cn from '@/utils/classnames'import I18n from '@/context/i18n'import { getLanguage } from '@/i18n/language'import SettingBuiltInTool from '@/app/components/app/configuration/config/agent/agent-tools/setting-built-in-tool'type Props = {  disabled?: boolean  collection: Collection  tool: Tool  isBuiltIn: boolean  isModel: boolean}const ToolItem = ({  disabled,  collection,  tool,  isBuiltIn,  isModel,}: Props) => {  const { locale } = useContext(I18n)  const language = getLanguage(locale)  const [showDetail, setShowDetail] = useState(false)  return (    <>      <div        className={cn('mb-2 px-4 py-3 rounded-xl bg-gray-25 border-[0.5px] border-gary-200  shadow-xs cursor-pointer', disabled && 'opacity-50 !cursor-not-allowed')}        onClick={() => !disabled && setShowDetail(true)}      >        <div className='text-gray-800 font-semibold text-sm leading-5'>{tool.label[language]}</div>        <div className='mt-0.5 text-xs leading-[18px] text-gray-500 line-clamp-2' title={tool.description[language]}>{tool.description[language]}</div>      </div>      {showDetail && (        <SettingBuiltInTool          collection={collection}          toolName={tool.name}          readonly          onHide={() => {            setShowDetail(false)          }}          isBuiltIn={isBuiltIn}          isModel={isModel}        />      )}    </>  )}export default ToolItem
 |