Files
C_Ma_For 86d9b351b1 feat: ZIP import, rotation, feather slider, lightbox + config déploiement
- Import ZIP produits (HEIC/JPG/PNG, structure dossiers conservée)
- Rotation des images ±90° avec aperçu CSS et export canvas
- Slider récupération des bords (feather 0–5 px)
- Lightbox plein écran (clic miniature, Échap, fond noir)
- Fix timeout HEIC 30s → 120s
- Fix MIME type blobs JSZip pour heic2any
- Dockerfile nginx:alpine + docker-compose.yml pour déploiement

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 11:18:18 +02:00

25 lines
869 B
JavaScript

/**
* Compresse les fichiers en ZIP et déclenche le téléchargement.
* Si un fichier possède un `folder`, il est placé dans le sous-dossier correspondant.
* @param {{ name: string, blob: Blob, folder?: string }[]} processedFiles
* @returns {Promise<void>}
*/
export async function downloadAllAsZip(processedFiles) {
const zip = new JSZip();
for (const { name, blob, folder } of processedFiles) {
const path = folder ? `${folder}/${name}` : name;
zip.file(path, blob);
}
const zipBlob = await zip.generateAsync({ type: 'blob' });
const url = URL.createObjectURL(zipBlob);
const a = document.createElement('a');
a.href = url;
a.download = `photos-produits-${new Date().toISOString().slice(0, 10)}.zip`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
setTimeout(() => URL.revokeObjectURL(url), 10_000);
}