fix(frontend): source info popover tracks scroll
Browse filesSourceRow's popover-position effect registered only a resize listener,
while the sibling popovers also recompute on capture-phase scroll. The
sidebar body scrolls (and the page scrolls on mobile), so an open
position-fixed popover detached from its row. Mirror the sibling
pattern.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
frontend/components/source-sidebar.tsx
CHANGED
|
@@ -544,7 +544,11 @@ function SourceRow({
|
|
| 544 |
}
|
| 545 |
recompute();
|
| 546 |
window.addEventListener("resize", recompute);
|
| 547 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 548 |
}, [popoverOpen]);
|
| 549 |
|
| 550 |
return (
|
|
|
|
| 544 |
}
|
| 545 |
recompute();
|
| 546 |
window.addEventListener("resize", recompute);
|
| 547 |
+
window.addEventListener("scroll", recompute, true);
|
| 548 |
+
return () => {
|
| 549 |
+
window.removeEventListener("resize", recompute);
|
| 550 |
+
window.removeEventListener("scroll", recompute, true);
|
| 551 |
+
};
|
| 552 |
}, [popoverOpen]);
|
| 553 |
|
| 554 |
return (
|