fix(app): preserve todo dock across sessions
This commit is contained in:
parent
c45d1db9a0
commit
b27da40a48
16 changed files with 630 additions and 205 deletions
21
packages/app/test-browser/motion-spring.test.ts
Normal file
21
packages/app/test-browser/motion-spring.test.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { expect, test } from "bun:test"
|
||||
import { useSpring } from "@opencode-ai/ui/motion-spring"
|
||||
import { createRoot, createSignal } from "solid-js"
|
||||
|
||||
test("snaps spring progress when the session changes", async () => {
|
||||
const state = createRoot((dispose) => {
|
||||
const [target, setTarget] = createSignal(0)
|
||||
const [session, setSession] = createSignal("session-a")
|
||||
const progress = useSpring(target, { visualDuration: 0.3, bounce: 0 }, session)
|
||||
return { dispose, progress, setTarget, setSession }
|
||||
})
|
||||
|
||||
await new Promise<void>(queueMicrotask)
|
||||
state.setTarget(1)
|
||||
expect(state.progress()).toBe(0)
|
||||
|
||||
state.setSession("session-b")
|
||||
await Bun.sleep(0)
|
||||
expect(state.progress()).toBe(1)
|
||||
state.dispose()
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue