diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index d12a81611..2b9d563f1 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -137,7 +137,7 @@ export default function Layout(props: ParentProps) { const [hoverSession, setHoverSession] = createSignal() const [hoverProject, setHoverProject] = createSignal() - const navRef = { current: undefined as HTMLElement | undefined } + const [nav, setNav] = createSignal(undefined) const sidebarHovering = createMemo(() => !layout.sidebar.opened() && hoverProject() !== undefined) const sidebarExpanded = createMemo(() => layout.sidebar.opened() || sidebarHovering()) @@ -1702,10 +1702,11 @@ export default function Layout(props: ParentProps) { > setHoverSession(open ? props.session.id : undefined)} > @@ -1743,7 +1744,7 @@ export default function Layout(props: ParentProps) { "group-focus-within/session:opacity-100 group-focus-within/session:pointer-events-auto": true, }} > - + - + { if (!pendingRename()) return @@ -1993,7 +1994,7 @@ export default function Layout(props: ParentProps) { "group-focus-within/workspace:opacity-100 group-focus-within/workspace:pointer-events-auto": true, }} > - + - + { if (!pendingRename()) return @@ -2411,7 +2412,7 @@ export default function Layout(props: ParentProps) { - + - + dialog.show(() => )}> {language.t("common.edit")} @@ -2660,7 +2661,7 @@ export default function Layout(props: ParentProps) { }} style={{ width: layout.sidebar.opened() ? `${Math.max(layout.sidebar.width(), 244)}px` : "64px" }} ref={(el) => { - navRef.current = el + setNav(el) }} onMouseLeave={() => { setHoverSession(undefined) diff --git a/packages/ui/src/components/hover-card.tsx b/packages/ui/src/components/hover-card.tsx index a920330c4..210fd5416 100644 --- a/packages/ui/src/components/hover-card.tsx +++ b/packages/ui/src/components/hover-card.tsx @@ -3,19 +3,20 @@ import { ComponentProps, JSXElement, ParentProps, splitProps } from "solid-js" export interface HoverCardProps extends ParentProps, Omit, "children"> { trigger: JSXElement + mount?: HTMLElement class?: ComponentProps<"div">["class"] classList?: ComponentProps<"div">["classList"] } export function HoverCard(props: HoverCardProps) { - const [local, rest] = splitProps(props, ["trigger", "class", "classList", "children"]) + const [local, rest] = splitProps(props, ["trigger", "mount", "class", "classList", "children"]) return ( {local.trigger} - +