fix(editor): v4.7.1 popovers Share/More/Activity/Move rendus sous le viewport + sous-menu Export inatteignable
FlowDeck CI / test (push) Failing after 19s
FlowDeck CI / docker (push) Skipped

- share-dialog/more-menu/activity-popover/move-dialog: enfants de .page-editor-wrapper
  (overflow-y:auto) ancores en absolute top:100% -> invisibles sous le viewport.
  Repositionnes en fixed sous la topbar, scope .page-editor-wrapper > (pas de
  regression sur .more-menu de library/local_workspace) + variante mobile <768px.
- Item Export du menu More faisait moreOpen=false avant d'ouvrir exportOpen:
  les 4 formats etaient inaccessibles. Devient un toggle, le menu reste ouvert.
- Cache busting app.css v=4.7.1; VERSION/main.py bump 4.7.1; CHANGELOG+ROADMAP a jour.
- Verifie Playwright headless: Share/More/Export/download Markdown/toast OK, 0 pageerror; 190/190 tests.
This commit is contained in:
2026-09-03 01:09:31 -04:00
parent 2bdf5e4166
commit aa2db0103d
8 changed files with 57 additions and 6 deletions
+31
View File
@@ -2997,6 +2997,37 @@ button.breadcrumb-current { max-width: 260px; }
border-radius: var(--radius-lg); box-shadow: var(--shadow-modal);
z-index: 999;
}
/* Page editor: these popovers are children of .page-editor-wrapper (a scroll
container), so absolute top:100% anchored them BELOW the viewport. Pin them
fixed under the topbar instead. Scoped to the editor wrapper so other pages
(library, local_workspace) keep their relative-positioned .more-menu. */
.page-editor-wrapper > .share-dialog,
.page-editor-wrapper > .more-menu,
.page-editor-wrapper > .activity-popover,
.page-editor-wrapper > .move-dialog {
position: fixed !important;
top: calc(var(--topbar-height) + 6px) !important;
}
.page-editor-wrapper > .share-dialog { right: 72px; }
.page-editor-wrapper > .more-menu { right: 16px; }
.page-editor-wrapper > .activity-popover,
.page-editor-wrapper > .move-dialog { right: 16px !important; }
@media (max-width: 768px) {
/* Keep editor popovers centered/stacked on mobile (base.html media rule
uses !important; mirror the specificity so it still wins here). */
.page-editor-wrapper > .share-dialog,
.page-editor-wrapper > .more-menu,
.page-editor-wrapper > .activity-popover,
.page-editor-wrapper > .move-dialog {
right: auto !important;
top: 50% !important;
width: 92vw !important;
max-width: 400px;
transform: translate(-50%, -50%) !important;
}
.page-editor-wrapper > .more-menu,
.page-editor-wrapper > .activity-popover { top: 60px !important; transform: none !important; left: auto !important; right: 12px !important; width: auto !important; }
}
/* Header with tabs */
.sd-header {
display: flex; align-items: center; height: 56px;