diff options
| author | Adam <[email protected]> | 2025-12-09 03:45:50 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-09 06:12:09 -0600 |
| commit | 0a357be160d672791bb99a36fc7d7c1299d5493d (patch) | |
| tree | 5c5c3ee1360a0adf40b1e47691fb2ef9ef2408aa /packages/desktop/src/context/layout.tsx | |
| parent | d29205e67787d49de9dd4c271ec8e4e7848d81ad (diff) | |
| download | opencode-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.tsx | 20 |
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), |
