fix(ui): prevent tool status blank frame (#34547)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
This commit is contained in:
@@ -59,24 +59,21 @@ export function ToolStatusTitle(props: {
|
|||||||
|
|
||||||
const animate = () => {
|
const animate = () => {
|
||||||
const first = contentWidth(widthRef)
|
const first = contentWidth(widthRef)
|
||||||
|
const next = props.active
|
||||||
finish()
|
finish()
|
||||||
|
setState("active", next)
|
||||||
|
if (!first) return
|
||||||
|
|
||||||
setState("animating", true)
|
setState("animating", true)
|
||||||
setState("active", props.active)
|
|
||||||
const last = contentWidth(props.active ? activeRef : doneRef)
|
|
||||||
if (!first || !last) {
|
|
||||||
finish()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
setState("width", first)
|
setState("width", first)
|
||||||
if (first === last) {
|
|
||||||
finishTimer = setTimeout(finish, 600)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
frame = requestAnimationFrame(() => {
|
frame = requestAnimationFrame(() => {
|
||||||
frame = undefined
|
frame = undefined
|
||||||
setState("width", last)
|
const last = contentWidth(next ? activeRef : doneRef)
|
||||||
|
if (!last) {
|
||||||
|
finish()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (first !== last) setState("width", last)
|
||||||
finishTimer = setTimeout(finish, 600)
|
finishTimer = setTimeout(finish, 600)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user