Upload via GUI (143 Dateien)

This commit is contained in:
2026-10-04 18:46:00 +00:00
parent 7e1fb616aa
commit 6a0e92eb0f
17 changed files with 2786 additions and 1686 deletions
+16 -3
View File
@@ -154,14 +154,27 @@ function scan(inputPath) {
return { ok: true, instancesDir, count: list.length, instances: list };
}
function kopierNamen(sourceDir) {
return fs.readdirSync(sourceDir).filter((name) => !META_FILES.includes(name));
}
function copyInto(sourceDir, targetDir) {
fs.mkdirSync(targetDir, { recursive: true });
for (const name of fs.readdirSync(sourceDir)) {
if (META_FILES.includes(name)) continue;
for (const name of kopierNamen(sourceDir)) {
fs.cpSync(path.join(sourceDir, name), path.join(targetDir, name), { recursive: true });
}
}
/*
* Was beim Übernehmen kopiert wird: [{ von, name }] – `name` ist der Zielname
* im Spielordner der neuen Instanz. Das Kopieren selbst erledigt kopieren.js
* asynchron mit Fortschritt (main.js → fuehreImportAus).
*/
function kopierQuellen(entry) {
if (!entry.gameDir || !fs.existsSync(entry.gameDir)) return [];
return kopierNamen(entry.gameDir).map((name) => ({ von: path.join(entry.gameDir, name), name }));
}
function importOne(store, entry, copyData = true) {
const created = store.createOrReplaceImportedInstance({
name: entry.name,
@@ -193,4 +206,4 @@ function importOne(store, entry, copyData = true) {
return { id: created.id, name: created.name, copied };
}
module.exports = { scan, importOne, resolveInstancesDir };
module.exports = { scan, importOne, kopierQuellen, resolveInstancesDir };