/
aqa
/
claude-code
Обзор
Документация
Войти
/
aqa
/
claude-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
components/PromptInput/useMaybeTruncateInput.ts
58 строк
1 KB
kuberwastaken
new initial commit (history rewritten)
01 апр 2026, 14:57
01 апр 2026, 14:57
c1996f2
Код
Авторство
О чём код?
import { useEffect, useState } from 'react' import type { PastedContent } from 'src/utils/config.js' import { maybeTruncateInput } from './inputPaste.js' type Props = { input: string pastedContents: Record<number, PastedContent> onInputChange: (input: string) => void setCursorOffset: (offset: number) => void setPastedContents: (contents: Record<number, PastedContent>) => void } export function useMaybeTruncateInput({ input, pastedContents, onInputChange, setCursorOffset, setPastedContents, }: Props) { // Track if we've initialized this specific input value const [hasAppliedTruncationToInput, setHasAppliedTruncationToInput] = useState(false) // Process input for truncation and pasted images from MessageSelector. useEffect(() => { if (hasAppliedTruncationToInput) { return } if (input.length <= 10_000) { return } const { newInput, newPastedContents } = maybeTruncateInput( input, pastedContents, ) onInputChange(newInput) setCursorOffset(newInput.length) setPastedContents(newPastedContents) setHasAppliedTruncationToInput(true) }, [ input, hasAppliedTruncationToInput, pastedContents, onInputChange, setPastedContents, setCursorOffset, ]) // Reset hasInitializedInput when input is cleared (e.g., after submission) useEffect(() => { if (input === '') { setHasAppliedTruncationToInput(false) } }, [input]) }