// zipExport.js import JSZip from "jszip"; import { loadTree } from "./fileStore"; export async function downloadProjectZip() { const tree = loadTree(); const zip = new JSZip(); function addToZip(node, folder) { if (node.type === "file") { folder.file(node.name, node.content || ""); } else if (node.type === "folder") { const newFolder = folder.folder(node.name); node.children?.forEach((c) => addToZip(c, newFolder)); } } addToZip(tree, zip); const blob = await zip.generateAsync({ type: "blob" }); const a = document.createElement("a"); a.href = URL.createObjectURL(blob); a.download = "project.zip"; a.click(); }