summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2026-03-07 13:00:58 +0000
committerGitHub <[email protected]>2026-03-07 07:00:58 -0600
commit641e1781a25f848a9375a9196e5039c8e65e5551 (patch)
tree1d1a2e204bbdd31b708f559bffea09e74b3d176a
parent490b95efe7f50a7b0d25d9348dd599ce9c817b18 (diff)
downloadopencode-641e1781a25f848a9375a9196e5039c8e65e5551.tar.gz
opencode-641e1781a25f848a9375a9196e5039c8e65e5551.zip
tui: remove close button from project hover popover (#16403)
Co-authored-by: Adam <[email protected]>
-rw-r--r--packages/app/e2e/projects/projects-close.spec.ts30
-rw-r--r--packages/app/e2e/selectors.ts2
-rw-r--r--packages/app/src/pages/layout/sidebar-project.tsx17
3 files changed, 1 insertions, 48 deletions
diff --git a/packages/app/e2e/projects/projects-close.spec.ts b/packages/app/e2e/projects/projects-close.spec.ts
index 4b39ed82c..76b1487e9 100644
--- a/packages/app/e2e/projects/projects-close.spec.ts
+++ b/packages/app/e2e/projects/projects-close.spec.ts
@@ -1,36 +1,8 @@
import { test, expect } from "../fixtures"
import { createTestProject, cleanupTestProject, openSidebar, clickMenuItem, openProjectMenu } from "../actions"
-import { projectCloseHoverSelector, projectSwitchSelector } from "../selectors"
+import { projectSwitchSelector } from "../selectors"
import { dirSlug } from "../utils"
-test("can close a project via hover card close button", async ({ page, withProject }) => {
- await page.setViewportSize({ width: 1400, height: 800 })
-
- const other = await createTestProject()
- const otherSlug = dirSlug(other)
-
- try {
- await withProject(
- async () => {
- await openSidebar(page)
-
- const otherButton = page.locator(projectSwitchSelector(otherSlug)).first()
- await expect(otherButton).toBeVisible()
- await otherButton.hover()
-
- const close = page.locator(projectCloseHoverSelector(otherSlug)).first()
- await expect(close).toBeVisible()
- await close.click()
-
- await expect(otherButton).toHaveCount(0)
- },
- { extra: [other] },
- )
- } finally {
- await cleanupTestProject(other)
- }
-})
-
test("closing active project navigates to another open project", async ({ page, withProject }) => {
await page.setViewportSize({ width: 1400, height: 800 })
diff --git a/packages/app/e2e/selectors.ts b/packages/app/e2e/selectors.ts
index fd4177fef..002ac2114 100644
--- a/packages/app/e2e/selectors.ts
+++ b/packages/app/e2e/selectors.ts
@@ -30,8 +30,6 @@ export const sidebarNavSelector = '[data-component="sidebar-nav-desktop"]'
export const projectSwitchSelector = (slug: string) =>
`${sidebarNavSelector} [data-action="project-switch"][data-project="${slug}"]`
-export const projectCloseHoverSelector = (slug: string) => `[data-action="project-close-hover"][data-project="${slug}"]`
-
export const projectMenuTriggerSelector = (slug: string) =>
`${sidebarNavSelector} [data-action="project-menu"][data-project="${slug}"]`
diff --git a/packages/app/src/pages/layout/sidebar-project.tsx b/packages/app/src/pages/layout/sidebar-project.tsx
index 8237e3c71..fb66dcc97 100644
--- a/packages/app/src/pages/layout/sidebar-project.tsx
+++ b/packages/app/src/pages/layout/sidebar-project.tsx
@@ -5,8 +5,6 @@ import { Button } from "@opencode-ai/ui/button"
import { ContextMenu } from "@opencode-ai/ui/context-menu"
import { HoverCard } from "@opencode-ai/ui/hover-card"
import { Icon } from "@opencode-ai/ui/icon"
-import { IconButton } from "@opencode-ai/ui/icon-button"
-import { Tooltip } from "@opencode-ai/ui/tooltip"
import { createSortable } from "@thisbeyond/solid-dnd"
import { useLayout, type LocalProject } from "@/context/layout"
import { useGlobalSync } from "@/context/global-sync"
@@ -194,21 +192,6 @@ const ProjectPreviewPanel = (props: {
<div class="-m-3 p-2 flex flex-col w-72">
<div class="px-4 pt-2 pb-1 flex items-center gap-2">
<div class="text-14-medium text-text-strong truncate grow">{displayName(props.project)}</div>
- <Tooltip value={props.language.t("common.close")} placement="top" gutter={6}>
- <IconButton
- icon="circle-x"
- variant="ghost"
- class="shrink-0"
- data-action="project-close-hover"
- data-project={base64Encode(props.project.worktree)}
- aria-label={props.language.t("common.close")}
- onClick={(event) => {
- event.stopPropagation()
- props.setOpen(false)
- props.ctx.closeProject(props.project.worktree)
- }}
- />
- </Tooltip>
</div>
<div class="px-4 pb-2 text-12-medium text-text-weak">{props.language.t("sidebar.project.recentSessions")}</div>
<div class="px-2 pb-2 flex flex-col gap-2">