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

---
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/panel.tsx |  132 +++++++++++++++-----------------------------
 1 files changed, 45 insertions(+), 87 deletions(-)

diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx"
index 8575117..b62bb1d 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx"
@@ -1,25 +1,21 @@
 'use client'
 import type { FC } from 'react'
 import React, { useCallback, useEffect, useState } from 'react'
-import {
-  RiArrowDownDoubleLine,
-} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { usePathname } from 'next/navigation'
 import { useBoolean } from 'ahooks'
-import type { LangFuseConfig, LangSmithConfig, OpikConfig, WeaveConfig } from './type'
+import type { LangFuseConfig, LangSmithConfig } from './type'
 import { TracingProvider } from './type'
 import TracingIcon from './tracing-icon'
 import ConfigButton from './config-button'
 import cn from '@/utils/classnames'
-import { LangfuseIcon, LangsmithIcon, OpikIcon, WeaveIcon } from '@/app/components/base/icons/src/public/tracing'
+import { LangfuseIcon, LangsmithIcon, OpikIcon } from '@/app/components/base/icons/src/public/tracing'
 import Indicator from '@/app/components/header/indicator'
 import { fetchTracingConfig as doFetchTracingConfig, fetchTracingStatus, updateTracingStatus } from '@/service/apps'
 import type { TracingStatus } from '@/models/app'
 import Toast from '@/app/components/base/toast'
 import { useAppContext } from '@/context/app-context'
 import Loading from '@/app/components/base/loading'
-import Divider from '@/app/components/base/divider'
 
 const I18N_PREFIX = 'app.tracing'
 
@@ -31,7 +27,7 @@
   const { t } = useTranslation()
 
   return (
-    <div className={cn('system-xl-semibold flex items-center text-text-primary', className)}>
+    <div className={cn(className, 'flex items-center text-lg font-semibold text-gray-900')}>
       {t('common.appMenus.overview')}
     </div>
   )
@@ -82,15 +78,12 @@
         ? LangfuseIcon
         : inUseTracingProvider === TracingProvider.opik
           ? OpikIcon
-          : inUseTracingProvider === TracingProvider.weave
-            ? WeaveIcon
-            : LangsmithIcon
+          : null
 
   const [langSmithConfig, setLangSmithConfig] = useState<LangSmithConfig | null>(null)
   const [langFuseConfig, setLangFuseConfig] = useState<LangFuseConfig | null>(null)
   const [opikConfig, setOpikConfig] = useState<OpikConfig | null>(null)
-  const [weaveConfig, setWeaveConfig] = useState<WeaveConfig | null>(null)
-  const hasConfiguredTracing = !!(langSmithConfig || langFuseConfig || opikConfig || weaveConfig)
+  const hasConfiguredTracing = !!(langSmithConfig || langFuseConfig || opikConfig)
 
   const fetchTracingConfig = async () => {
     const { tracing_config: langSmithConfig, has_not_configured: langSmithHasNotConfig } = await doFetchTracingConfig({ appId, provider: TracingProvider.langSmith })
@@ -102,9 +95,6 @@
     const { tracing_config: opikConfig, has_not_configured: OpikHasNotConfig } = await doFetchTracingConfig({ appId, provider: TracingProvider.opik })
     if (!OpikHasNotConfig)
       setOpikConfig(opikConfig as OpikConfig)
-    const { tracing_config: weaveConfig, has_not_configured: weaveHasNotConfig } = await doFetchTracingConfig({ appId, provider: TracingProvider.weave })
-    if (!weaveHasNotConfig)
-      setWeaveConfig(weaveConfig as WeaveConfig)
   }
 
   const handleTracingConfigUpdated = async (provider: TracingProvider) => {
@@ -112,23 +102,19 @@
     const { tracing_config } = await doFetchTracingConfig({ appId, provider })
     if (provider === TracingProvider.langSmith)
       setLangSmithConfig(tracing_config as LangSmithConfig)
-    else if (provider === TracingProvider.langfuse)
+    else if (provider === TracingProvider.langSmith)
       setLangFuseConfig(tracing_config as LangFuseConfig)
     else if (provider === TracingProvider.opik)
       setOpikConfig(tracing_config as OpikConfig)
-    else if (provider === TracingProvider.weave)
-      setWeaveConfig(tracing_config as WeaveConfig)
   }
 
   const handleTracingConfigRemoved = (provider: TracingProvider) => {
     if (provider === TracingProvider.langSmith)
       setLangSmithConfig(null)
-    else if (provider === TracingProvider.langfuse)
+    else if (provider === TracingProvider.langSmith)
       setLangFuseConfig(null)
     else if (provider === TracingProvider.opik)
       setOpikConfig(null)
-    else if (provider === TracingProvider.weave)
-      setWeaveConfig(null)
     if (provider === inUseTracingProvider) {
       handleTracingStatusChange({
         enabled: false,
@@ -153,7 +139,7 @@
   }, [setControlShowPopup])
   if (!isLoaded) {
     return (
-      <div className='mb-3 flex items-center justify-between'>
+      <div className='flex items-center justify-between mb-3'>
         <Title className='h-[41px]' />
         <div className='w-[200px]'>
           <Loading />
@@ -163,76 +149,48 @@
   }
 
   return (
-    <div className={cn('mb-3 flex items-center justify-between')}>
+    <div className={cn('mb-3 flex justify-between items-center')}>
       <Title className='h-[41px]' />
-      <div
-        className={cn(
-          'flex cursor-pointer items-center rounded-xl border-l-[0.5px] border-t border-effects-highlight bg-background-default-dodge p-2 shadow-xs hover:border-effects-highlight-lightmode-off hover:bg-background-default-lighter',
-          controlShowPopup && 'border-effects-highlight-lightmode-off bg-background-default-lighter',
-        )}
-        onClick={showPopup}
-      >
-        {!inUseTracingProvider && (
-          <>
-            <TracingIcon size='md' />
-            <div className='system-sm-semibold mx-2 text-text-secondary'>{t(`${I18N_PREFIX}.title`)}</div>
-            <div className='flex items-center' onClick={e => e.stopPropagation()}>
-              <ConfigButton
-                appId={appId}
-                readOnly={readOnly}
-                hasConfigured={false}
-                enabled={enabled}
-                onStatusChange={handleTracingEnabledChange}
-                chosenProvider={inUseTracingProvider}
-                onChooseProvider={handleChooseProvider}
-                langSmithConfig={langSmithConfig}
-                langFuseConfig={langFuseConfig}
-                opikConfig={opikConfig}
-                weaveConfig={weaveConfig}
-                onConfigUpdated={handleTracingConfigUpdated}
-                onConfigRemoved={handleTracingConfigRemoved}
-                controlShowPopup={controlShowPopup}
-              />
-            </div>
-            <Divider type='vertical' className='h-3.5' />
-            <div className='rounded-md p-1'>
-              <RiArrowDownDoubleLine className='h-4 w-4 text-text-tertiary' />
-            </div>
+      <div className='flex items-center p-2 rounded-xl border-[0.5px] border-gray-200 shadow-xs cursor-pointer hover:bg-gray-100' onClick={showPopup}>
+        {!inUseTracingProvider
+          ? <>
+            <TracingIcon size='md' className='mr-2' />
+            <div className='leading-5 text-sm font-semibold text-gray-700'>{t(`${I18N_PREFIX}.title`)}</div>
           </>
-        )}
+          : <InUseProviderIcon className='ml-1 h-4' />}
+
         {hasConfiguredTracing && (
-          <>
-            <div className='ml-4 mr-1 flex items-center'>
-              <Indicator color={enabled ? 'green' : 'gray'} />
-              <div className='system-xs-semibold-uppercase ml-1.5 text-text-tertiary'>
-                {t(`${I18N_PREFIX}.${enabled ? 'enabled' : 'disabled'}`)}
-              </div>
+          <div className='ml-4 mr-1 flex items-center'>
+            <Indicator color={enabled ? 'green' : 'gray'} />
+            <div className='ml-1.5 text-xs font-semibold text-gray-500 uppercase'>
+              {t(`${I18N_PREFIX}.${enabled ? 'enabled' : 'disabled'}`)}
             </div>
-            {InUseProviderIcon && <InUseProviderIcon className='ml-1 h-4' />}
-            <Divider type='vertical' className='h-3.5' />
-            <div className='flex items-center' onClick={e => e.stopPropagation()}>
-              <ConfigButton
-                appId={appId}
-                readOnly={readOnly}
-                hasConfigured
-                className='ml-2'
-                enabled={enabled}
-                onStatusChange={handleTracingEnabledChange}
-                chosenProvider={inUseTracingProvider}
-                onChooseProvider={handleChooseProvider}
-                langSmithConfig={langSmithConfig}
-                langFuseConfig={langFuseConfig}
-                opikConfig={opikConfig}
-                weaveConfig={weaveConfig}
-                onConfigUpdated={handleTracingConfigUpdated}
-                onConfigRemoved={handleTracingConfigRemoved}
-                controlShowPopup={controlShowPopup}
-              />
-            </div>
-          </>
+          </div>
         )}
-      </div >
-    </div >
+
+        {hasConfiguredTracing && (
+          <div className='ml-2 w-px h-3.5 bg-gray-200'></div>
+        )}
+        <div className='flex items-center' onClick={e => e.stopPropagation()}>
+          <ConfigButton
+            appId={appId}
+            readOnly={readOnly}
+            hasConfigured
+            className='ml-2'
+            enabled={enabled}
+            onStatusChange={handleTracingEnabledChange}
+            chosenProvider={inUseTracingProvider}
+            onChooseProvider={handleChooseProvider}
+            langSmithConfig={langSmithConfig}
+            langFuseConfig={langFuseConfig}
+            opikConfig={opikConfig}
+            onConfigUpdated={handleTracingConfigUpdated}
+            onConfigRemoved={handleTracingConfigRemoved}
+            controlShowPopup={controlShowPopup}
+          />
+        </div>
+      </div>
+    </div>
   )
 }
 export default React.memo(Panel)

--
Gitblit v1.8.0