Textes projet éditables suivant Grav + écriture atomique du store
- Champ Présentation prérempli avec le texte Grav, suivi modifié/synchro (textOverride undefined = suit Grav, sinon figé ; bouton Réinitialiser) - Fix génération PDF : savePortfolio écrit en atomique (temp+rename) pour éviter la corruption de lecture par l'autosave concurrent du rendu print - Toast d'échec de génération explicite (message serveur) - Refonte architecture visuelle, fond unifié white/tint/full, dispositions couverture bandeau/colonne, instantané public complet, index 3 lignes
This commit is contained in:
@@ -15,5 +15,15 @@ export default defineEventHandler(async (event): Promise<{ portfolio: Portfolio;
|
||||
throw createError({ statusCode: 404, statusMessage: 'Portfolio introuvable' })
|
||||
}
|
||||
|
||||
return { portfolio, projects: portfolio.frozenContent.projects }
|
||||
// Vrai instantané : on rend la composition figée (pages + mise en forme), pas
|
||||
// la composition live. Repli sur le live pour les instantanés antérieurs.
|
||||
const frozen = portfolio.frozenContent
|
||||
const snapshot: Portfolio = {
|
||||
...portfolio,
|
||||
name: frozen.name ?? portfolio.name,
|
||||
cover: frozen.cover ?? portfolio.cover,
|
||||
pages: frozen.pages ?? portfolio.pages,
|
||||
}
|
||||
|
||||
return { portfolio: snapshot, projects: frozen.projects }
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user