From fc5fc2c570e6ac5a6f9647080b80f7fec0c4b605 Mon Sep 17 00:00:00 2001
From: Adam <2363879+adamdotdevin@users.noreply.github.com>
Date: Tue, 18 Nov 2025 11:00:27 -0600
Subject: wip(desktop): new layout work
---
packages/desktop/src/pages/directory-layout.tsx | 25 +++
packages/desktop/src/pages/home.tsx | 20 ++
packages/desktop/src/pages/layout.tsx | 266 +++++++++++++-----------
packages/desktop/src/pages/session-layout.tsx | 24 ---
packages/desktop/src/pages/session.tsx | 162 ++++++++-------
5 files changed, 274 insertions(+), 223 deletions(-)
create mode 100644 packages/desktop/src/pages/directory-layout.tsx
create mode 100644 packages/desktop/src/pages/home.tsx
delete mode 100644 packages/desktop/src/pages/session-layout.tsx
(limited to 'packages/desktop/src/pages')
diff --git a/packages/desktop/src/pages/directory-layout.tsx b/packages/desktop/src/pages/directory-layout.tsx
new file mode 100644
index 000000000..fe35f20f9
--- /dev/null
+++ b/packages/desktop/src/pages/directory-layout.tsx
@@ -0,0 +1,25 @@
+import { createMemo, Show, type ParentProps } from "solid-js"
+import { useParams } from "@solidjs/router"
+import { SDKProvider } from "@/context/sdk"
+import { SyncProvider } from "@/context/sync"
+import { LocalProvider } from "@/context/local"
+import { useGlobalSync } from "@/context/global-sync"
+import { base64Decode } from "@/utils"
+
+export default function Layout(props: ParentProps) {
+ const params = useParams()
+ const sync = useGlobalSync()
+ const directory = createMemo(() => {
+ const decoded = base64Decode(params.dir)
+ return sync.data.projects.find((x) => x.worktree === decoded)?.worktree ?? "/"
+ })
+ return (
+
+
+
+ {props.children}
+
+
+
+ )
+}
diff --git a/packages/desktop/src/pages/home.tsx b/packages/desktop/src/pages/home.tsx
new file mode 100644
index 000000000..e2f99afa8
--- /dev/null
+++ b/packages/desktop/src/pages/home.tsx
@@ -0,0 +1,20 @@
+import { useGlobalSync } from "@/context/global-sync"
+import { base64Encode, getFilename } from "@/utils"
+import { For } from "solid-js"
+import { A } from "@solidjs/router"
+import { Button } from "@opencode-ai/ui"
+
+export default function Home() {
+ const sync = useGlobalSync()
+ return (
+
+
+ {(project) => (
+
+ )}
+
+
+ )
+}
diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx
index 6e0078a16..33cf7b66f 100644
--- a/packages/desktop/src/pages/layout.tsx
+++ b/packages/desktop/src/pages/layout.tsx
@@ -1,19 +1,25 @@
-import { Button, Tooltip, DiffChanges, IconButton, Mark, Icon } from "@opencode-ai/ui"
-import { createMemo, For, Match, ParentProps, Show, Switch } from "solid-js"
+import { Button, Tooltip, DiffChanges, IconButton, Mark, Icon, Collapsible } from "@opencode-ai/ui"
+import { createMemo, For, ParentProps, Show } from "solid-js"
import { DateTime } from "luxon"
-import { useSync } from "@/context/sync"
import { A, useParams } from "@solidjs/router"
import { useLayout } from "@/context/layout"
+import { useGlobalSync } from "@/context/global-sync"
+import { base64Encode, getFilename } from "@/utils"
export default function Layout(props: ParentProps) {
const params = useParams()
- const sync = useSync()
+ const globalSync = useGlobalSync()
const layout = useLayout()
+ const handleOpenProject = async () => {
+ // layout.projects.open(dir.)
+ }
+
return (
-
-
-
-
+ }
+ >
+
+
+
+
+ )
+ }}
+
+
+ )
+ }}
--
cgit v1.2.3