diff options
| author | Adam <[email protected]> | 2025-12-15 05:54:44 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-15 10:20:18 -0600 |
| commit | c0d009d5f33c368f61ebe9a87460b1fbf5801d33 (patch) | |
| tree | db461e82ee31e0d89200b987aed8984f1d874c56 | |
| parent | c36f3b9dbe5547576545a77679b8898c205a0c30 (diff) | |
| download | opencode-c0d009d5f33c368f61ebe9a87460b1fbf5801d33.tar.gz opencode-c0d009d5f33c368f61ebe9a87460b1fbf5801d33.zip | |
wip(desktop): progress
| -rw-r--r-- | packages/desktop/src/context/notification.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/pages/layout.tsx | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/packages/desktop/src/context/notification.tsx b/packages/desktop/src/context/notification.tsx index c18b12796..705551944 100644 --- a/packages/desktop/src/context/notification.tsx +++ b/packages/desktop/src/context/notification.tsx @@ -5,7 +5,7 @@ import { useGlobalSDK } from "./global-sdk" import { EventSessionError } from "@opencode-ai/sdk/v2" import { makeAudioPlayer } from "@solid-primitives/audio" import idleSound from "@opencode-ai/ui/audio/staplebops-01.aac" -import errorSound from "@opencode-ai/ui/audio/error-3.aac" +import errorSound from "@opencode-ai/ui/audio/nope-03.aac" type NotificationBase = { directory?: string diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx index 08d24dc6f..df162c187 100644 --- a/packages/desktop/src/pages/layout.tsx +++ b/packages/desktop/src/pages/layout.tsx @@ -12,6 +12,7 @@ import { IconButton } from "@opencode-ai/ui/icon-button" import { Tooltip } from "@opencode-ai/ui/tooltip" import { Collapsible } from "@opencode-ai/ui/collapsible" import { DiffChanges } from "@opencode-ai/ui/diff-changes" +import { Spinner } from "@opencode-ai/ui/spinner" import { getFilename } from "@opencode-ai/util/path" import { DropdownMenu } from "@opencode-ai/ui/dropdown-menu" import { Session, Project } from "@opencode-ai/sdk/v2/client" @@ -287,6 +288,11 @@ export default function Layout(props: ParentProps) { const updated = createMemo(() => DateTime.fromMillis(session.time.updated)) const notifications = createMemo(() => notification.session.unseen(session.id)) const hasError = createMemo(() => notifications().some((n) => n.type === "error")) + const isWorking = createMemo( + () => + session.id !== params.id && + globalSync.child(props.project.worktree)[0].session_status[session.id]?.type === "busy", + ) async function archive(session: Session) { await globalSDK.client.session.update({ directory: session.directory, @@ -319,6 +325,9 @@ export default function Layout(props: ParentProps) { </span> <div class="shrink-0 group-hover/session:hidden group-active/session:hidden group-focus-within/session:hidden"> <Switch> + <Match when={isWorking()}> + <Spinner class="size-2.5 mr-0.5" /> + </Match> <Match when={hasError()}> <div class="size-1.5 mr-1.5 rounded-full bg-text-diff-delete-base" /> </Match> |
