From e5b3f796e4c2e2ff12939dfc5e523ab9bd042f51 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Sat, 20 Dec 2025 04:33:42 -0600 Subject: [PATCH] fix: types --- packages/desktop/src/context/layout.tsx | 4 +++- packages/desktop/src/pages/layout.tsx | 12 ++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/desktop/src/context/layout.tsx b/packages/desktop/src/context/layout.tsx index b30d3f350..0d3de5683 100644 --- a/packages/desktop/src/context/layout.tsx +++ b/packages/desktop/src/context/layout.tsx @@ -27,6 +27,8 @@ type SessionTabs = { all: string[] } +export type LocalProject = Partial & { worktree: string; expanded: boolean } + export const { use: useLayout, provider: LayoutProvider } = createSimpleContext({ name: "Layout", init: () => { @@ -69,7 +71,7 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext( ] } - function colorize(project: Partial & { worktree: string; expanded: boolean }) { + function colorize(project: LocalProject) { if (project.icon?.color) return project const color = pickAvailableColor() usedColors.add(color) diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx index 6272071f9..d1458558f 100644 --- a/packages/desktop/src/pages/layout.tsx +++ b/packages/desktop/src/pages/layout.tsx @@ -12,7 +12,7 @@ import { } from "solid-js" import { DateTime } from "luxon" import { A, useNavigate, useParams } from "@solidjs/router" -import { useLayout, getAvatarColors } from "@/context/layout" +import { useLayout, getAvatarColors, LocalProject } from "@/context/layout" import { useGlobalSync } from "@/context/global-sync" import { base64Decode, base64Encode } from "@opencode-ai/util/encode" import { Avatar } from "@opencode-ai/ui/avatar" @@ -26,7 +26,7 @@ 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" +import { Session } from "@opencode-ai/sdk/v2/client" import { usePlatform } from "@/context/platform" import { createStore, produce } from "solid-js/store" import { @@ -348,7 +348,7 @@ export default function Layout(props: ParentProps) { } const ProjectAvatar = (props: { - project: Project + project: LocalProject class?: string expandable?: boolean notify?: boolean @@ -391,7 +391,7 @@ export default function Layout(props: ParentProps) { ) } - const ProjectVisual = (props: { project: Project & { expanded: boolean }; class?: string }): JSX.Element => { + const ProjectVisual = (props: { project: LocalProject; class?: string }): JSX.Element => { const name = createMemo(() => getFilename(props.project.worktree)) const current = createMemo(() => base64Decode(params.dir ?? "")) return ( @@ -427,7 +427,7 @@ export default function Layout(props: ParentProps) { const SessionItem = (props: { session: Session slug: string - project: Project + project: LocalProject depth?: number childrenMap: Map }): JSX.Element => { @@ -517,7 +517,7 @@ export default function Layout(props: ParentProps) { ) } - const SortableProject = (props: { project: Project & { worktree: string; expanded: boolean } }): JSX.Element => { + const SortableProject = (props: { project: LocalProject }): JSX.Element => { const sortable = createSortable(props.project.worktree) const slug = createMemo(() => base64Encode(props.project.worktree)) const name = createMemo(() => getFilename(props.project.worktree))