/* Module partage - Impression, email, QR code */ let nbExemplaires = 1; let copiesMax = 5; function ouvrirImpression() { copiesMax = config.impression?.copies_max || 5; nbExemplaires = 1; document.getElementById('nb-exemplaires').textContent = nbExemplaires; document.getElementById('form-impression').classList.remove('cache'); } function fermerImpression() { document.getElementById('form-impression').classList.add('cache'); } function changerExemplaires(delta) { nbExemplaires = Math.max(1, Math.min(copiesMax, nbExemplaires + delta)); document.getElementById('nb-exemplaires').textContent = nbExemplaires; } async function lancerImpression() { if (!photoFinale) return; fermerImpression(); // Pour les strips, imprimer la version 2 bandes sur 10x15 const fichierImpression = photoImpression || photoFinale; afficherStatut(`Impression de ${nbExemplaires} exemplaire(s)...`, 'succes'); const resultat = await apiPost('/api/imprimer', { photo: fichierImpression, copies: nbExemplaires }); if (resultat.succes) { afficherStatut(`${nbExemplaires} exemplaire(s) envoye(s) a l'imprimante !`, 'succes'); } else { afficherStatut('Erreur d\'impression', 'erreur'); } } function ouvrirEmail() { document.getElementById('form-email').classList.remove('cache'); document.getElementById('input-email').focus(); } function fermerEmail() { document.getElementById('form-email').classList.add('cache'); document.getElementById('input-email').value = ''; } async function envoyerEmail() { const email = document.getElementById('input-email').value.trim(); if (!email || !photoFinale) return; afficherStatut('Envoi en cours...', 'succes'); const resultat = await apiPost('/api/email', { email, photo: photoFinale }); if (resultat.succes) { afficherStatut('Email envoye !', 'succes'); fermerEmail(); } else { afficherStatut('Erreur d\'envoi email', 'erreur'); } } async function afficherQR() { const zone = document.getElementById('zone-qr'); zone.classList.toggle('cache'); if (!zone.classList.contains('cache')) { const resultat = await apiGet('/api/qr/galerie'); if (resultat.chemin) { document.getElementById('img-qr').src = resultat.chemin; } else { afficherStatut('QR Code non configure', 'erreur'); zone.classList.add('cache'); } } }