fix: paste long text issue
This commit is contained in:
parent
32cdfbbfb0
commit
220600070c
@ -21,7 +21,6 @@ import store, { useAppDispatch, useAppSelector } from '@renderer/store'
|
|||||||
import { setGenerating, setSearching } from '@renderer/store/runtime'
|
import { setGenerating, setSearching } from '@renderer/store/runtime'
|
||||||
import { Assistant, FileType, Message, Topic } from '@renderer/types'
|
import { Assistant, FileType, Message, Topic } from '@renderer/types'
|
||||||
import { delay, getFileExtension, uuid } from '@renderer/utils'
|
import { delay, getFileExtension, uuid } from '@renderer/utils'
|
||||||
import { insertTextAtCursor } from '@renderer/utils/input'
|
|
||||||
import { Button, Popconfirm, Tooltip } from 'antd'
|
import { Button, Popconfirm, Tooltip } from 'antd'
|
||||||
import TextArea, { TextAreaRef } from 'antd/es/input/TextArea'
|
import TextArea, { TextAreaRef } from 'antd/es/input/TextArea'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
@ -202,22 +201,20 @@ const Inputbar: FC<Props> = ({ assistant, setActiveTopic }) => {
|
|||||||
if (pasteLongTextAsFile) {
|
if (pasteLongTextAsFile) {
|
||||||
const item = event.clipboardData?.items[0]
|
const item = event.clipboardData?.items[0]
|
||||||
if (item && item.kind === 'string' && item.type === 'text/plain') {
|
if (item && item.kind === 'string' && item.type === 'text/plain') {
|
||||||
event.preventDefault()
|
|
||||||
item.getAsString(async (pasteText) => {
|
item.getAsString(async (pasteText) => {
|
||||||
if (pasteText.length > 1500) {
|
if (pasteText.length > 1500) {
|
||||||
const tempFilePath = await window.api.file.create('pasted_text.txt')
|
const tempFilePath = await window.api.file.create('pasted_text.txt')
|
||||||
await window.api.file.write(tempFilePath, pasteText)
|
await window.api.file.write(tempFilePath, pasteText)
|
||||||
const selectedFile = await window.api.file.get(tempFilePath)
|
const selectedFile = await window.api.file.get(tempFilePath)
|
||||||
selectedFile && setFiles((prevFiles) => [...prevFiles, selectedFile])
|
selectedFile && setFiles((prevFiles) => [...prevFiles, selectedFile])
|
||||||
} else {
|
setText((prevText) => prevText.replace(pasteText, ''))
|
||||||
insertTextAtCursor({ text, pasteText, textareaRef, setText })
|
|
||||||
setTimeout(() => resizeTextArea(), 0)
|
setTimeout(() => resizeTextArea(), 0)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[pasteLongTextAsFile, supportExts, text]
|
[pasteLongTextAsFile, supportExts]
|
||||||
)
|
)
|
||||||
|
|
||||||
// Command or Ctrl + N create new topic
|
// Command or Ctrl + N create new topic
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user