Skip to content

Commit f904ebf

Browse files
committed
fix(studio): put the timeline's portaled surfaces on the tier the other portals use
The FX popover, the grouping dialog it swaps for, and the automation selection menu are all portaled to `document.body`, so they land in the root stacking context — where they sat at `z-50` while the app's own chrome occupies 60, 90, 91, 92, 94, 100 and 110, and every other portal that has to clear that chrome (`Tooltip`, `AssetContextMenu`, `InlineTextToolbar`, `RenderQueue`) already uses `z-[200]`. These three were the odd ones out. Scoped honestly: the clipping in the report is fixed by the height cap in the previous commit, which is what actually cut the popover off at the timeline chrome. This commit is tier consistency — it removes the standing risk of a portaled timeline surface losing to any of those seven higher tiers, rather than a demonstrated repro. Confirm against a real window before claiming more.
1 parent 277fe0f commit f904ebf

3 files changed

Lines changed: 3 additions & 3 deletions

File tree

packages/studio/src/components/editor/TimelineFxPopover.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ export function TimelineFxPopover({
125125
ref={rootRef}
126126
role="dialog"
127127
aria-label="Effects"
128-
className="z-50 flex flex-col overflow-hidden rounded-md border border-white/10 bg-[#1b1b1f] p-2 shadow-xl"
128+
className="z-[200] flex flex-col overflow-hidden rounded-md border border-white/10 bg-[#1b1b1f] p-2 shadow-xl"
129129
style={clampedStyle(anchorRect)}
130130
onKeyDown={onKeyDown}
131131
onPointerDown={(event) => event.stopPropagation()}

packages/studio/src/player/components/AutomationSelectionMenu.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export const AutomationSelectionMenu = memo(function AutomationSelectionMenu({
4141
return createPortal(
4242
<div
4343
ref={menuRef}
44-
className="hf-automation-menu fixed z-50 min-w-[140px] rounded border border-panel-border-input bg-panel-bg-2 py-1 shadow-lg"
44+
className="hf-automation-menu fixed z-[200] min-w-[140px] rounded border border-panel-border-input bg-panel-bg-2 py-1 shadow-lg"
4545
style={{ left: adjustedX, top: adjustedY }}
4646
>
4747
{AUTOMATION_SHAPES.map((shape) => (

packages/studio/src/player/components/TimelineFxButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export function TimelineFxButton(props: TimelineFxButtonProps) {
7979
<div
8080
role="dialog"
8181
aria-label="Group these clips to add effects"
82-
className="z-50 w-56 rounded-md border border-white/10 bg-[#1b1b1f] p-2.5 text-[11px] text-white/75 shadow-xl"
82+
className="z-[200] w-56 rounded-md border border-white/10 bg-[#1b1b1f] p-2.5 text-[11px] text-white/75 shadow-xl"
8383
style={{ position: "fixed", left: anchorRect.left, top: anchorRect.bottom + 4 }}
8484
onPointerDown={(event) => event.stopPropagation()}
8585
>

0 commit comments

Comments
 (0)