Corrige la modale "Utiliser un modèle" : aucune sélection par défaut, aperçu plein espace, navigation entre pages

Trois retours distincts :
- Plus de présélection du thème déjà appliqué à l'ouverture — un choix
  toujours explicite de l'utilisateur.
- L'état vide (.docTemplatePreviewEmpty) restait visible EN MÊME TEMPS
  que l'iframe une fois un thème sélectionné : `display:flex` posé
  directement dessus battait le `display:none` natif de [hidden]
  (même bug déjà rencontré pour .docSidebarTabPanel[hidden] plus tôt
  dans le projet) — les deux se partageaient flex:1, coupant l'aperçu
  en deux au lieu de lui laisser tout l'espace.
- L'aperçu ne montrait que la première page du modèle sans aucun moyen
  d'en voir les autres : la route /document/<slug>/theme/<id>/preview
  rend désormais TOUTES les pages, une barre Précédent/Suivant
  (entièrement côté client, aucun aller-retour serveur supplémentaire)
  permet de naviguer entre elles.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
william
2026-09-24 09:58:31 +02:00
co-authored by Claude Sonnet 5
parent bd8f1d4b1e
commit 7730b3688f
5 changed files with 131 additions and 23 deletions
+11 -2
View File
@@ -454,10 +454,19 @@ def test_document_theme_apply_template_content_replaces_everything(client: Flask
assert len(pages) == len(theme["seed_pages"])
def test_document_theme_preview_renders_the_first_seed_page(client: FlaskClient, support: str) -> None:
def test_document_theme_preview_renders_every_seed_page_with_navigation(client: FlaskClient, support: str) -> None:
resp = client.get(f"/document/{support}/theme/securite-incendie/preview")
assert resp.status_code == 200
assert "docPage" in resp.get_data(as_text=True)
html = resp.get_data(as_text=True)
theme = document_engine.get_document_theme_entry("securite-incendie")
assert theme is not None
page_count = len(theme["seed_pages"])
assert html.count('class="docPage"') == page_count
# Une seule page visible au chargement (les autres portent `hidden`,
# navigation gérée côté client — voir templates/document/
# document_theme_preview.html).
assert html.count("hidden>") == page_count - 1
assert "previewNav" in html
def test_document_theme_preview_404s_for_an_unknown_theme(client: FlaskClient, support: str) -> None: