refactor: EuParaType → ParaType générique, slots dynamiques dans la toolbar #68

Merged
nicolas merged 1 commit from claude/compassionate-wing-ab5974 into main 2026-05-16 13:17:28 +02:00
Owner
  • client/components/ParaType.js : renommage de EuParaType (extension TipTap
    identique, nom générique 'paraType' au lieu de 'euParaType')
  • client/components/Toolbar.jsx : suppression de EU_PARA_TYPES hardcodé,
    BlockSelect reçoit les slots en prop et filtre par section_types +
    user_selectable — le dropdown est désormais piloté par l'API
  • client/components/Editor.jsx : import ParaType au lieu de EuParaType,
    fetch GET /admin/slots au montage, slots={slots} passé à la Toolbar
  • server/lib/styleSlots.js : ajout section_types, user_selectable, align sur
    chaque slot ; IDs backward-compat avec les data-para-type existants
    (cover_type, recital_para, decision_article, etc.) ; 36 slots au total
  • server/db.js : table custom_slots + listCustomSlots/insertCustomSlot/
    deleteCustomSlot
  • server/routes/admin.js : GET /admin/slots merge built-in + custom ;
    POST + DELETE /admin/slots pour la gestion des slots custom
  • client/components/AdminSlots.jsx : UI admin de gestion des slots custom
    (création avec validation d'id, filtres section_types, suppression)
  • client/components/Admin.jsx : onglet "Custom Slots" → AdminSlots
- client/components/ParaType.js : renommage de EuParaType (extension TipTap identique, nom générique 'paraType' au lieu de 'euParaType') - client/components/Toolbar.jsx : suppression de EU_PARA_TYPES hardcodé, BlockSelect reçoit les slots en prop et filtre par section_types + user_selectable — le dropdown est désormais piloté par l'API - client/components/Editor.jsx : import ParaType au lieu de EuParaType, fetch GET /admin/slots au montage, slots={slots} passé à la Toolbar - server/lib/styleSlots.js : ajout section_types, user_selectable, align sur chaque slot ; IDs backward-compat avec les data-para-type existants (cover_type, recital_para, decision_article, etc.) ; 36 slots au total - server/db.js : table custom_slots + listCustomSlots/insertCustomSlot/ deleteCustomSlot - server/routes/admin.js : GET /admin/slots merge built-in + custom ; POST + DELETE /admin/slots pour la gestion des slots custom - client/components/AdminSlots.jsx : UI admin de gestion des slots custom (création avec validation d'id, filtres section_types, suppression) - client/components/Admin.jsx : onglet "Custom Slots" → AdminSlots
- client/components/ParaType.js : renommage de EuParaType (extension TipTap
  identique, nom générique 'paraType' au lieu de 'euParaType')
- client/components/Toolbar.jsx : suppression de EU_PARA_TYPES hardcodé,
  BlockSelect reçoit les slots en prop et filtre par section_types +
  user_selectable — le dropdown est désormais piloté par l'API
- client/components/Editor.jsx : import ParaType au lieu de EuParaType,
  fetch GET /admin/slots au montage, slots={slots} passé à la Toolbar
- server/lib/styleSlots.js : ajout section_types, user_selectable, align sur
  chaque slot ; IDs backward-compat avec les data-para-type existants
  (cover_type, recital_para, decision_article, etc.) ; 36 slots au total
- server/db.js : table custom_slots + listCustomSlots/insertCustomSlot/
  deleteCustomSlot
- server/routes/admin.js : GET /admin/slots merge built-in + custom ;
  POST + DELETE /admin/slots pour la gestion des slots custom
- client/components/AdminSlots.jsx : UI admin de gestion des slots custom
  (création avec validation d'id, filtres section_types, suppression)
- client/components/Admin.jsx : onglet "Custom Slots" → AdminSlots
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/docforge_ynh!68
No description provided.