feat(ui): add MediaPicker integration to BlockEditor image block

- import MediaPicker from features/media to avoid circular dependency with @zen/core
- add "Choisir un média" button in ImageUrlForm alongside existing URL input
- insert image block with `/zen/api/media/file/<slug>` src on media selection
- update README to document dual-source form (external URL + media library) and revise known limitations
This commit is contained in:
2026-04-26 17:40:58 -04:00
parent 9723f40df2
commit 56c334684f
2 changed files with 63 additions and 28 deletions
+12 -2
View File
@@ -287,6 +287,15 @@ descendants. Les styles CSS inline (`font-weight`, `font-style`,
## Bloc image
Le formulaire d'insertion accepte deux sources :
- **URL externe** : champ libre + bouton « Insérer ».
- **Bibliothèque media** : bouton « Choisir un média » qui ouvre le `MediaPicker`
de `@zen/core/features/media`. À la sélection, le bloc est inséré avec
`block.src = "/zen/api/media/file/<slug>"`. Les nouveaux uploads passent par
ce picker en visibilité `public` (les blocs image vivent dans du contenu
publié — un média privé serait illisible côté frontal).
Une fois l'URL insérée, l'image affiche au survol une **toolbar flottante**
(coin haut-droit) reprenant le style `BOX_CLASS` partagé :
@@ -316,6 +325,7 @@ quand l'`<img>` y est imbriqué pour récupérer `href` / `target`.
## Limitations connues
- Pas d'imbrication de listes.
- Image : URL uniquement, pas d'upload de fichier. La caption est une
string plate (pas de formatage inline pour l'instant).
- Image : insertion par URL externe ou via le `MediaPicker` du module
`media` (les uploads y sont gérés). La caption est une string plate
(pas de formatage inline pour l'instant).
- Tables : Phase 3.