carry over if no other draft

This commit is contained in:
Sebastian Herrlinger
2026-04-15 18:13:02 +02:00
parent 8e010e32ae
commit 32728ff684

View File

@@ -504,8 +504,9 @@ export function Prompt(props: PromptProps) {
if (active === next) return
const prev = active
const prevDraft = prev ? snapshot() : undefined
if (prev) {
promptState.save(prev, snapshot())
promptState.save(prev, prevDraft!)
promptState.bind(prev, undefined)
}
@@ -515,9 +516,25 @@ export function Prompt(props: PromptProps) {
const draft = promptState.load(next)
if (draft) {
ref.restore(draft)
} else {
clearPrompt("normal")
return
}
const carry =
prev &&
prev.startsWith("session:") &&
next.startsWith("session:") &&
route.data.type === "session" &&
props.sessionID === route.data.sessionID &&
!route.data.initialPrompt &&
prevDraft &&
(prevDraft.prompt.input || prevDraft.prompt.parts.length > 0)
if (carry) {
ref.restore(prevDraft)
return
}
clearPrompt("normal")
})
onCleanup(() => {