mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-24 02:20:10 +08:00
fix(translate): state management is passed when early return (#10022)
fix(translate): wrap file drop handling in async function to ensure setIsProcessing(false) is executed
This commit is contained in:
parent
e16db26d18
commit
2bae30bd11
@ -568,34 +568,37 @@ const TranslatePage: FC = () => {
|
|||||||
async (e: React.DragEvent<HTMLDivElement>) => {
|
async (e: React.DragEvent<HTMLDivElement>) => {
|
||||||
setIsProcessing(true)
|
setIsProcessing(true)
|
||||||
setIsDragging(false)
|
setIsDragging(false)
|
||||||
// const supportedFiles = await filterSupportedFiles(_files, extensions)
|
const process = async () => {
|
||||||
const data = await getTextFromDropEvent(e).catch((err) => {
|
// const supportedFiles = await filterSupportedFiles(_files, extensions)
|
||||||
logger.error('getTextFromDropEvent', err)
|
const data = await getTextFromDropEvent(e).catch((err) => {
|
||||||
window.message.error({
|
logger.error('getTextFromDropEvent', err)
|
||||||
key: 'file_error',
|
window.message.error({
|
||||||
content: t('translate.files.error.unknown')
|
key: 'file_error',
|
||||||
|
content: t('translate.files.error.unknown')
|
||||||
|
})
|
||||||
|
return null
|
||||||
})
|
})
|
||||||
return null
|
if (data === null) {
|
||||||
})
|
return
|
||||||
if (data === null) {
|
}
|
||||||
return
|
setText(text + data)
|
||||||
}
|
|
||||||
setText(text + data)
|
|
||||||
|
|
||||||
const droppedFiles = await getFilesFromDropEvent(e).catch((err) => {
|
const droppedFiles = await getFilesFromDropEvent(e).catch((err) => {
|
||||||
logger.error('handleDrop:', err)
|
logger.error('handleDrop:', err)
|
||||||
window.message.error({
|
window.message.error({
|
||||||
key: 'file_error',
|
key: 'file_error',
|
||||||
content: t('translate.files.error.unknown')
|
content: t('translate.files.error.unknown')
|
||||||
|
})
|
||||||
|
return null
|
||||||
})
|
})
|
||||||
return null
|
|
||||||
})
|
|
||||||
|
|
||||||
if (droppedFiles) {
|
if (droppedFiles) {
|
||||||
const file = getSingleFile(droppedFiles) as FileMetadata
|
const file = getSingleFile(droppedFiles) as FileMetadata
|
||||||
if (!file) return
|
if (!file) return
|
||||||
processFile(file)
|
processFile(file)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
await process()
|
||||||
setIsProcessing(false)
|
setIsProcessing(false)
|
||||||
},
|
},
|
||||||
[getSingleFile, processFile, setIsDragging, setText, t, text]
|
[getSingleFile, processFile, setIsDragging, setText, t, text]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user