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:
@@ -1,5 +1,39 @@
|
||||
# Changelog - FlowDeck
|
||||
|
||||
## v7.66.0 (2026-10-08) — Escape du menu slash retire le « / » + bouton « commenter » à droite du bloc
|
||||
|
||||
### Added
|
||||
|
||||
- **Bouton « commenter ce bloc » à droite du bloc** (`.block-comment-btn`,
|
||||
gouttière 64px, visible au survol/focus comme le handle) : icône **bulle de
|
||||
conversation avec un +**, `onclick="E.commentBlock(idx)"` → tiroir de
|
||||
commentaires ancré sur le bloc (ou sur la sélection vivante s'il y en a une).
|
||||
Masqué sur mobile (2 breakpoints, comme le handle) et sur page verrouillée.
|
||||
- remplace l'ancien `.block-actions` de `renderBlock` : rendu en `opacity:0`
|
||||
**sans règle de survol** (jamais de classe `.visible`) → un `+` invisible
|
||||
qui capait les clics dans la gouttière droite.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Escape ferme le menu slash ET retire le « / »** : nouvelle `SM.escClose()`
|
||||
appelée par les **deux** chemins de fermeture (focus dans le bloc → `onKd`,
|
||||
focus dans l'entrée du menu → listener `document`). Ne touche au caractère
|
||||
que si c'est le `/` d'ouverture, remet le caret et sauvegarde (`sync` +
|
||||
`autoSave`).
|
||||
- **`fmtComment()` restaure la sélection de la toolbar** (`_fmtRestore()`)
|
||||
avant d'ancrer : `commentBlock()` ne se replie plus sur `this._sel` (plage
|
||||
potentiellement périmée reprise par le bouton de droite / le menu de bloc).
|
||||
|
||||
### Tests
|
||||
|
||||
- **e2e** `e2e/v766_slash_esc_comment_btn.spec.js` : « / » → menu visible →
|
||||
Escape → menu fermé et bloc vide ; bouton présent, `opacity` 0 → 1 au
|
||||
survol, **à droite** du wrapper (boîte mesurée), clic → tiroir → ancre = le
|
||||
bloc entier.
|
||||
- `tests/test_v766_slash_esc_comment_btn.py` (3) ; `pytest tests/ -q -n auto`
|
||||
→ **1386 passed**, `ruff check app tests` → OK.
|
||||
|
||||
|
||||
## v7.65.0 (2026-10-08) — Comment ancré sur la SÉLECTION de texte (pas le bloc) + retrait du bouton bleu « 💬 Comment »
|
||||
|
||||
### Changed
|
||||
|
||||
Reference in New Issue
Block a user