CodeIDE / src /zipExport.js
FrederickSundeep's picture
commit initial 09-12-2025 009
ac3107a
raw
history blame contribute delete
671 Bytes
// 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();
}