diff --git a/apps/roam/src/components/LeftSidebarView.tsx b/apps/roam/src/components/LeftSidebarView.tsx index efad98788..142977592 100644 --- a/apps/roam/src/components/LeftSidebarView.tsx +++ b/apps/roam/src/components/LeftSidebarView.tsx @@ -179,7 +179,13 @@ const toggleFoldedState = async ({ } }; -const RoamRenderedBlock = ({ uid }: { uid: string }) => { +const RoamRenderedBlock = ({ + uid, + onNavigate, +}: { + uid: string; + onNavigate: (e: React.MouseEvent) => void; +}) => { const [version, setVersion] = useState(0); useEffect(() => { @@ -192,8 +198,14 @@ const RoamRenderedBlock = ({ uid }: { uid: string }) => { }; }, [uid]); + const handleClick = (e: React.MouseEvent) => { + const target = e.target as HTMLElement; + if (target.closest("button")) return; + onNavigate(e); + }; + return ( -
+
); @@ -215,8 +227,11 @@ const ChildRow = ({ if (ref.type === "block" && isSmartBlockUid(ref.uid)) { return (
-
- +
+ void openTarget(e, child.text, onloadArgs)} + />
); @@ -1045,6 +1060,9 @@ export const mountLeftSidebar = async ({ .dg-sidebar-rendered-block .block-border-left { display: none; } .dg-sidebar-rendered-block .block-ref-count-button { display: none; } .dg-sidebar-rendered-block .rm-block-main { min-height: unset; padding: 0; } + .dg-sidebar-rendered-block * { pointer-events: none; } + .dg-sidebar-rendered-block button, + .dg-sidebar-rendered-block button * { pointer-events: auto; } `; document.head.appendChild(style); }