Skip to content

feat: sticky toolbar in rich editor for long content#74

Open
mindcraft-research wants to merge 1 commit into
mainfrom
feat-rich-editor-sticky-toolbar
Open

feat: sticky toolbar in rich editor for long content#74
mindcraft-research wants to merge 1 commit into
mainfrom
feat-rich-editor-sticky-toolbar

Conversation

@mindcraft-research

Copy link
Copy Markdown
Owner

Summary

Quand l'éditeur riche contient beaucoup de contenu (consentement, consigne longue, debriefing détaillé...), la toolbar (H1/H2/H3, gras, italique, couleurs, alignement, etc.) sortait du champ de vision dès qu'on scrollait pour éditer le bas du texte. Il fallait remonter pour utiliser un bouton de formatage.

Fix

`position: sticky; top: 0` sur la toolbar. Elle reste collée en haut tant que l'éditeur est visible à l'écran, et part avec lui quand on scroll au-delà. Le `overflow: hidden` du `.wrap` parent sert de limite naturelle (la toolbar ne sort jamais hors de son éditeur).

3 lignes de CSS. Maxime suggérait un pattern sentinel + IntersectionObserver dans son ticket, mais `position: sticky` fait ça nativement depuis 2017 — pas besoin de JS.

Test plan

  • Ouvrir un bloc Welcome / Instruction / Debriefing avec un contenu long dans le RichEditor
  • Scroller vers le bas du contenu
  • Vérifier que la toolbar reste visible en haut
  • Continuer de scroller (au-delà de l'éditeur) → la toolbar disparaît avec l'éditeur

🤖 Generated with Claude Code

Quand l'éditeur riche contient beaucoup de contenu (consentement,
consigne longue, debriefing détaillé...), la toolbar (H1/H2/H3, gras,
italique, couleurs, alignement, etc.) sortait du champ de vision dès
qu'on scrollait pour éditer le bas du texte. Il fallait remonter en
haut pour utiliser les boutons de formatage.

Fix : position: sticky; top: 0 sur la toolbar. Elle reste collée en
haut de l'écran tant que l'éditeur est visible, et part avec lui
quand on a fini de scroller dessus. Le overflow: hidden du wrap parent
sert naturellement de limite (la toolbar ne sort jamais de l'éditeur).

Maxime suggérait un pattern sentinel + IntersectionObserver dans son
ticket, mais position: sticky fait exactement ça nativement depuis 2017
— pas besoin de JS.

Suggestion de MaximeVIALA dans le feedback #cmp2d7rz8.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant