diff --git a/packages/app/src/session/timeline/message-timeline.tsx b/packages/app/src/session/timeline/message-timeline.tsx index 92196e86744c..1d8c84106da8 100644 --- a/packages/app/src/session/timeline/message-timeline.tsx +++ b/packages/app/src/session/timeline/message-timeline.tsx @@ -1,4 +1,5 @@ import { createEffect, createMemo, createSignal, For, on, Show, type Accessor } from "solid-js" +import createPresence from "solid-presence" import { createStore } from "solid-js/store" import type { SessionUserActions } from "@opencode-ai/session-ui/actions" import { Badge } from "@opencode-ai/ui/badge" @@ -65,6 +66,37 @@ export function BackgroundMoveHint(props: { keybind?: string[] }) { ) } +function BackgroundMoveHintRow(props: { show: boolean; centered: boolean; padding: string }) { + const [ref, setRef] = createSignal() + const visibility = createMemo<{ show: boolean; animate: boolean }>( + (previous) => ({ show: props.show, animate: previous.animate || previous.show !== props.show }), + { show: props.show, animate: false }, + ) + const presence = createPresence({ show: () => visibility().show, element: () => ref() ?? null }) + return ( + +
+
+ +
+
+
+ ) +} + export function BackgroundWorkSummary(props: { tasks: BackgroundTask[] }) { const language = useLanguage() const [open, setOpen] = createSignal(false) @@ -474,18 +506,7 @@ function MessageTimelineView( renderRow={(row, onSizeChange) => ( <> - -
-
- -
-
-
+ )} header={ diff --git a/packages/session-ui/src/tools/tool-renderer.tsx b/packages/session-ui/src/tools/tool-renderer.tsx index dd760589691b..f70a30e6b72b 100644 --- a/packages/session-ui/src/tools/tool-renderer.tsx +++ b/packages/session-ui/src/tools/tool-renderer.tsx @@ -1251,7 +1251,10 @@ ToolRegistry.register({
- +