summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-09-19 06:05:05 -0500
committerAdam <[email protected]>2025-09-19 07:18:39 -0500
commitb1e6b9c7c9ebed944f8267bd0fb90404eba546fb (patch)
treeb2f814e012c1285c94d8262f6041186f7c93af64 /packages/app/src/pages
parent20cb5a7c5657db6efe0cfed3e0de09dbb3d7bd2b (diff)
downloadopencode-b1e6b9c7c9ebed944f8267bd0fb90404eba546fb.tar.gz
opencode-b1e6b9c7c9ebed944f8267bd0fb90404eba546fb.zip
wip: desktop work
Diffstat (limited to 'packages/app/src/pages')
-rw-r--r--packages/app/src/pages/index.tsx38
1 files changed, 30 insertions, 8 deletions
diff --git a/packages/app/src/pages/index.tsx b/packages/app/src/pages/index.tsx
index 11ea3163f..e8d4664a4 100644
--- a/packages/app/src/pages/index.tsx
+++ b/packages/app/src/pages/index.tsx
@@ -1,5 +1,6 @@
import { FileIcon, Icon, IconButton, Logo, Tooltip } from "@/ui"
import { Tabs } from "@/ui/tabs"
+import { Select } from "@/components/select"
import FileTree from "@/components/file-tree"
import { createSignal, For, Match, onCleanup, onMount, Show, Switch } from "solid-js"
import { useLocal, useSDK } from "@/context"
@@ -51,6 +52,10 @@ export default function Page() {
return
}
+ if (document.activeElement?.id === "select-filter") {
+ return
+ }
+
if (local.file.active()) {
if (e.getModifierState(MOD)) {
if (e.key.toLowerCase() === "a") {
@@ -228,10 +233,10 @@ export default function Page() {
<Tabs class="relative flex flex-col h-full" defaultValue="files">
<div class="sticky top-0 shrink-0 flex">
<Tabs.List class="grow w-full after:hidden">
- <Tabs.Trigger value="files" class="flex-1 justify-center">
+ <Tabs.Trigger value="files" class="flex-1 justify-center text-xs">
Files
</Tabs.Trigger>
- <Tabs.Trigger value="changes" class="flex-1 justify-center">
+ <Tabs.Trigger value="changes" class="flex-1 justify-center text-xs">
Changes
</Tabs.Trigger>
</Tabs.List>
@@ -256,7 +261,7 @@ export default function Page() {
/>
</Tabs.Content>
<Tabs.Content value="changes" class="grow min-h-0 py-2 bg-background">
- <div class="px-2 text-sm text-text-muted">No changes yet</div>
+ <div class="px-2 text-xs text-text-muted">No changes yet</div>
</Tabs.Content>
</Tabs>
</div>
@@ -493,11 +498,28 @@ export default function Page() {
placeholder="It all starts with a prompt..."
class="w-full p-1 pb-4 text-text font-light placeholder-text-muted/70 text-sm focus:outline-none"
/>
- <div class="px-1 flex justify-between items-center text-xs text-text-muted">
- <span>
- <span class="text-primary uppercase">{local.agent.current()?.name ?? "unknown"}</span> /{" "}
- {local.model.parsed().provider} / {local.model.parsed().model}
- </span>
+ <div class="flex justify-between items-center text-xs text-text-muted">
+ <div class="flex gap-2 items-center">
+ <Select
+ options={local.agent.list().map((a) => a.name)}
+ current={local.agent.current().name}
+ onSelect={local.agent.set}
+ size="sm"
+ class="uppercase"
+ />
+ <Select
+ options={local.model.list()}
+ current={local.model.current()}
+ onSelect={local.model.set}
+ label={(x) => x.modelID}
+ value={(x) => `${x.providerID}.${x.modelID}`}
+ filterKeys={["providerID", "modelID"]}
+ groupBy={(x) => x.providerID}
+ size="sm"
+ class="uppercase"
+ />
+ <span class="text-text-muted/70">{local.model.parsed().provider}</span>
+ </div>
<div class="flex gap-1 items-center">
<IconButton class="text-text-muted" size="xs" variant="ghost">
<Icon name="photo" size={16} />