Files
dify/web/app/components/datasets/external-knowledge-base/connector/index.tsx
CodingOnStar 3f01c06451 feat: enhance event tracking with Amplitude integration across components
- Added event tracking for various user actions including dataset creation, plugin deletion, and tool selection.
- Introduced  prop in  for session replay functionality.
- Updated user properties in context based on user profile and workspace details.
- Refactored components to utilize the new tracking functions for improved analytics.
2025-11-18 13:56:32 +08:00

41 lines
1.5 KiB
TypeScript

'use client'
import React, { useState } from 'react'
import { useRouter } from 'next/navigation'
import { useToastContext } from '@/app/components/base/toast'
import ExternalKnowledgeBaseCreate from '@/app/components/datasets/external-knowledge-base/create'
import type { CreateKnowledgeBaseReq } from '@/app/components/datasets/external-knowledge-base/create/declarations'
import { createExternalKnowledgeBase } from '@/service/datasets'
import { trackEvent } from '@/app/components/amplitude'
const ExternalKnowledgeBaseConnector = () => {
const { notify } = useToastContext()
const [loading, setLoading] = useState(false)
const router = useRouter()
const handleConnect = async (formValue: CreateKnowledgeBaseReq) => {
try {
setLoading(true)
const result = await createExternalKnowledgeBase({ body: formValue })
if (result && result.id) {
trackEvent('create_external_knowledge_base', {
value: formValue,
})
notify({ type: 'success', message: 'External Knowledge Base Connected Successfully' })
router.back()
}
else { throw new Error('Failed to create external knowledge base') }
}
catch (error) {
console.error('Error creating external knowledge base:', error)
notify({ type: 'error', message: 'Failed to connect External Knowledge Base' })
}
setLoading(false)
}
return (
<ExternalKnowledgeBaseCreate onConnect={handleConnect} loading={loading} />
)
}
export default ExternalKnowledgeBaseConnector