import React, { useMemo } from 'react' import { useTranslation } from 'react-i18next' import { useBoolean } from 'ahooks' import { RiAddLine } from '@remixicon/react' import type { EndpointListItem, PluginEndpointDeclaration } from '../types' import EndpointModal from './endpoint-modal' import EndpointCard from './endpoint-card' import { toolCredentialToFormSchemas } from '@/app/components/tools/utils/to-form-schema' import ActionButton from '@/app/components/base/action-button' import Tooltip from '@/app/components/base/tooltip' import { createEndpoint, } from '@/service/plugins' type Props = { pluginUniqueID: string declaration: PluginEndpointDeclaration list: EndpointListItem[] } const EndpointList = ({ pluginUniqueID, declaration, list, }: Props) => { const { t } = useTranslation() const [isShowEndpointModal, { setTrue: showEndpointModal, setFalse: hideEndpointModal, }] = useBoolean(false) const formSchemas = useMemo(() => { return toolCredentialToFormSchemas(declaration.settings) }, [declaration.settings]) const handleCreate = (state: any) => { try { createEndpoint({ url: '/workspaces/current/endpoints', body: { plugin_unique_identifier: pluginUniqueID, settings: state, name: state.name, }, }) } catch (error) { console.error(error) } } return (