Checkpoint: V1.26 - Feuille de présence : un PDF par jour (A4 portrait, colonnes sig. matin + après-midi sur même ligne, zone signature formateur). Correction des bugs d'upload attestations et de plantage PDF.
This commit is contained in:
@@ -132,17 +132,24 @@ export default function AdminSequenceInscrits() {
|
||||
});
|
||||
|
||||
const exportFeuilleMutation = trpc.inscriptions.exportFeuillePresence.useMutation({
|
||||
onSuccess: (result) => {
|
||||
const blob = new Blob([Uint8Array.from(atob(result.buffer), c => c.charCodeAt(0))], {
|
||||
type: 'application/pdf'
|
||||
onSuccess: (results) => {
|
||||
// Télécharger chaque PDF avec un petit décalage pour éviter les blocages navigateur
|
||||
results.forEach(({ buffer, filename }, index) => {
|
||||
setTimeout(() => {
|
||||
const blob = new Blob([Uint8Array.from(atob(buffer), c => c.charCodeAt(0))], {
|
||||
type: 'application/pdf'
|
||||
});
|
||||
const url = window.URL.createObjectURL(blob);
|
||||
const a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.download = filename;
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
window.URL.revokeObjectURL(url);
|
||||
}, index * 500); // 500ms de décalage entre chaque téléchargement
|
||||
});
|
||||
const url = window.URL.createObjectURL(blob);
|
||||
const a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.download = result.filename;
|
||||
a.click();
|
||||
window.URL.revokeObjectURL(url);
|
||||
toast.success("Feuille de présence téléchargée");
|
||||
toast.success(`${results.length} feuille(s) de présence téléchargée(s) (une par jour)`);
|
||||
},
|
||||
onError: (error) => {
|
||||
toast.error("Erreur lors de l'export : " + error.message);
|
||||
|
||||
Reference in New Issue
Block a user