diff options
| author | Adam <[email protected]> | 2025-10-31 09:45:57 -0500 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-10-31 09:45:57 -0500 |
| commit | 0ac943de909fb5a685a608d7894248cdd3a9e129 (patch) | |
| tree | 6d2e0c0cb1a44de4f53e74a7002622842dab7591 /packages/desktop | |
| parent | 485135cf5c4af64d1449aa3cadcdd0aef92201a3 (diff) | |
| download | opencode-0ac943de909fb5a685a608d7894248cdd3a9e129.tar.gz opencode-0ac943de909fb5a685a608d7894248cdd3a9e129.zip | |
wip: desktop work
Diffstat (limited to 'packages/desktop')
| -rw-r--r-- | packages/desktop/src/pages/index.tsx | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/packages/desktop/src/pages/index.tsx b/packages/desktop/src/pages/index.tsx index 5237d78bb..01fe4b508 100644 --- a/packages/desktop/src/pages/index.tsx +++ b/packages/desktop/src/pages/index.tsx @@ -13,6 +13,7 @@ import { DiffChanges, ProgressCircle, Message, + Typewriter, } from "@opencode-ai/ui" import { FileIcon } from "@/ui" import FileTree from "@/components/file-tree" @@ -544,7 +545,6 @@ export default function Page() { <For each={local.session.userMessages()}> {(message) => { const diffs = createMemo(() => message.summary?.diffs ?? []) - return ( <li class="group/li flex items-center gap-x-2 py-1 self-stretch cursor-default" @@ -570,9 +570,9 @@ export default function Page() { <div class="flex flex-col items-start gap-50 pb-50"> <For each={local.session.userMessages()}> {(message) => { + const [initialized, setInitialized] = createSignal(!!message.summary?.title) const [expanded, setExpanded] = createSignal(false) const parts = createMemo(() => sync.data.part[message.id]) - const prompt = createMemo(() => local.session.getMessageText(message)) const title = createMemo(() => message.summary?.title) const summary = createMemo(() => message.summary?.body) const assistantMessages = createMemo(() => { @@ -581,6 +581,9 @@ export default function Page() { ) as AssistantMessageType[] }) const working = createMemo(() => !summary()) + createEffect(() => { + setTimeout(() => setInitialized(!!title()), 10_000) + }) return ( <div @@ -589,9 +592,11 @@ export default function Page() { > {/* Title */} <div class="py-2 flex flex-col items-start gap-2 self-stretch sticky top-0 bg-background-stronger z-10"> - <h1 class="text-14-medium text-text-strong overflow-hidden text-ellipsis min-w-0"> - {title() ?? prompt()} - </h1> + <div class="text-14-medium text-text-strong overflow-hidden text-ellipsis min-w-0"> + <Show when={initialized()} fallback={<Typewriter as="h1" text={title()} />}> + <h1>{title()}</h1> + </Show> + </div> </div> <Show when={title}> <div class="-mt-8"> |
