summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/context/layout.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-09 03:45:50 -0600
committerAdam <[email protected]>2025-12-09 06:12:09 -0600
commit0a357be160d672791bb99a36fc7d7c1299d5493d (patch)
tree5c5c3ee1360a0adf40b1e47691fb2ef9ef2408aa /packages/desktop/src/context/layout.tsx
parentd29205e67787d49de9dd4c271ec8e4e7848d81ad (diff)
downloadopencode-0a357be160d672791bb99a36fc7d7c1299d5493d.tar.gz
opencode-0a357be160d672791bb99a36fc7d7c1299d5493d.zip
wip(desktop): progress
Diffstat (limited to 'packages/desktop/src/context/layout.tsx')
-rw-r--r--packages/desktop/src/context/layout.tsx20
1 files changed, 10 insertions, 10 deletions
diff --git a/packages/desktop/src/context/layout.tsx b/packages/desktop/src/context/layout.tsx
index ca736e84e..1b43cf511 100644
--- a/packages/desktop/src/context/layout.tsx
+++ b/packages/desktop/src/context/layout.tsx
@@ -2,17 +2,15 @@ import { createStore } from "solid-js/store"
import { createMemo } from "solid-js"
import { createSimpleContext } from "@opencode-ai/ui/context"
import { makePersisted } from "@solid-primitives/storage"
-import { useGlobalSync } from "./global-sync"
export const { use: useLayout, provider: LayoutProvider } = createSimpleContext({
name: "Layout",
init: () => {
- const globalSync = useGlobalSync()
const [store, setStore] = makePersisted(
createStore({
- projects: [] as { directory: string; expanded: boolean }[],
+ projects: [] as { directory: string; expanded: boolean; lastSession?: string }[],
sidebar: {
- opened: true,
+ opened: false,
width: 280,
},
terminal: {
@@ -24,17 +22,13 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
},
}),
{
- name: "____default-layout",
+ name: "default-layout.v4",
},
)
return {
projects: {
- list: createMemo(() =>
- globalSync.data.defaultProject
- ? [{ directory: globalSync.data.defaultProject!.worktree, expanded: true }, ...store.projects]
- : store.projects,
- ),
+ list: createMemo(() => store.projects),
open(directory: string) {
if (store.projects.find((x) => x.directory === directory)) return
setStore("projects", (x) => [...x, { directory, expanded: true }])
@@ -48,6 +42,12 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
collapse(directory: string) {
setStore("projects", (x) => x.map((x) => (x.directory === directory ? { ...x, expanded: false } : x)))
},
+ lastSession(directory: string) {
+ return store.projects.find((x) => x.directory === directory)?.lastSession
+ },
+ setLastSession(directory: string, session: string | undefined) {
+ setStore("projects", (x) => x.map((x) => (x.directory === directory ? { ...x, lastSession: session } : x)))
+ },
},
sidebar: {
opened: createMemo(() => store.sidebar.opened),