diff options
| author | Adam <[email protected]> | 2025-10-28 06:20:43 -0500 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-10-28 15:29:15 -0500 |
| commit | 1da24f6adb7fce37af79678dd053090831fda2f2 (patch) | |
| tree | a0e23d30d4a4f9534ea9af0413b0b3055b2fb311 | |
| parent | e29dd27632da70d6e716fbca8a909b8361e8187f (diff) | |
| download | opencode-1da24f6adb7fce37af79678dd053090831fda2f2.tar.gz opencode-1da24f6adb7fce37af79678dd053090831fda2f2.zip | |
wip: desktop work
| -rw-r--r-- | packages/desktop/index.html | 2 | ||||
| -rw-r--r-- | packages/desktop/src/components/assistant-message.tsx | 14 | ||||
| -rw-r--r-- | packages/desktop/src/components/prompt-input.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/pages/index.tsx | 6 | ||||
| -rw-r--r-- | packages/desktop/src/utils/path.ts | 6 |
5 files changed, 17 insertions, 13 deletions
diff --git a/packages/desktop/index.html b/packages/desktop/index.html index c591cb46c..9209acfc7 100644 --- a/packages/desktop/index.html +++ b/packages/desktop/index.html @@ -7,7 +7,7 @@ <link rel="shortcut icon" type="image/ico" href="/src/assets/favicon.svg" /> <title>OpenCode</title> </head> - <body class="overscroll-none select-none text-12-regular"> + <body class="antialiased overscroll-none select-none text-12-regular"> <!-- <script> --> <!-- ;(function () { --> <!-- const savedTheme = localStorage.getItem("theme") || "opencode" --> diff --git a/packages/desktop/src/components/assistant-message.tsx b/packages/desktop/src/components/assistant-message.tsx index 38c06bbe5..7b4cfc71d 100644 --- a/packages/desktop/src/components/assistant-message.tsx +++ b/packages/desktop/src/components/assistant-message.tsx @@ -1,11 +1,11 @@ import type { Part, AssistantMessage, ReasoningPart, TextPart, ToolPart } from "@opencode-ai/sdk" -import type { Tool } from "opencode/tool/tool" -import type { ReadTool } from "opencode/tool/read" import { children, Component, createMemo, For, Match, Show, Switch, type JSX } from "solid-js" import { Dynamic } from "solid-js/web" import { Markdown } from "./markdown" import { Collapsible, Icon, IconProps } from "@opencode-ai/ui" import { getDirectory, getFilename } from "@/utils" +import type { Tool } from "opencode/tool/tool" +import type { ReadTool } from "opencode/tool/read" import type { ListTool } from "opencode/tool/ls" import type { GlobTool } from "opencode/tool/glob" import type { GrepTool } from "opencode/tool/grep" @@ -188,7 +188,7 @@ ToolRegistry.register<typeof ListTool>({ name: "list", render(props) { return ( - <BasicTool icon="bullet-list" trigger={{ title: props.tool, subtitle: props.input.path || "/" }}> + <BasicTool icon="bullet-list" trigger={{ title: props.tool, subtitle: getDirectory(props.input.path || "/") }}> <Show when={false && props.output}> <div class="whitespace-pre">{props.output}</div> </Show> @@ -205,7 +205,7 @@ ToolRegistry.register<typeof GlobTool>({ icon="magnifying-glass-menu" trigger={{ title: props.tool, - subtitle: props.input.path || "/", + subtitle: getDirectory(props.input.path || "/"), args: props.input.pattern ? ["pattern=" + props.input.pattern] : [], }} > @@ -228,7 +228,7 @@ ToolRegistry.register<typeof GrepTool>({ icon="magnifying-glass-menu" trigger={{ title: props.tool, - subtitle: props.input.path || "/", + subtitle: getDirectory(props.input.path || "/"), args, }} > @@ -315,7 +315,7 @@ ToolRegistry.register<typeof EditTool>({ <div class="text-12-medium text-text-base capitalize">Edit</div> <div class="flex"> <Show when={props.input.filePath?.includes("/")}> - <span class="text-text-weak">{getDirectory(props.input.filePath!)}/</span> + <span class="text-text-weak">{getDirectory(props.input.filePath!)}</span> </Show> <span class="text-text-strong">{getFilename(props.input.filePath ?? "")}</span> </div> @@ -344,7 +344,7 @@ ToolRegistry.register<typeof WriteTool>({ <div class="text-12-medium text-text-base capitalize">Write</div> <div class="flex"> <Show when={props.input.filePath?.includes("/")}> - <span class="text-text-weak">{getDirectory(props.input.filePath!)}/</span> + <span class="text-text-weak">{getDirectory(props.input.filePath!)}</span> </Show> <span class="text-text-strong">{getFilename(props.input.filePath ?? "")}</span> </div> diff --git a/packages/desktop/src/components/prompt-input.tsx b/packages/desktop/src/components/prompt-input.tsx index 3838d19ba..dd549a045 100644 --- a/packages/desktop/src/components/prompt-input.tsx +++ b/packages/desktop/src/components/prompt-input.tsx @@ -289,7 +289,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => { <FileIcon node={{ path: i, type: "file" }} class="shrink-0 size-4" /> <div class="flex items-center text-14-regular"> <span class="text-text-weak whitespace-nowrap overflow-hidden overflow-ellipsis truncate min-w-0"> - {getDirectory(i)}/ + {getDirectory(i)} </span> <span class="text-text-strong whitespace-nowrap">{getFilename(i)}</span> </div> diff --git a/packages/desktop/src/pages/index.tsx b/packages/desktop/src/pages/index.tsx index 15da87bd6..7da925459 100644 --- a/packages/desktop/src/pages/index.tsx +++ b/packages/desktop/src/pages/index.tsx @@ -521,7 +521,7 @@ export default function Page() { <div class="flex justify-center items-center gap-3"> <Icon name="folder" size="small" /> <div class="text-12-medium text-text-weak"> - {getDirectory(sync.data.path.directory)}/ + {getDirectory(sync.data.path.directory)} <span class="text-text-strong">{getFilename(sync.data.path.directory)}</span> </div> </div> @@ -705,7 +705,7 @@ export default function Page() { <div class="flex"> <Show when={diff.file.includes("/")}> <span class="text-text-base"> - {getDirectory(diff.file)}/ + {getDirectory(diff.file)} </span> </Show> <span class="text-text-strong"> @@ -858,7 +858,7 @@ export default function Page() { <FileIcon node={{ path: i, type: "file" }} class="shrink-0 size-4" /> <div class="flex items-center text-14-regular"> <span class="text-text-weak whitespace-nowrap overflow-hidden overflow-ellipsis truncate min-w-0"> - {getDirectory(i)}/ + {getDirectory(i)} </span> <span class="text-text-strong whitespace-nowrap">{getFilename(i)}</span> </div> diff --git a/packages/desktop/src/utils/path.ts b/packages/desktop/src/utils/path.ts index 3ae48cdb3..d23568ae6 100644 --- a/packages/desktop/src/utils/path.ts +++ b/packages/desktop/src/utils/path.ts @@ -1,3 +1,5 @@ +import { useSync } from "@/context/sync" + export function getFilename(path: string) { if (!path) return "" const trimmed = path.replace(/[\/]+$/, "") @@ -6,8 +8,10 @@ export function getFilename(path: string) { } export function getDirectory(path: string) { + const sync = useSync() const parts = path.split("/") - return parts.slice(0, parts.length - 1).join("/") + const dir = parts.slice(0, parts.length - 1).join("/") + return dir ? sync.sanitize(dir + "/") : "" } export function getFileExtension(path: string) { |
