From b26241051898480e0f2cf4f5ce23500851dfea19 Mon Sep 17 00:00:00 2001 From: icarus Date: Mon, 20 Oct 2025 03:13:25 +0800 Subject: [PATCH] refactor(ocr): use config from useOcrProvider hook directly Update OCR settings components to use config object returned by useOcrProvider hook instead of accessing it through provider.config. This provides more direct access to the configuration data and improves consistency across components. --- .../pages/settings/DocProcessSettings/OcrPpocrSettings.tsx | 6 +++--- .../pages/settings/DocProcessSettings/OcrSystemSettings.tsx | 4 ++-- .../settings/DocProcessSettings/OcrTesseractSettings.tsx | 4 ++-- src/renderer/src/pages/translate/TranslatePage.tsx | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/renderer/src/pages/settings/DocProcessSettings/OcrPpocrSettings.tsx b/src/renderer/src/pages/settings/DocProcessSettings/OcrPpocrSettings.tsx index 4a8cbdab0e..66e05aa214 100644 --- a/src/renderer/src/pages/settings/DocProcessSettings/OcrPpocrSettings.tsx +++ b/src/renderer/src/pages/settings/DocProcessSettings/OcrPpocrSettings.tsx @@ -13,14 +13,14 @@ export const OcrPpocrSettings = () => { const AISTUDIO_URL = 'https://aistudio.baidu.com/pipeline/mine' const { t } = useTranslation() - const { provider, updateConfig } = useOcrProvider(BuiltinOcrProviderIds.paddleocr) + const { provider, config, updateConfig } = useOcrProvider(BuiltinOcrProviderIds.paddleocr) if (!isOcrPpocrProvider(provider)) { throw new Error('Not PaddleOCR provider.') } - const [apiUrl, setApiUrl] = useState(provider.config.apiUrl || '') - const [accessToken, setAccessToken] = useState(provider.config.accessToken || '') + const [apiUrl, setApiUrl] = useState(config.apiUrl || '') + const [accessToken, setAccessToken] = useState(config.accessToken || '') const onApiUrlChange = useCallback((e: React.ChangeEvent) => { const value = e.target.value diff --git a/src/renderer/src/pages/settings/DocProcessSettings/OcrSystemSettings.tsx b/src/renderer/src/pages/settings/DocProcessSettings/OcrSystemSettings.tsx index 56f42a43b0..6a9d5a1292 100644 --- a/src/renderer/src/pages/settings/DocProcessSettings/OcrSystemSettings.tsx +++ b/src/renderer/src/pages/settings/DocProcessSettings/OcrSystemSettings.tsx @@ -19,7 +19,7 @@ export const OcrSystemSettings = () => { const { t } = useTranslation() // 和翻译自定义语言耦合了,应该还ok const { translateLanguages } = useTranslate() - const { provider, updateConfig } = useOcrProvider(BuiltinOcrProviderIds.system) + const { provider, config, updateConfig } = useOcrProvider(BuiltinOcrProviderIds.system) if (!isOcrSystemProvider(provider)) { throw new Error('Not system provider.') @@ -29,7 +29,7 @@ export const OcrSystemSettings = () => { throw new Error('Only Windows and MacOS is supported.') } - const [langs, setLangs] = useState(provider.config?.langs ?? []) + const [langs, setLangs] = useState(config?.langs ?? []) // currently static const options = useMemo( diff --git a/src/renderer/src/pages/settings/DocProcessSettings/OcrTesseractSettings.tsx b/src/renderer/src/pages/settings/DocProcessSettings/OcrTesseractSettings.tsx index 6b900162f7..0831df6cfa 100644 --- a/src/renderer/src/pages/settings/DocProcessSettings/OcrTesseractSettings.tsx +++ b/src/renderer/src/pages/settings/DocProcessSettings/OcrTesseractSettings.tsx @@ -17,13 +17,13 @@ import { SettingRow, SettingRowTitle } from '..' export const OcrTesseractSettings = () => { const { t } = useTranslation() - const { provider, updateConfig } = useOcrProvider(BuiltinOcrProviderIds.tesseract) + const { provider, config, updateConfig } = useOcrProvider(BuiltinOcrProviderIds.tesseract) if (!isOcrTesseractProvider(provider)) { throw new Error('Not tesseract provider.') } - const [langs, setLangs] = useState>>(provider.config?.langs ?? {}) + const [langs, setLangs] = useState>>(config?.langs ?? {}) const { translateLanguages } = useTranslate() const options = useMemo( diff --git a/src/renderer/src/pages/translate/TranslatePage.tsx b/src/renderer/src/pages/translate/TranslatePage.tsx index bc2fa87b4a..b4096c3e5a 100644 --- a/src/renderer/src/pages/translate/TranslatePage.tsx +++ b/src/renderer/src/pages/translate/TranslatePage.tsx @@ -9,10 +9,10 @@ import { isEmbeddingModel, isRerankModel, isTextToImageModel } from '@renderer/c import { LanguagesEnum, UNKNOWN } from '@renderer/config/translate' import { useCodeStyle } from '@renderer/context/CodeStyleProvider' import db from '@renderer/databases' +import { useOcr } from '@renderer/hooks/ocr/useOcr' import { useDefaultModel } from '@renderer/hooks/useAssistant' import { useDrag } from '@renderer/hooks/useDrag' import { useFiles } from '@renderer/hooks/useFiles' -import { useOcr } from '@renderer/hooks/useOcr' import { useTemporaryValue } from '@renderer/hooks/useTemporaryValue' import { useTimer } from '@renderer/hooks/useTimer' import useTranslate from '@renderer/hooks/useTranslate'