UX partage : masquer Recommencer pendant impression/email, detail pellicule, reset copies

- Ecran partage : boutons bas masqués quand formulaire impression ou email ouvert
- "Terminer" remplacé par "Recommencer" (retour mode, pas accueil)
- Reset photoImpression/formatImpression/nbExemplaires dans recommencer()
- Bouton Pellicule affiche "N poses = 2 tirages" pour expliquer le strip dupliqué
- CSS .mode-detail pour sous-titre discret sur bouton mode
- Bump cache versions (style v18, app v27, share v11)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-20 20:32:42 +02:00
parent 4931a29d45
commit 61b9a72f10
4 changed files with 36 additions and 6 deletions

View File

@@ -147,6 +147,9 @@ function arreterTimeoutAdmin() {}
function recommencer() {
photosSession = [];
photoFinale = null;
photoImpression = null;
formatImpression = null;
nbExemplaires = 1;
allerA('mode');
}
@@ -281,6 +284,14 @@ function setupModes() {
allerA('capture');
});
});
majDetailPellicule();
}
function majDetailPellicule() {
const el = document.getElementById('pellicule-detail');
if (!el) return;
const nb = config.multi_shot?.nombre_photos || 4;
el.textContent = `${nb} poses = 2 tirages`;
}
async function chargerCadresChoix() {

View File

@@ -3,11 +3,17 @@
let nbExemplaires = 1;
let copiesMax = 2;
function _masquerBoutonsBas(masquer) {
const bas = document.querySelector('#ecran-partage .partage-bas');
if (bas) bas.style.display = masquer ? 'none' : '';
}
async function ouvrirImpression() {
copiesMax = config.impression?.copies_max || 2;
nbExemplaires = 1;
document.getElementById('nb-exemplaires').textContent = nbExemplaires;
cadreChoisi = null;
_masquerBoutonsBas(true);
if (modeActuel === 'multi') {
document.getElementById('form-impression').classList.remove('cache');
@@ -25,6 +31,7 @@ async function ouvrirImpression() {
function fermerImpression() {
document.getElementById('form-impression').classList.add('cache');
cadreChoisi = null;
_masquerBoutonsBas(false);
}
function confirmerCadreImpression() {
@@ -35,6 +42,7 @@ function confirmerCadreImpression() {
function annulerCadreImpression() {
document.getElementById('popup-cadre-impression').classList.add('cache');
cadreChoisi = null;
_masquerBoutonsBas(false);
}
async function chargerCadresChoixImpression() {
@@ -105,7 +113,8 @@ function changerExemplaires(delta) {
async function lancerImpression() {
if (!photoFinale) return;
fermerImpression();
document.getElementById('form-impression').classList.add('cache');
cadreChoisi = null;
const btnTerminer = document.getElementById('btn-terminer');
if (btnTerminer) { btnTerminer.disabled = true; btnTerminer.style.opacity = '0.4'; }
// Pour les strips, imprimer la version 2 bandes sur 10x15
@@ -118,6 +127,7 @@ async function lancerImpression() {
format_papier: formatImpression || undefined,
});
if (btnTerminer) { btnTerminer.disabled = false; btnTerminer.style.opacity = ''; }
_masquerBoutonsBas(false);
if (resultat.attente) {
afficherStatutEco('⏳', resultat.message || 'Votre photo sortira avec la suivante !', 'attente-eco');
} else if (resultat.jumeau && resultat.succes) {
@@ -134,12 +144,14 @@ async function lancerImpression() {
async function ouvrirEmail() {
document.getElementById('form-email').classList.remove('cache');
document.getElementById('input-email').value = '';
_masquerBoutonsBas(true);
await chargerSuggestionsEmail();
}
function fermerEmail() {
document.getElementById('form-email').classList.add('cache');
document.getElementById('input-email').value = '';
_masquerBoutonsBas(false);
}
async function chargerSuggestionsEmail() {