mirror of
https://github.com/sst/opencode.git
synced 2025-12-23 10:11:41 +00:00
wip(desktop): progress
This commit is contained in:
parent
c36f3b9dbe
commit
c0d009d5f3
2 changed files with 10 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue