Fix: Modell-Ordner wird nicht mehr leer angelegt beim Bearbeiten
This commit is contained in:
@@ -147,13 +147,15 @@ export default function Kalkulator3D({ toast, editData, onEditDone, mobile, setA
|
||||
const modelFileRef = useRef(null);
|
||||
const sv = (k, v) => setVars(p => ({ ...p, [k]: v }));
|
||||
|
||||
// Im Bearbeitungsmodus: existierende Dateien laden
|
||||
// Im Bearbeitungsmodus: existierende Dateien laden (ohne Ordner zu erstellen)
|
||||
useEffect(() => {
|
||||
if (!editData?.id || !editData?.name) return;
|
||||
(async () => {
|
||||
try {
|
||||
const base = await api('/tools/dateien/ensure-folder', { body: { name: '3D-Modelle' } });
|
||||
const sub = await api('/tools/dateien/ensure-folder', { body: { name: editData.name.trim(), parent_id: base.id } });
|
||||
const base = await api(`/tools/dateien/find-folder?name=3D-Modelle`);
|
||||
if (!base) return; // Basisordner existiert noch nicht → keine Dateien
|
||||
const sub = await api(`/tools/dateien/find-folder?name=${encodeURIComponent(editData.name.trim())}&parent_id=${base.id}`);
|
||||
if (!sub) return; // Unterordner existiert nicht → keine Dateien
|
||||
setModelFolderId(sub.id);
|
||||
const data = await api(`/tools/dateien?folder_id=${sub.id}`);
|
||||
setExistingFiles(data.own || []);
|
||||
@@ -201,9 +203,17 @@ export default function Kalkulator3D({ toast, editData, onEditDone, mobile, setA
|
||||
if (editData?.id) {
|
||||
await api(`/tools/kalkulator3d/${editData.id}`, { method:'PUT', body:payload });
|
||||
// Neue Dateien hochladen falls vorhanden
|
||||
if (modelFiles.length > 0 && modelFolderId) {
|
||||
if (modelFiles.length > 0) {
|
||||
let folderId = modelFolderId;
|
||||
if (!folderId) {
|
||||
// Ordner erst jetzt anlegen wenn wirklich Dateien da sind
|
||||
const base = await api('/tools/dateien/ensure-folder', { body: { name: '3D-Modelle' } });
|
||||
const sub = await api('/tools/dateien/ensure-folder', { body: { name: editData.name.trim(), parent_id: base.id } });
|
||||
folderId = sub.id;
|
||||
setModelFolderId(folderId);
|
||||
}
|
||||
const form = new FormData();
|
||||
form.append('folder_id', modelFolderId);
|
||||
form.append('folder_id', folderId);
|
||||
for (const f of modelFiles) form.append('files', f);
|
||||
await fetch('/api/tools/dateien/upload-3d', {
|
||||
method:'POST',
|
||||
@@ -211,8 +221,7 @@ export default function Kalkulator3D({ toast, editData, onEditDone, mobile, setA
|
||||
body: form,
|
||||
});
|
||||
setModelFiles([]);
|
||||
// Dateien neu laden
|
||||
const data = await api(`/tools/dateien?folder_id=${modelFolderId}`);
|
||||
const data = await api(`/tools/dateien?folder_id=${folderId}`);
|
||||
setExistingFiles(data.own || []);
|
||||
}
|
||||
toast('Aktualisiert ✓'); onEditDone?.();
|
||||
|
||||
Reference in New Issue
Block a user