summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-20 04:33:42 -0600
committerAdam <[email protected]>2025-12-20 04:33:42 -0600
commite5b3f796e4c2e2ff12939dfc5e523ab9bd042f51 (patch)
tree30eea280b8685832ba2974c873d6f27227eae113 /packages
parenta9700c8773cb3475abfb7b32474d250cd7be010c (diff)
downloadopencode-e5b3f796e4c2e2ff12939dfc5e523ab9bd042f51.tar.gz
opencode-e5b3f796e4c2e2ff12939dfc5e523ab9bd042f51.zip
fix: types
Diffstat (limited to 'packages')
-rw-r--r--packages/desktop/src/context/layout.tsx4
-rw-r--r--packages/desktop/src/pages/layout.tsx12
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<Project> & { 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<Project> & { 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<string, Session[]>
}): 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))