From b9fa7d91630fdaddf1744ba73b6dfcc8821e0b28 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Tue, 9 Dec 2025 14:49:00 -0600 Subject: wip(desktop): progress --- packages/desktop/src/pages/layout.tsx | 43 ++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 18 deletions(-) (limited to 'packages/desktop/src/pages') diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx index 4d3f6a268..c2755b9dc 100644 --- a/packages/desktop/src/pages/layout.tsx +++ b/packages/desktop/src/pages/layout.tsx @@ -16,7 +16,7 @@ import { DiffChanges } from "@opencode-ai/ui/diff-changes" import { getFilename } from "@opencode-ai/util/path" import { Select } from "@opencode-ai/ui/select" import { DropdownMenu } from "@opencode-ai/ui/dropdown-menu" -import { Session } from "@opencode-ai/sdk/v2/client" +import { Session, Project } from "@opencode-ai/sdk/v2/client" import { usePlatform } from "@/context/platform" import { createStore } from "solid-js/store" import { @@ -106,8 +106,8 @@ export default function Layout(props: ParentProps) { const { draggable, droppable } = event if (draggable && droppable) { const projects = layout.projects.list() - const fromIndex = projects.findIndex((p) => p.directory === draggable.id.toString()) - const toIndex = projects.findIndex((p) => p.directory === droppable.id.toString()) + const fromIndex = projects.findIndex((p) => p.worktree === draggable.id.toString()) + const toIndex = projects.findIndex((p) => p.worktree === droppable.id.toString()) if (fromIndex !== toIndex && toIndex !== -1) { layout.projects.move(draggable.id.toString(), toIndex) } @@ -176,11 +176,11 @@ export default function Layout(props: ParentProps) { ) } - const SortableProject = (props: { project: { directory: string; expanded: boolean } }): JSX.Element => { - const sortable = createSortable(props.project.directory) - const [projectStore] = globalSync.child(props.project.directory) - const slug = createMemo(() => base64Encode(props.project.directory)) - const name = createMemo(() => getFilename(props.project.directory)) + const SortableProject = (props: { project: Project & { expanded: boolean } }): JSX.Element => { + const sortable = createSortable(props.project.worktree) + const [projectStore] = globalSync.child(props.project.worktree) + const slug = createMemo(() => base64Encode(props.project.worktree)) + const name = createMemo(() => getFilename(props.project.worktree)) return ( // @ts-ignore
@@ -194,11 +194,18 @@ export default function Layout(props: ParentProps) { >
- + + + {(url) => } + + + + + - closeProject(props.project.directory)}> + closeProject(props.project.worktree)}> Close Project @@ -274,8 +281,8 @@ export default function Layout(props: ParentProps) { - - + + @@ -315,7 +322,7 @@ export default function Layout(props: ParentProps) {