fix: quota tag
This commit is contained in:
+2
-2
@@ -61,8 +61,10 @@
|
||||
"@libsql/client": "0.14.0",
|
||||
"@libsql/win32-x64-msvc": "^0.4.7",
|
||||
"@strongtz/win32-arm64-msvc": "^0.4.7",
|
||||
"canvas": "3.1.0",
|
||||
"jsdom": "26.1.0",
|
||||
"os-proxy-config": "^1.1.2",
|
||||
"pdfjs-dist": "4.2.67",
|
||||
"selection-hook": "^0.9.23",
|
||||
"turndown": "7.2.0"
|
||||
},
|
||||
@@ -137,7 +139,6 @@
|
||||
"async-mutex": "^0.5.0",
|
||||
"axios": "^1.7.3",
|
||||
"browser-image-compression": "^2.0.2",
|
||||
"canvas": "3.1.0",
|
||||
"color": "^5.0.0",
|
||||
"dayjs": "^1.11.11",
|
||||
"dexie": "^4.0.8",
|
||||
@@ -182,7 +183,6 @@
|
||||
"openai": "patch:openai@npm%3A5.1.0#~/.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch",
|
||||
"p-queue": "^8.1.0",
|
||||
"pdf-to-img": "^4.4.0",
|
||||
"pdfjs-dist": "4.2.67",
|
||||
"playwright": "^1.52.0",
|
||||
"prettier": "^3.5.3",
|
||||
"proxy-agent": "^6.5.0",
|
||||
|
||||
@@ -7,7 +7,6 @@ import TextEditPopup from '@renderer/components/Popups/TextEditPopup'
|
||||
import Scrollbar from '@renderer/components/Scrollbar'
|
||||
import Logger from '@renderer/config/logger'
|
||||
import { useKnowledge } from '@renderer/hooks/useKnowledge'
|
||||
import { usePreprocessProvider } from '@renderer/hooks/usePreprocess'
|
||||
import FileManager from '@renderer/services/FileManager'
|
||||
import { getProviderName } from '@renderer/services/ProviderService'
|
||||
import { FileMetadata, FileTypes, KnowledgeBase, KnowledgeItem } from '@renderer/types'
|
||||
@@ -26,6 +25,7 @@ import FileItem from '../files/FileItem'
|
||||
import { NavbarIcon } from '../home/Navbar'
|
||||
import KnowledgeSearchPopup from './components/KnowledgeSearchPopup'
|
||||
import KnowledgeSettings from './components/KnowledgeSettings'
|
||||
import QuotaTag from './components/QuotaTag'
|
||||
import StatusIcon from './components/StatusIcon'
|
||||
|
||||
const { Dragger } = Upload
|
||||
@@ -41,6 +41,7 @@ const KnowledgeContent: FC<KnowledgeContentProps> = ({ selectedBase }) => {
|
||||
const [expandAll, setExpandAll] = useState(false)
|
||||
const [progressMap, setProgressMap] = useState<Map<string, number>>(new Map())
|
||||
const [preprocessMap, setPreprocessMap] = useState<Map<string, boolean>>(new Map())
|
||||
const [quota, setQuota] = useState<number | undefined>(undefined)
|
||||
|
||||
const {
|
||||
base,
|
||||
@@ -61,22 +62,14 @@ const KnowledgeContent: FC<KnowledgeContentProps> = ({ selectedBase }) => {
|
||||
updateItem
|
||||
} = useKnowledge(selectedBase.id || '')
|
||||
|
||||
const { provider: preprocessProvider, updatePreprocessProvider } = usePreprocessProvider(
|
||||
selectedBase.preprocessOrOcrProvider?.provider.id || 'mineru'
|
||||
)
|
||||
|
||||
const providerName = getProviderName(base?.model.provider || '')
|
||||
const disabled = !base?.version || !providerName
|
||||
useEffect(() => {
|
||||
const handlers = [
|
||||
window.electron.ipcRenderer.on('file-preprocess-finished', (_, { itemId, quota }) => {
|
||||
setPreprocessMap((prev) => new Map(prev).set(itemId, true))
|
||||
if (base?.preprocessOrOcrProvider && quota) {
|
||||
console.log('[KnowledgeContent] Update preprocess provider quota:', quota)
|
||||
updatePreprocessProvider({
|
||||
...base.preprocessOrOcrProvider.provider,
|
||||
quota: quota
|
||||
})
|
||||
if (quota) {
|
||||
setQuota(quota)
|
||||
}
|
||||
}),
|
||||
|
||||
@@ -304,14 +297,8 @@ const KnowledgeContent: FC<KnowledgeContentProps> = ({ selectedBase }) => {
|
||||
{base.rerankModel.name}
|
||||
</Tag>
|
||||
)}
|
||||
|
||||
{preprocessProvider && preprocessProvider.quota && (
|
||||
<Tag color="orange" style={{ borderRadius: 20, margin: 0 }}>
|
||||
{t('knowledge.quota', {
|
||||
name: preprocessProvider.name,
|
||||
quota: preprocessProvider.quota
|
||||
})}
|
||||
</Tag>
|
||||
{base.preprocessOrOcrProvider && base.preprocessOrOcrProvider.type === 'preprocess' && (
|
||||
<QuotaTag providerId={base.preprocessOrOcrProvider?.provider.id} quota={quota} />
|
||||
)}
|
||||
</div>
|
||||
</ModelInfo>
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
import { usePreprocessProvider } from '@renderer/hooks/usePreprocess'
|
||||
import { Tag } from 'antd'
|
||||
import { FC, useEffect } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
const QuotaTag: FC<{ providerId: string; quota?: number }> = ({ providerId, quota }) => {
|
||||
const { t } = useTranslation()
|
||||
const { provider, updatePreprocessProvider } = usePreprocessProvider(providerId)
|
||||
|
||||
useEffect(() => {
|
||||
if (quota) {
|
||||
updatePreprocessProvider({ ...provider, quota })
|
||||
}
|
||||
}, [quota])
|
||||
|
||||
return (
|
||||
<>
|
||||
{provider.quota && (
|
||||
<Tag color="orange" style={{ borderRadius: 20, margin: 0 }}>
|
||||
{t('knowledge.quota', {
|
||||
name: provider.name,
|
||||
quota: provider.quota
|
||||
})}
|
||||
</Tag>
|
||||
)}
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default QuotaTag
|
||||
Reference in New Issue
Block a user