Fix flow surprise : preview reste live, flash masque la transition
- Preview live continue pendant la surprise (overlay par-dessus) - Capture DSLR lancee pendant la surprise (1s de reaction) - Flash blanc couvre tout PUIS on masque surprise + preview derriere - Plus de frame flou visible entre surprise et photo Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1146,7 +1146,7 @@
|
||||
|
||||
<script src="/js/websocket.js?v=16"></script>
|
||||
<script src="/js/app.js?v=25"></script>
|
||||
<script src="/js/camera.js?v=25"></script>
|
||||
<script src="/js/camera.js?v=26"></script>
|
||||
<script src="/js/effects.js?v=4"></script>
|
||||
<script src="/js/gallery.js?v=5"></script>
|
||||
<script src="/js/share.js?v=10"></script>
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user