From 7fd75b250c7f8c97a2028816ff330ba4a751b9f7 Mon Sep 17 00:00:00 2001 From: aj <0xajka@gmail.com> Date: Wed, 7 Jan 2026 19:57:59 -0400 Subject: [PATCH] fix: display folder name instead of full path in sidebar - Fix getFilename() to handle both / and \ for cross-platform support - Change tooltip to show folder name instead of worktree path - Remove duplicate getFilename function in dialog-edit-project --- packages/app/src/components/dialog-edit-project.tsx | 6 +----- packages/app/src/pages/layout.tsx | 2 +- packages/util/src/path.ts | 4 ++-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/app/src/components/dialog-edit-project.tsx b/packages/app/src/components/dialog-edit-project.tsx index 27ce3903cdc..2f0f7db1f68 100644 --- a/packages/app/src/components/dialog-edit-project.tsx +++ b/packages/app/src/components/dialog-edit-project.tsx @@ -7,15 +7,11 @@ import { createMemo, createSignal, For, Show } from "solid-js" import { createStore } from "solid-js/store" import { useGlobalSDK } from "@/context/global-sdk" import { type LocalProject, getAvatarColors } from "@/context/layout" +import { getFilename } from "@opencode-ai/util/path" import { Avatar } from "@opencode-ai/ui/avatar" const AVATAR_COLOR_KEYS = ["pink", "mint", "orange", "purple", "cyan", "lime"] as const -function getFilename(input: string) { - const parts = input.split("/") - return parts[parts.length - 1] || input -} - export function DialogEditProject(props: { project: LocalProject }) { const dialog = useDialog() const globalSDK = useGlobalSDK() diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index 9320267944d..2b45cb90532 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -868,7 +868,7 @@ export default function Layout(props: ParentProps) { - + diff --git a/packages/util/src/path.ts b/packages/util/src/path.ts index f7c46d4eff8..2da8028b46a 100644 --- a/packages/util/src/path.ts +++ b/packages/util/src/path.ts @@ -1,7 +1,7 @@ export function getFilename(path: string | undefined) { if (!path) return "" - const trimmed = path.replace(/[\/]+$/, "") - const parts = trimmed.split("/") + const trimmed = path.replace(/[\/\\]+$/, "") + const parts = trimmed.split(/[\/\\]/) return parts[parts.length - 1] ?? "" }