summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/context/layout.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-14 06:39:08 -0600
committerAdam <[email protected]>2025-12-14 21:38:58 -0600
commit2613f44961a73bc57db6662bfa1d0407515c497a (patch)
tree8f8de20b6b35c1678c2ff2f567ff2204050c3cbf /packages/desktop/src/context/layout.tsx
parent62ffeb3987ad1188e37141513bee7d1f3ce0dcd8 (diff)
downloadopencode-2613f44961a73bc57db6662bfa1d0407515c497a.tar.gz
opencode-2613f44961a73bc57db6662bfa1d0407515c497a.zip
wip(desktop): progress
Diffstat (limited to 'packages/desktop/src/context/layout.tsx')
-rw-r--r--packages/desktop/src/context/layout.tsx69
1 files changed, 4 insertions, 65 deletions
diff --git a/packages/desktop/src/context/layout.tsx b/packages/desktop/src/context/layout.tsx
index 587276c53..925bf4d4c 100644
--- a/packages/desktop/src/context/layout.tsx
+++ b/packages/desktop/src/context/layout.tsx
@@ -1,5 +1,5 @@
-import { createStore, produce } from "solid-js/store"
-import { batch, createMemo, onMount } from "solid-js"
+import { createStore } from "solid-js/store"
+import { createMemo, onMount } from "solid-js"
import { createSimpleContext } from "@opencode-ai/ui/context"
import { makePersisted } from "@solid-primitives/storage"
import { useGlobalSync } from "./global-sync"
@@ -22,8 +22,6 @@ export function getAvatarColors(key?: string) {
}
}
-type Dialog = "provider" | "model" | "connect" | "manage-models"
-
export const { use: useLayout, provider: LayoutProvider } = createSimpleContext({
name: "Layout",
init: () => {
@@ -45,22 +43,10 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
},
}),
{
- name: "layout.v1",
+ name: "layout.v2",
},
)
- const [ephemeral, setEphemeral] = createStore<{
- connect: {
- provider?: string
- state?: "pending" | "complete" | "error"
- error?: string
- }
- dialog: {
- open?: Dialog
- }
- }>({
- connect: {},
- dialog: {},
- })
+
const usedColors = new Set<AvatarColorKey>()
function pickAvailableColor(): AvatarColorKey {
@@ -169,53 +155,6 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
setStore("review", "state", "tab")
},
},
- dialog: {
- opened: createMemo(() => ephemeral.dialog?.open),
- open(dialog: Dialog) {
- setEphemeral("dialog", "open", dialog)
- },
- close(dialog: Dialog) {
- if (ephemeral.dialog.open === dialog) {
- setEphemeral(
- produce((state) => {
- state.dialog.open = undefined
- state.connect = {}
- }),
- )
- }
- },
- connect(provider: string) {
- setEphemeral(
- produce((state) => {
- state.dialog.open = "connect"
- state.connect = { provider, state: "pending" }
- }),
- )
- },
- },
- connect: {
- provider: createMemo(() => ephemeral.connect.provider),
- state: createMemo(() => ephemeral.connect.state),
- complete() {
- setEphemeral(
- produce((state) => {
- state.dialog.open = "model"
- state.connect.state = "complete"
- }),
- )
- },
- error(message: string) {
- setEphemeral(
- produce((state) => {
- state.connect.state = "error"
- state.connect.error = message
- }),
- )
- },
- clear() {
- setEphemeral("connect", {})
- },
- },
}
},
})