diff --git a/apps/web/src/components/review/ReviewTab.tsx b/apps/web/src/components/review/ReviewTab.tsx index a532253..09bdd7e 100644 --- a/apps/web/src/components/review/ReviewTab.tsx +++ b/apps/web/src/components/review/ReviewTab.tsx @@ -25,9 +25,9 @@ export function ReviewTab({ initiativeId }: ReviewTabProps) { const el = headerRef.current; if (!el) return; const ro = new ResizeObserver(([entry]) => { - setHeaderHeight(entry.contentRect.height); + setHeaderHeight(entry.borderBoxSize?.[0]?.blockSize ?? entry.target.getBoundingClientRect().height); }); - ro.observe(el); + ro.observe(el, { box: 'border-box' }); return () => ro.disconnect(); }, []); @@ -323,9 +323,9 @@ export function ReviewTab({ initiativeId }: ReviewTabProps) { } return ( -
+
{/* Header: phase selector + toolbar */} -
+
({ id: p.id, name: p.name, status: p.status }))} activePhaseId={activePhaseId} @@ -347,7 +347,7 @@ export function ReviewTab({ initiativeId }: ReviewTabProps) {
{/* Main content area — sidebar always rendered to preserve state */} -
+
{/* Left: Sidebar — sticky to viewport, scrolls independently */}