summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-09-24 15:49:40 -0500
committerAdam <[email protected]>2025-09-24 15:49:40 -0500
commit3b20bf6d4f744e63faa8b798ca911a93338dc4f3 (patch)
treeac5970c9886ca3f4ac5249426e6c29e57e705528
parentc3e52580b000d9f8e51a6768226d99e113164bbd (diff)
downloadopencode-3b20bf6d4f744e63faa8b798ca911a93338dc4f3.tar.gz
opencode-3b20bf6d4f744e63faa8b798ca911a93338dc4f3.zip
fix(app): changes view
-rw-r--r--packages/app/src/context/local.tsx5
-rw-r--r--packages/app/src/pages/index.tsx9
2 files changed, 9 insertions, 5 deletions
diff --git a/packages/app/src/context/local.tsx b/packages/app/src/context/local.tsx
index 804bb0674..b512ef470 100644
--- a/packages/app/src/context/local.tsx
+++ b/packages/app/src/context/local.tsx
@@ -124,11 +124,12 @@ function init() {
return store.node[store.active]
})
const opened = createMemo(() => store.opened.map((x) => store.node[x]))
- const changes = createMemo(() => new Set(sync.data.changes.map((f) => f.path)))
+ const changeset = createMemo(() => new Set(sync.data.changes.map((f) => f.path)))
+ const changes = createMemo(() => Array.from(changeset()).sort((a, b) => a.localeCompare(b)))
const status = (path: string) => sync.data.changes.find((f) => f.path === path)
const changed = (path: string) => {
- const set = changes()
+ const set = changeset()
if (set.has(path)) return true
for (const p of set) {
if (p.startsWith(path ? path + "/" : "")) return true
diff --git a/packages/app/src/pages/index.tsx b/packages/app/src/pages/index.tsx
index 8cb560d8d..6890522e8 100644
--- a/packages/app/src/pages/index.tsx
+++ b/packages/app/src/pages/index.tsx
@@ -259,9 +259,12 @@ export default function Page() {
<FileTree path="" onFileClick={handleFileClick} />
</Tabs.Content>
<Tabs.Content value="changes" class="grow min-h-0 py-2 bg-background">
- <div class="text-xs text-text-muted">
+ <Show
+ when={local.file.changes().length}
+ fallback={<div class="px-2 text-xs text-text-muted">No changes yet</div>}
+ >
<ul class="">
- <For each={[...local.file.changes()]}>
+ <For each={local.file.changes()}>
{(path) => (
<li>
<button
@@ -278,7 +281,7 @@ export default function Page() {
)}
</For>
</ul>
- </div>
+ </Show>
</Tabs.Content>
</Tabs>
</div>