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
View File
@@ -2382,6 +2382,17 @@ img.docImage {
padding: 24px;
}
/* `display: flex` ci-dessus est une règle AUTEUR, qui bat TOUJOURS le
`display: none` d'origine UA de [hidden] quelle que soit la
spécificité/l'ordre (même bug déjà rencontré pour
.docSidebarTabPanel[hidden]) — sans cet override explicite, l'état
vide et l'iframe restent visibles SIMULTANÉMENT, chacun prenant
flex:1, ce qui coupe l'aperçu en deux au lieu de lui laisser toute la
place (bug réel constaté le 24/09/2026, capture à l'appui). */
.docTemplatePreviewEmpty[hidden] {
display: none;
}
.docTemplatePreviewActions {
flex-shrink: 0;
display: flex;
+9 -9
View File
@@ -2906,19 +2906,19 @@ function forgeDocApplyTemplate(mode) {
function forgeDocOpenTemplateModal() {
document.getElementById('docTemplateModal').classList.add('is-open');
forgeDocSelectedTemplateId = window.FORGE_DOCUMENT.activeThemeId || null;
// Toujours vide à l'ouverture (retour utilisateur du 24/09/2026 :
// "aucun template ne dois etre sélectionner de base") — même si un
// thème est déjà appliqué à ce support, le choisir ici reste une
// action explicite de l'utilisateur, jamais présélectionnée.
forgeDocSelectedTemplateId = null;
forgeDocRenderTemplateList();
const frame = document.getElementById('docTemplatePreviewFrame');
const empty = document.getElementById('docTemplatePreviewEmpty');
const actions = document.getElementById('docTemplatePreviewActions');
if (forgeDocSelectedTemplateId) {
forgeDocSelectTemplate(forgeDocSelectedTemplateId);
} else {
frame.classList.remove('is-visible');
frame.src = 'about:blank';
empty.hidden = false;
actions.hidden = true;
}
frame.classList.remove('is-visible');
frame.src = 'about:blank';
empty.hidden = false;
actions.hidden = true;
}
function forgeDocCloseTemplateModal() {