diff --git a/frontend/index.html b/frontend/index.html index deab9b6..aeed0e8 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1146,7 +1146,7 @@ - + diff --git a/frontend/js/camera.js b/frontend/js/camera.js index 3975e3c..d4a1f2d 100644 --- a/frontend/js/camera.js +++ b/frontend/js/camera.js @@ -316,26 +316,25 @@ async function lancerCapture() { const avecPreMessages = (i === 0); await compteARebours(avecPreMessages); - // Stopper le preview AVANT la surprise (evite un frame flou visible) - arreterPreview(); - // Surprise : seulement en photo simple (pas strip/multi) - // La capture DSLR se lance pendant que l'image surprise est affichee + // S'affiche PAR-DESSUS le preview live (pas besoin de le stopper) const aSurprise = (modeActuel === 'simple') && montrerSurprise(); - // Lancer la capture immediatement (le DSLR met ~1-2s a repondre) + // Lancer la capture DSLR pendant que la surprise est visible const capturePromise = apiPost('/api/capturer').catch(() => null); - // Laisser la surprise visible pendant que le DSLR capture - if (aSurprise) await pause(800); + // Laisser la surprise visible le temps que le DSLR declenche + if (aSurprise) await pause(1000); - // Flash blanc au moment ou le DSLR a eu le temps de declencher + // Flash blanc couvre tout (surprise + preview dessous) const flash = document.getElementById('flash-blanc'); flash.classList.remove('cache'); flash.style.animation = 'none'; flash.offsetHeight; flash.style.animation = ''; + // Pendant que le flash couvre l'ecran, on nettoie derriere + arreterPreview(); if (aSurprise) { cacherSurprise(); prechargerSurprise(); } let resultat = await capturePromise;