summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2026-01-17 23:40:06 +0000
committerDavid Hill <[email protected]>2026-01-17 23:40:06 +0000
commitc890853992189723ed8b1406abe9df8b156c7a20 (patch)
tree60d3bb41b83e0695618120bc9808657c1c383253 /packages/app/src
parent2a4e8bc01cbe46445f8005b65d0cdc78cdd9bd88 (diff)
downloadopencode-c890853992189723ed8b1406abe9df8b156c7a20.tar.gz
opencode-c890853992189723ed8b1406abe9df8b156c7a20.zip
fix: keep project avatar hover styles while popover open
Diffstat (limited to 'packages/app/src')
-rw-r--r--packages/app/src/pages/layout.tsx14
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx
index 101cc2eaa..98f62dc11 100644
--- a/packages/app/src/pages/layout.tsx
+++ b/packages/app/src/pages/layout.tsx
@@ -1338,6 +1338,8 @@ export default function Layout(props: ParentProps) {
const workspaces = createMemo(() => workspaceIds(props.project).slice(0, 2))
const workspaceEnabled = createMemo(() => layout.sidebar.workspaces(props.project.worktree)())
+ const [open, setOpen] = createSignal(false)
+
const label = (directory: string) => {
const [data] = globalSync.child(directory)
const kind = directory === props.project.worktree ? "local" : "sandbox"
@@ -1370,7 +1372,8 @@ export default function Layout(props: ParentProps) {
"flex items-center justify-center size-10 p-1 rounded-lg overflow-hidden transition-colors cursor-default": true,
"bg-transparent border-2 border-icon-strong-base hover:bg-surface-base-hover": selected(),
"bg-transparent border border-transparent hover:bg-surface-base-hover hover:border-border-weak-base":
- !selected(),
+ !selected() && !open(),
+ "bg-surface-base-hover border border-border-weak-base": !selected() && open(),
}}
onClick={() => navigateToProject(props.project.worktree)}
>
@@ -1381,7 +1384,14 @@ export default function Layout(props: ParentProps) {
return (
// @ts-ignore
<div use:sortable classList={{ "opacity-30": sortable.isActiveDraggable }}>
- <HoverCard openDelay={0} closeDelay={0} placement="right-start" gutter={6} trigger={trigger}>
+ <HoverCard
+ openDelay={0}
+ closeDelay={0}
+ placement="right-start"
+ gutter={6}
+ trigger={trigger}
+ onOpenChange={setOpen}
+ >
<div class="-m-3 flex flex-col w-72">
<div class="px-4 pt-2 pb-1 text-14-medium text-text-strong truncate">{displayName(props.project)}</div>
<div class="px-4 pb-2 text-12-medium text-text-weak">Recent sessions</div>