Skip to content

Commit e90f3c2

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 f3ccd7f commit e90f3c2

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
@@ -108,7 +108,7 @@ export function TimelineFxPopover({
108108
ref={rootRef}
109109
role="dialog"
110110
aria-label="Effects"
111-
className="z-50 flex flex-col overflow-hidden rounded-md border border-white/10 bg-[#1b1b1f] p-2 shadow-xl"
111+
className="z-[200] flex flex-col overflow-hidden rounded-md border border-white/10 bg-[#1b1b1f] p-2 shadow-xl"
112112
style={clampedStyle(anchorRect)}
113113
onKeyDown={onKeyDown}
114114
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)