mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-29 08:02:06 -04:00
fix(ui): route tasks.js + skills.js dropdowns through topPortalZ() (#4768)
Fixes #4767. #4724 routed 16 body-portaled dropdowns through the shared topPortalZ() helper so they always render just above the currently-raised tool modal, but two were missed and still used a hardcoded z-index, so they hit the same #4720 bug once a modal's bring-to-front counter climbed past the literal: - tasks.js _showTaskDropdown(): inline z-index:100000 on .task-dropdown - skills.js kebab menu (.skill-kebab-menu): z-index:100002 in style.css Both now set zIndex from topPortalZ() after they are appended to the body, matching the other migrated sites. The dead CSS z-index on .skill-kebab-menu is removed (the inline value always wins). test_portal_dropdown_z_js.py gains a source guard asserting both files use topPortalZ() and that no hardcoded 100000/100002 portal literal survives in either file or style.css.
This commit is contained in:
committed by
GitHub
parent
5d23495eb2
commit
de12d4734a
@@ -8,6 +8,7 @@
|
||||
import uiModule from './ui.js';
|
||||
import * as spinnerModule from './spinner.js';
|
||||
import { bindMenuDismiss, dismissOrRemove } from './escMenuStack.js';
|
||||
import { topPortalZ } from './toolWindowZOrder.js';
|
||||
|
||||
const API = window.location.origin;
|
||||
let skills = [];
|
||||
@@ -437,6 +438,10 @@ function _openSkillMenu(btn, card, sk, name, isPublished) {
|
||||
menu.appendChild(cancelItem);
|
||||
|
||||
document.body.appendChild(menu);
|
||||
// Override the CSS z-index (100002) with a value derived from the live
|
||||
// tool-window stack so the kebab menu stays above its modal even after the
|
||||
// bring-to-front counter climbs past the static value (#4720).
|
||||
menu.style.zIndex = String(topPortalZ());
|
||||
const r = btn.getBoundingClientRect();
|
||||
menu.style.top = (r.bottom + 4) + 'px';
|
||||
menu.style.right = Math.max(6, window.innerWidth - r.right) + 'px';
|
||||
|
||||
Reference in New Issue
Block a user