diff options
| author | Adam <[email protected]> | 2025-09-19 06:05:05 -0500 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-09-19 07:18:39 -0500 |
| commit | b1e6b9c7c9ebed944f8267bd0fb90404eba546fb (patch) | |
| tree | b2f814e012c1285c94d8262f6041186f7c93af64 /packages/app/src/pages | |
| parent | 20cb5a7c5657db6efe0cfed3e0de09dbb3d7bd2b (diff) | |
| download | opencode-b1e6b9c7c9ebed944f8267bd0fb90404eba546fb.tar.gz opencode-b1e6b9c7c9ebed944f8267bd0fb90404eba546fb.zip | |
wip: desktop work
Diffstat (limited to 'packages/app/src/pages')
| -rw-r--r-- | packages/app/src/pages/index.tsx | 38 |
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} /> |
