Impression : affiche photos restantes sur le rouleau avant validation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 10:55:36 +02:00
parent 6d58fe5d57
commit d845c2606e
3 changed files with 27 additions and 2 deletions

View File

@@ -2,18 +2,31 @@
let nbExemplaires = 1;
let copiesMax = 2;
let _restantActuel = null;
function _masquerBoutonsBas(masquer) {
const bas = document.querySelector('#ecran-partage .partage-bas');
if (bas) bas.style.display = masquer ? 'none' : '';
}
async function _majRestantImpression() {
const el = document.getElementById('impression-restant');
if (!el) return;
try {
const etat = await apiGet('/api/compteur');
_restantActuel = etat.restantes;
const apres = Math.max(0, _restantActuel - nbExemplaires);
el.textContent = `${apres} photo(s) restante(s) sur le rouleau`;
} catch (e) { el.textContent = ''; }
}
async function ouvrirImpression() {
copiesMax = config.impression?.copies_max || 2;
nbExemplaires = 1;
document.getElementById('nb-exemplaires').textContent = nbExemplaires;
cadreChoisi = null;
_masquerBoutonsBas(true);
_majRestantImpression();
if (modeActuel === 'multi') {
document.getElementById('form-impression').classList.remove('cache');
@@ -109,6 +122,10 @@ async function chargerCadresChoixImpression() {
function changerExemplaires(delta) {
nbExemplaires = Math.max(1, Math.min(copiesMax, nbExemplaires + delta));
document.getElementById('nb-exemplaires').textContent = nbExemplaires;
if (_restantActuel !== null) {
const apres = Math.max(0, _restantActuel - nbExemplaires);
document.getElementById('impression-restant').textContent = `${apres} photo(s) restante(s) sur le rouleau`;
}
}
async function lancerImpression() {