feat(mobile): ruban d'edition style Obsidian + correctifs mobile (#83, BUG-017 a BUG-020)
CI / lint (push) Successful in 1m13s
CI / security (push) Successful in 47s
CI / test (push) Successful in 2m41s
CI / build (push) Successful in 43s
CI / e2e (push) Successful in 11m14s

- #83: ruban horizontal defilable ancre au-dessus du clavier, commandes
  etendues (titres, barre, surligne, code bloc, citation, listes, cases,
  wikilinks, tags, pieces jointes, undo/redo, colle, police) et
  personnalisation persistee via l'icone engrenage
- BUG-017: cartes du tableau de bord compressibles (min-width:0)
- BUG-018: en-tete editeur mobile compact, boutons Annuler/Sauvegarder
  accessibles, barre IA plus tactile
- BUG-019: ancrage du ruban via visualViewport (--kb-offset)
- BUG-020: suppression de la double barre de defilement

Tests: mobile-editor 35/35, ai 50/50, 9 suites JSDOM, validate-imports,
pytest 961 passed / 6 skipped, ruff + mypy 0.
This commit is contained in:
2026-09-13 11:49:45 -04:00
parent 162a5b4acc
commit 520059d866
11 changed files with 841 additions and 126 deletions
+35 -2
View File
@@ -1143,8 +1143,8 @@
"help.mobile_editor_reading": ": full screen without header or sidebars; swipe horizontally to go to the next or previous file.",
"help.mobile_editor_reading_label": "Reading mode",
"help.mobile_editor_title": "📱 Mobile editing",
"help.mobile_editor_toolbar": ": bold, italic, code, bullet list and link. The A−/A+ buttons adjust the font size.",
"help.mobile_editor_toolbar_label": "Floating toolbar",
"help.mobile_editor_toolbar": ": horizontally scrollable ribbon (headings, bold, italic, strikethrough, highlight, code, quote, lists, checkboxes, links, tags, attachments). The ⚙ icon lets you add, remove or reorder commands; A−/A+ adjust the font size.",
"help.mobile_editor_toolbar_label": "Editing ribbon",
"help.mobile_editor_zoom": ": pinch with two fingers to zoom, drag the handle to resize the editing area.",
"help.mobile_editor_zoom_label": "Zoom & height",
"help.modal_title": "ObsiGate User Guide",
@@ -1307,10 +1307,40 @@
"mermaid.zoom_in": "Zoom in",
"mermaid.zoom_out": "Zoom out",
"mobile.all_vaults": "📂 All vaults",
"mobile_editor.add_command": "Add a command",
"mobile_editor.backlinks": "Backlinks",
"mobile_editor.bold": "Bold",
"mobile_editor.close": "Close",
"mobile_editor.cmd_attachment": "Attachment",
"mobile_editor.cmd_bold": "Bold",
"mobile_editor.cmd_bullet": "Bullet list",
"mobile_editor.cmd_checkbox": "Checkbox",
"mobile_editor.cmd_code": "Inline code",
"mobile_editor.cmd_codeblock": "Code block",
"mobile_editor.cmd_dedent": "Outdent",
"mobile_editor.cmd_files": "Template / files",
"mobile_editor.cmd_h1": "Heading 1",
"mobile_editor.cmd_h2": "Heading 2",
"mobile_editor.cmd_h3": "Heading 3",
"mobile_editor.cmd_h4": "Heading 4",
"mobile_editor.cmd_h5": "Heading 5",
"mobile_editor.cmd_h6": "Heading 6",
"mobile_editor.cmd_highlight": "Highlight",
"mobile_editor.cmd_indent": "Indent",
"mobile_editor.cmd_italic": "Italic",
"mobile_editor.cmd_link": "External link",
"mobile_editor.cmd_ordered": "Numbered list",
"mobile_editor.cmd_quote": "Quote",
"mobile_editor.cmd_redo": "Redo",
"mobile_editor.cmd_strike": "Strikethrough",
"mobile_editor.cmd_tag": "Tag",
"mobile_editor.cmd_undo": "Undo",
"mobile_editor.cmd_wikilink": "Internal link",
"mobile_editor.code": "Code",
"mobile_editor.customize": "Customize toolbar",
"mobile_editor.customize_reset": "Reset",
"mobile_editor.customize_title": "Customize toolbar",
"mobile_editor.done": "Done",
"mobile_editor.error": "Loading error",
"mobile_editor.font_larger": "Increase font size",
"mobile_editor.font_smaller": "Decrease font size",
@@ -1318,6 +1348,8 @@
"mobile_editor.link": "Link",
"mobile_editor.list": "Bullet list",
"mobile_editor.loading": "Loading…",
"mobile_editor.move_down": "Move down",
"mobile_editor.move_up": "Move up",
"mobile_editor.no_backlinks": "No backlinks",
"mobile_editor.no_headings": "No headings in this document",
"mobile_editor.no_next": "Last file in folder",
@@ -1326,6 +1358,7 @@
"mobile_editor.paste_hint": "Long-press the field then choose “Paste” (clipboard access denied).",
"mobile_editor.reading_enter": "Reading mode",
"mobile_editor.reading_exit": "Exit reading mode",
"mobile_editor.remove_command": "Remove",
"mobile_editor.resize": "Adjust editor height",
"mobile_editor.toc": "Table of contents",
"mobile_editor.toolbar": "Mobile editing toolbar",
+35 -2
View File
@@ -1143,8 +1143,8 @@
"help.mobile_editor_reading": " : plein écran sans en-tête ni barres latérales ; balayage horizontal pour passer au fichier suivant ou précédent.",
"help.mobile_editor_reading_label": "Mode lecture",
"help.mobile_editor_title": "📱 Édition mobile",
"help.mobile_editor_toolbar": " : gras, italique, code, liste à puces et lien. Les boutons A−/A+ ajustent la taille de la police.",
"help.mobile_editor_toolbar_label": "Barre d'outils flottante",
"help.mobile_editor_toolbar": " : ruban horizontal défilable (titres, gras, italique, barré, surligné, code, citation, listes, cases à cocher, liens, tags, pièces jointes). L'icône ⚙ permet d'ajouter, retirer ou réordonner les commandes ; A−/A+ ajustent la taille de la police.",
"help.mobile_editor_toolbar_label": "Ruban d'édition",
"help.mobile_editor_zoom": " : pincement à deux doigts pour zoomer, poignée pour redimensionner la zone d'édition.",
"help.mobile_editor_zoom_label": "Zoom & hauteur",
"help.modal_title": "Guide d'utilisation ObsiGate",
@@ -1307,10 +1307,40 @@
"mermaid.zoom_in": "Zoom avant",
"mermaid.zoom_out": "Zoom arrière",
"mobile.all_vaults": "📂 Toutes les vaults",
"mobile_editor.add_command": "Ajouter une commande",
"mobile_editor.backlinks": "Liens entrants",
"mobile_editor.bold": "Gras",
"mobile_editor.close": "Fermer",
"mobile_editor.cmd_attachment": "Pièce jointe",
"mobile_editor.cmd_bold": "Gras",
"mobile_editor.cmd_bullet": "Liste à puces",
"mobile_editor.cmd_checkbox": "Case à cocher",
"mobile_editor.cmd_code": "Code en ligne",
"mobile_editor.cmd_codeblock": "Bloc de code",
"mobile_editor.cmd_dedent": "Désindenter",
"mobile_editor.cmd_files": "Modèle / fichiers",
"mobile_editor.cmd_h1": "Titre 1",
"mobile_editor.cmd_h2": "Titre 2",
"mobile_editor.cmd_h3": "Titre 3",
"mobile_editor.cmd_h4": "Titre 4",
"mobile_editor.cmd_h5": "Titre 5",
"mobile_editor.cmd_h6": "Titre 6",
"mobile_editor.cmd_highlight": "Surligné",
"mobile_editor.cmd_indent": "Indenter",
"mobile_editor.cmd_italic": "Italique",
"mobile_editor.cmd_link": "Lien externe",
"mobile_editor.cmd_ordered": "Liste numérotée",
"mobile_editor.cmd_quote": "Citation",
"mobile_editor.cmd_redo": "Refaire",
"mobile_editor.cmd_strike": "Barré",
"mobile_editor.cmd_tag": "Tag",
"mobile_editor.cmd_undo": "Annuler",
"mobile_editor.cmd_wikilink": "Lien interne",
"mobile_editor.code": "Code",
"mobile_editor.customize": "Personnaliser la barre",
"mobile_editor.customize_reset": "Réinitialiser",
"mobile_editor.customize_title": "Personnaliser la barre d'outils",
"mobile_editor.done": "Terminé",
"mobile_editor.error": "Erreur de chargement",
"mobile_editor.font_larger": "Agrandir la police",
"mobile_editor.font_smaller": "Réduire la police",
@@ -1318,6 +1348,8 @@
"mobile_editor.link": "Lien",
"mobile_editor.list": "Liste à puces",
"mobile_editor.loading": "Chargement…",
"mobile_editor.move_down": "Descendre",
"mobile_editor.move_up": "Monter",
"mobile_editor.no_backlinks": "Aucun lien entrant",
"mobile_editor.no_headings": "Aucun titre dans ce document",
"mobile_editor.no_next": "Dernier fichier du dossier",
@@ -1326,6 +1358,7 @@
"mobile_editor.paste_hint": "Appuyez longuement dans le champ puis choisissez « Coller » (accès au presse-papiers refusé).",
"mobile_editor.reading_enter": "Mode lecture",
"mobile_editor.reading_exit": "Quitter le mode lecture",
"mobile_editor.remove_command": "Supprimer",
"mobile_editor.resize": "Ajuster la hauteur de l'éditeur",
"mobile_editor.toc": "Table des matières",
"mobile_editor.toolbar": "Barre d'outils d'édition mobile",