Merge remote-tracking branch 'origin/feat/trigger' into feat/trigger

This commit is contained in:
lyzno1 2025-10-15 20:47:20 +08:00
commit 7344df87e5
No known key found for this signature in database
3 changed files with 18 additions and 22 deletions

View File

@ -21,7 +21,7 @@ export const SubscriptionListView: React.FC<SubscriptionListViewProps> = ({
return (
<div className={cn('border-divider-subtle px-4 py-2', showTopBorder && 'border-t')}>
<div className='relative mb-3 flex items-center justify-between'>
<div className='relative flex items-center justify-between'>
{subscriptionCount > 0 && (
<div className='flex h-8 shrink-0 items-center gap-1'>
<span className='system-sm-semibold-uppercase text-text-secondary'>

View File

@ -265,34 +265,30 @@ const BasePanel: FC<BasePanelProps> = ({
})()
const buildInTools = useStore(s => s.buildInTools)
const currCollection = useMemo(() => {
return buildInTools.find(item => canFindTool(item.id, data.plugin_id))
}, [buildInTools, data.plugin_id])
const currToolCollection = useMemo(() => {
return buildInTools.find(item => canFindTool(item.id, data.provider_id))
}, [buildInTools, data.provider_id])
const needsToolAuth = useMemo(() => {
return (data.type === BlockEnum.Tool && currToolCollection?.allow_delete)
}, [data.type, currToolCollection?.allow_delete])
// For trigger plugins, get basic provider info
const { data: triggerProviders = [] } = useAllTriggerPlugins()
const currentTriggerProvider = useMemo(() => {
if (!data.plugin_id || !data.provider_name)
if (!data.provider_id || !data.provider_name)
return undefined
return triggerProviders.find(p => p.plugin_id === data.plugin_id && p.name === data.provider_name)
}, [data.type, data.plugin_id, data.provider_name, triggerProviders])
return triggerProviders.find(p => p.name === data.provider_id) // todo: confirm
}, [data.type, data.provider_id, data.provider_name, triggerProviders])
// Simplified: Always show tab for trigger plugins
const shouldShowTriggerTab = useMemo(() => {
const showTriggerConfig = useMemo(() => {
return data.type === BlockEnum.TriggerPlugin && currentTriggerProvider
}, [data.type, currentTriggerProvider])
// Unified check for tool authentication UI
const needsToolAuth = useMemo(() => {
return (data.type === BlockEnum.Tool && currCollection?.allow_delete)
}, [data.type, currCollection?.allow_delete])
const dataSourceList = useStore(s => s.dataSourceList)
const currentDataSource = useMemo(() => {
if (data.type === BlockEnum.DataSource && data.provider_type !== DataSourceClassification.localFile)
return dataSourceList?.find(item => item.plugin_id === data.plugin_id)
}, [dataSourceList, data.plugin_id, data.type, data.provider_type])
return dataSourceList?.find(item => item.plugin_id === data.provider_id)
}, [dataSourceList, data.provider_id, data.type, data.provider_type])
const handleAuthorizationItemClick = useCallback((credential_id: string) => {
handleNodeDataUpdateWithSyncDraft({
@ -475,7 +471,7 @@ const BasePanel: FC<BasePanelProps> = ({
<PluginAuth
className='px-4 pb-2'
pluginPayload={{
provider: currCollection?.name || '',
provider: currToolCollection?.name || '',
category: AuthCategory.tool,
}}
>
@ -486,7 +482,7 @@ const BasePanel: FC<BasePanelProps> = ({
/>
<AuthorizedInNode
pluginPayload={{
provider: currCollection?.name || '',
provider: currToolCollection?.name || '',
category: AuthCategory.tool,
}}
onAuthorizationItemClick={handleAuthorizationItemClick}
@ -516,7 +512,7 @@ const BasePanel: FC<BasePanelProps> = ({
)
}
{
shouldShowTriggerTab && (
showTriggerConfig && (
<TriggerSubscription
data={data}
onSubscriptionChange={handleSubscriptionChange}
@ -529,7 +525,7 @@ const BasePanel: FC<BasePanelProps> = ({
)
}
{
!needsToolAuth && !currentDataSource && data.type !== BlockEnum.TriggerPlugin && (
!needsToolAuth && !currentDataSource && !showTriggerConfig && (
<div className='flex items-center justify-between pl-4 pr-3'>
<Tab
value={tabType}

View File

@ -94,7 +94,7 @@ const translation = {
},
oauthRedirectInfo: '由于未找到此工具提供方的系统客户端密钥,需要手动设置,对于 redirect_uri请使用',
apiKey: {
title: '通过API密钥创建',
title: '通过 API 密钥创建',
verify: {
title: '验证凭据',
description: '请提供您的 API 凭据以验证访问权限',