import React, { useState } from 'react' import { useTranslation } from 'react-i18next' import { usePluginPageContext } from '@/app/components/plugins/plugin-page/context' import { useAppContext } from '@/context/app-context' import Button from '@/app/components/base/button' import Toast from '@/app/components/base/toast' import Indicator from '@/app/components/header/indicator' import ToolItem from '@/app/components/tools/provider/tool-item' import ConfigCredential from '@/app/components/tools/setting/build-in/config-credentials' import { useBuiltinProviderInfo, useBuiltinTools, useInvalidateBuiltinProviderInfo, useRemoveProviderCredentials, useUpdateProviderCredentials, } from '@/service/use-tools' const ActionList = () => { const { t } = useTranslation() const { isCurrentWorkspaceManager } = useAppContext() const currentPluginDetail = usePluginPageContext(v => v.currentPluginDetail) const { data: provider } = useBuiltinProviderInfo(`${currentPluginDetail.plugin_id}/${currentPluginDetail.name}`) const invalidateProviderInfo = useInvalidateBuiltinProviderInfo() const { data } = useBuiltinTools(`${currentPluginDetail.plugin_id}/${currentPluginDetail.name}`) const [showSettingAuth, setShowSettingAuth] = useState(false) const handleCredentialSettingUpdate = () => { invalidateProviderInfo(`${currentPluginDetail.plugin_id}/${currentPluginDetail.name}`) Toast.notify({ type: 'success', message: t('common.api.actionSuccess'), }) setShowSettingAuth(false) } const { mutate: updatePermission } = useUpdateProviderCredentials({ onSuccess: handleCredentialSettingUpdate, }) const { mutate: removePermission } = useRemoveProviderCredentials({ onSuccess: handleCredentialSettingUpdate, }) if (!data || !provider) return null return (