From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001
From: wwf <yearningwang@iqtogether.com>
Date: 星期三, 04 六月 2025 15:17:49 +0800
Subject: [PATCH] 初始化

---
 app/components/tools/workflow-tool/configure-button.tsx |  120 +++++++++++++++++++++++++----------------------------------
 1 files changed, 51 insertions(+), 69 deletions(-)

diff --git a/app/components/tools/workflow-tool/configure-button.tsx b/app/components/tools/workflow-tool/configure-button.tsx
index 0c72f82..6521410 100644
--- a/app/components/tools/workflow-tool/configure-button.tsx
+++ b/app/components/tools/workflow-tool/configure-button.tsx
@@ -2,10 +2,10 @@
 import React, { useCallback, useEffect, useMemo, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useRouter } from 'next/navigation'
-import { RiArrowRightUpLine, RiHammerLine } from '@remixicon/react'
-import Divider from '../../base/divider'
 import cn from '@/utils/classnames'
 import Button from '@/app/components/base/button'
+import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows'
+import { Tools } from '@/app/components/base/icons/src/vender/line/others'
 import Indicator from '@/app/components/header/indicator'
 import WorkflowToolModal from '@/app/components/tools/workflow-tool'
 import Loading from '@/app/components/base/loading'
@@ -13,9 +13,7 @@
 import { createWorkflowToolProvider, fetchWorkflowToolDetailByAppID, saveWorkflowToolProvider } from '@/service/tools'
 import type { Emoji, WorkflowToolProviderParameter, WorkflowToolProviderRequest, WorkflowToolProviderResponse } from '@/app/components/tools/types'
 import type { InputVar } from '@/app/components/workflow/types'
-import type { PublishWorkflowParams } from '@/types/workflow'
 import { useAppContext } from '@/context/app-context'
-import { useInvalidateAllWorkflowTools } from '@/service/use-tools'
 
 type Props = {
   disabled: boolean
@@ -26,7 +24,7 @@
   name: string
   description: string
   inputs?: InputVar[]
-  handlePublish: (params?: PublishWorkflowParams) => Promise<void>
+  handlePublish: () => void
   onRefreshData?: () => void
 }
 
@@ -48,7 +46,6 @@
   const [isLoading, setIsLoading] = useState(false)
   const [detail, setDetail] = useState<WorkflowToolProviderResponse>()
   const { isCurrentWorkspaceManager } = useAppContext()
-  const invalidateAllWorkflowTools = useInvalidateAllWorkflowTools()
 
   const outdated = useMemo(() => {
     if (!detail)
@@ -138,7 +135,6 @@
   const createHandle = async (data: WorkflowToolProviderRequest & { workflow_app_id: string }) => {
     try {
       await createWorkflowToolProvider(data)
-      invalidateAllWorkflowTools()
       onRefreshData?.()
       getDetail(workflowAppId)
       Toast.notify({
@@ -160,7 +156,6 @@
       await handlePublish()
       await saveWorkflowToolProvider(data)
       onRefreshData?.()
-      invalidateAllWorkflowTools()
       getDetail(workflowAppId)
       Toast.notify({
         type: 'success',
@@ -175,74 +170,61 @@
 
   return (
     <>
-      <Divider type='horizontal' className='h-[1px] bg-divider-subtle' />
-      {(!published || !isLoading) && (
-        <div className={cn(
-          'group rounded-lg bg-background-section-burn transition-colors',
-          disabled ? 'cursor-not-allowed opacity-30 shadow-xs' : 'cursor-pointer',
-          !disabled && !published && 'hover:bg-state-accent-hover',
-        )}>
-          {isCurrentWorkspaceManager
-            ? (
-              <div
-                className='flex items-center justify-start gap-2 p-2 pl-2.5'
-                onClick={() => !disabled && !published && setShowModal(true)}
-              >
-                <RiHammerLine className={cn('relative h-4 w-4 text-text-secondary', !disabled && !published && 'group-hover:text-text-accent')} />
+      <div className='mt-2 pt-2 border-t-[0.5px] border-t-black/5'>
+        {(!published || !isLoading) && (
+          <div className={cn(
+            'group bg-gray-100 rounded-lg transition-colors',
+            disabled ? 'shadow-xs opacity-30 cursor-not-allowed' : 'cursor-pointer',
+            !published && 'hover:bg-primary-50',
+          )}>
+            {isCurrentWorkspaceManager
+              ? (
                 <div
-                  title={t('workflow.common.workflowAsTool') || ''}
-                  className={cn('system-sm-medium shrink grow basis-0 truncate text-text-secondary', !disabled && !published && 'group-hover:text-text-accent')}
+                  className='flex justify-start items-center gap-2 px-2.5 py-2'
+                  onClick={() => !published && setShowModal(true)}
                 >
-                  {t('workflow.common.workflowAsTool')}
-                </div>
-                {!published && (
-                  <span className='system-2xs-medium-uppercase shrink-0 rounded-[5px] border border-divider-deep bg-components-badge-bg-dimm px-1 py-0.5 text-text-tertiary'>
-                    {t('workflow.common.configureRequired')}
-                  </span>
-                )}
-              </div>)
-            : (
-              <div
-                className='flex items-center justify-start gap-2 p-2 pl-2.5'
-              >
-                <RiHammerLine className='h-4 w-4 text-text-tertiary' />
+                  <Tools className={cn('relative w-4 h-4', !published && 'group-hover:text-primary-600')} />
+                  <div title={t('workflow.common.workflowAsTool') || ''} className={cn('grow shrink basis-0 text-[13px] font-medium leading-[18px] truncate', !published && 'group-hover:text-primary-600')}>{t('workflow.common.workflowAsTool')}</div>
+                  {!published && (
+                    <span className='shrink-0 px-1 border border-black/8 rounded-[5px] bg-white text-[10px] font-medium leading-[18px] text-gray-500'>{t('workflow.common.configureRequired').toLocaleUpperCase()}</span>
+                  )}
+                </div>)
+              : (
                 <div
-                  title={t('workflow.common.workflowAsTool') || ''}
-                  className='system-sm-medium shrink grow basis-0 truncate text-text-tertiary'
+                  className='flex justify-start items-center gap-2 px-2.5 py-2'
                 >
-                  {t('workflow.common.workflowAsTool')}
+                  <Tools className='w-4 h-4 text-gray-500' />
+                  <div title={t('workflow.common.workflowAsTool') || ''} className='grow shrink basis-0 text-[13px] font-medium leading-[18px] truncate text-gray-500'>{t('workflow.common.workflowAsTool')}</div>
                 </div>
+              )}
+            {published && (
+              <div className='px-2.5 py-2 border-t-[0.5px] border-black/5'>
+                <div className='flex justify-between'>
+                  <Button
+                    size='small'
+                    className='w-[140px]'
+                    onClick={() => setShowModal(true)}
+                    disabled={!isCurrentWorkspaceManager}
+                  >
+                    {t('workflow.common.configure')}
+                    {outdated && <Indicator className='ml-1' color={'yellow'} />}
+                  </Button>
+                  <Button
+                    size='small'
+                    className='w-[140px]'
+                    onClick={() => router.push('/tools?category=workflow')}
+                  >
+                    {t('workflow.common.manageInTools')}
+                    <ArrowUpRight className='ml-1' />
+                  </Button>
+                </div>
+                {outdated && <div className='mt-1 text-xs leading-[18px] text-[#dc6803]'>{t('workflow.common.workflowAsToolTip')}</div>}
               </div>
             )}
-          {published && (
-            <div className='border-t-[0.5px] border-divider-regular px-2.5 py-2'>
-              <div className='flex justify-between gap-x-2'>
-                <Button
-                  size='small'
-                  className='w-[140px]'
-                  onClick={() => setShowModal(true)}
-                  disabled={!isCurrentWorkspaceManager}
-                >
-                  {t('workflow.common.configure')}
-                  {outdated && <Indicator className='ml-1' color={'yellow'} />}
-                </Button>
-                <Button
-                  size='small'
-                  className='w-[140px]'
-                  onClick={() => router.push('/tools?category=workflow')}
-                >
-                  {t('workflow.common.manageInTools')}
-                  <RiArrowRightUpLine className='ml-1 h-4 w-4' />
-                </Button>
-              </div>
-              {outdated && <div className='mt-1 text-xs leading-[18px] text-text-warning'>
-                {t('workflow.common.workflowAsToolTip')}
-              </div>}
-            </div>
-          )}
-        </div>
-      )}
-      {published && isLoading && <div className='pt-2'><Loading type='app' /></div>}
+          </div>
+        )}
+        {published && isLoading && <div className='pt-2'><Loading type='app' /></div>}
+      </div>
       {showModal && (
         <WorkflowToolModal
           isAdd={!published}

--
Gitblit v1.8.0