feat: Escape du menu slash retire le « / » + bouton « commenter » à droite du bloc (v7.66.0)
- SM.escClose() : un seul implément, appelé par les deux chemins de fermeture du menu slash (focus dans le bloc → onKd, focus dans l'entrée du menu → listener document). Retire le « / » d'ouverture seulement, remet le caret, sync() + autoSave(). - Bouton .block-comment-btn à droite du bloc (gouttière 64px) : icône bulle de conversation + , visible au survol/focus comme le handle, masqué sur mobile (2 breakpoints) et sur page verrouillée ; onclick = E.commentBlock(idx). Remplace l'ancien .block-actions de renderBlock (opacity:0 sans règle de survol → un + invisible qui capait les clics dans la gouttière). - fmtComment() restaure la plage de la toolbar (_fmtRestore) avant d'ancrer : commentBlock() ne se replie plus sur this._sel (plage périmée éventuelle). Tests: pytest tests/ -q -n auto → 1386 passed ; ruff check app tests → OK ; e2e v766 (Esc → menu fermé + bloc vide ; bouton masqué → visible au survol, à droite du wrapper, ancre = bloc visé) + v764/v762/v7641/v763/ regression_editor_mount → 7 passed sur :8081.
This commit is contained in:
@@ -2371,6 +2371,35 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
/* ── v7.66 : bouton « commenter ce bloc » — à droite du bloc (gouttière 64px),
|
||||
bulle de conversation + , visible au survol comme le handle ── */
|
||||
.block-comment-btn {
|
||||
position: absolute;
|
||||
right: -60px;
|
||||
top: 4px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: none;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
color: var(--text-dim);
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transition: opacity 0.15s ease;
|
||||
}
|
||||
.block-wrapper:hover .block-comment-btn,
|
||||
.block-wrapper:focus-within .block-comment-btn {
|
||||
opacity: 1;
|
||||
}
|
||||
.block-comment-btn:hover {
|
||||
background: var(--bg-hover);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
/* ── v5.10.0: selection multiple + menu contexte bloc ── */
|
||||
.block-wrapper.selected {
|
||||
background: rgba(35,131,226,0.06);
|
||||
@@ -3288,6 +3317,7 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
.block-handle { display: none; }
|
||||
.block-insert-btn { display: none; }
|
||||
.block-actions { display: none; }
|
||||
.block-comment-btn { display: none; }
|
||||
.editor-statusbar { left: 0; }
|
||||
}
|
||||
|
||||
@@ -3855,6 +3885,7 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
.block-handle { display: none; }
|
||||
.block-insert-btn { display: none; }
|
||||
.block-actions { display: none; }
|
||||
.block-comment-btn { display: none; }
|
||||
.page-title-block::before { display: none; }
|
||||
.page-title-block .page-icon-emoji { margin-left: 0; }
|
||||
.page-title-block .page-title-input { padding-left: 0; }
|
||||
@@ -4998,6 +5029,7 @@ a.fd-wiki-link:hover { border-bottom-color: var(--accent, #2383e2); }
|
||||
font-weight: 500;
|
||||
}
|
||||
body.page-locked .block-handle,
|
||||
body.page-locked .block-comment-btn,
|
||||
body.page-locked .block-add-btn,
|
||||
body.page-locked .format-toolbar,
|
||||
body.page-locked .get-started-toolbar { display: none !important; }
|
||||
|
||||
Reference in New Issue
Block a user