diff options
| author | Adam <[email protected]> | 2026-03-12 15:04:27 -0500 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-03-12 15:04:27 -0500 |
| commit | f0542fae7a917fabb9e943c3112a3d0b4b03302d (patch) | |
| tree | 58bf65d9becf087a10efe33b27a5497f5475dee5 /packages/app/src/pages/session | |
| parent | 02c75821a897657a3512ad157e9666a830b76253 (diff) | |
| download | opencode-f0542fae7a917fabb9e943c3112a3d0b4b03302d.tar.gz opencode-f0542fae7a917fabb9e943c3112a3d0b4b03302d.zip | |
fix(app): optimistic revert/restore
Diffstat (limited to 'packages/app/src/pages/session')
| -rw-r--r-- | packages/app/src/pages/session/composer/session-composer-region.tsx | 9 | ||||
| -rw-r--r-- | packages/app/src/pages/session/composer/session-revert-dock.tsx | 13 |
2 files changed, 18 insertions, 4 deletions
diff --git a/packages/app/src/pages/session/composer/session-composer-region.tsx b/packages/app/src/pages/session/composer/session-composer-region.tsx index 6d60d81b5..0cca90180 100644 --- a/packages/app/src/pages/session/composer/session-composer-region.tsx +++ b/packages/app/src/pages/session/composer/session-composer-region.tsx @@ -24,6 +24,7 @@ export function SessionComposerRegion(props: { revert?: { items: { id: string; text: string }[] restoring?: string + disabled?: boolean onRestore: (id: string) => void } setPromptDockRef: (el: HTMLDivElement) => void @@ -156,6 +157,7 @@ export function SessionComposerRegion(props: { <SessionRevertDock items={revert.items} restoring={revert.restoring} + disabled={revert.disabled} onRestore={revert.onRestore} /> </div> @@ -195,7 +197,12 @@ export function SessionComposerRegion(props: { "margin-top": `${-36 * value()}px`, }} > - <SessionRevertDock items={revert.items} restoring={revert.restoring} onRestore={revert.onRestore} /> + <SessionRevertDock + items={revert.items} + restoring={revert.restoring} + disabled={revert.disabled} + onRestore={revert.onRestore} + /> </div> )} </Show> diff --git a/packages/app/src/pages/session/composer/session-revert-dock.tsx b/packages/app/src/pages/session/composer/session-revert-dock.tsx index ce7644b67..fd4b39ee7 100644 --- a/packages/app/src/pages/session/composer/session-revert-dock.tsx +++ b/packages/app/src/pages/session/composer/session-revert-dock.tsx @@ -1,4 +1,4 @@ -import { For, Show, createMemo } from "solid-js" +import { For, Show, createEffect, createMemo } from "solid-js" import { createStore } from "solid-js/store" import { Button } from "@opencode-ai/ui/button" import { DockTray } from "@opencode-ai/ui/dock-surface" @@ -8,11 +8,18 @@ import { useLanguage } from "@/context/language" export function SessionRevertDock(props: { items: { id: string; text: string }[] restoring?: string + disabled?: boolean onRestore: (id: string) => void }) { const language = useLanguage() const [store, setStore] = createStore({ - collapsed: false, + collapsed: true, + }) + + createEffect(() => { + props.items.length + props.items[0]?.id + setStore("collapsed", true) }) const toggle = () => setStore("collapsed", (value) => !value) @@ -77,7 +84,7 @@ export function SessionRevertDock(props: { size="small" variant="secondary" class="shrink-0" - disabled={!!props.restoring} + disabled={props.disabled || !!props.restoring} onClick={() => props.onRestore(item.id)} > {language.t("session.revertDock.restore")} |
