summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-10-31 09:45:57 -0500
committerAdam <[email protected]>2025-10-31 09:45:57 -0500
commit0ac943de909fb5a685a608d7894248cdd3a9e129 (patch)
tree6d2e0c0cb1a44de4f53e74a7002622842dab7591 /packages/desktop
parent485135cf5c4af64d1449aa3cadcdd0aef92201a3 (diff)
downloadopencode-0ac943de909fb5a685a608d7894248cdd3a9e129.tar.gz
opencode-0ac943de909fb5a685a608d7894248cdd3a9e129.zip
wip: desktop work
Diffstat (limited to 'packages/desktop')
-rw-r--r--packages/desktop/src/pages/index.tsx15
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">