✨ feat: update app logic and improve mindmap functionality
This commit is contained in:
@@ -804,24 +804,30 @@ function createFlashContainer() {
|
||||
async function loadMindmapData(nodeId = null) {
|
||||
try {
|
||||
let url;
|
||||
// Wir müssen zwischen numerischen IDs und String-IDs unterscheiden
|
||||
if (nodeId === null || nodeId === undefined) {
|
||||
// Wenn keine ID angegeben ist, verwende 'root'
|
||||
// Wir verwenden die generische Route für alle Anfragen
|
||||
if (nodeId === null || nodeId === undefined || nodeId === 'root') {
|
||||
url = '/api/mindmap/root';
|
||||
} else if (isNaN(parseInt(nodeId))) {
|
||||
// Für String-IDs wie 'root', 'technology', 'arts' - direkte Route
|
||||
url = `/api/mindmap/${nodeId}`;
|
||||
} else {
|
||||
// Für numerische IDs - neue Route mit /id/ Präfix
|
||||
url = `/api/mindmap/id/${nodeId}`;
|
||||
// Für spezielle Kategorien wie 'philosophy', 'science' etc.
|
||||
// verwenden wir die generische Route mit der Kategorie-ID
|
||||
url = `/api/mindmap/${nodeId}`;
|
||||
}
|
||||
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) throw new Error('Fehler beim Laden der Mindmap-Daten');
|
||||
return await response.json();
|
||||
if (!response.ok) {
|
||||
const errorData = await response.json().catch(() => ({ error: 'Unbekannter Fehler' }));
|
||||
throw new Error(errorData.error || `HTTP-Fehler ${response.status}: ${response.statusText}`);
|
||||
}
|
||||
|
||||
const data = await response.json();
|
||||
if (!data.success) {
|
||||
throw new Error(data.error || 'Fehler beim Laden der Mindmap-Daten');
|
||||
}
|
||||
|
||||
return data;
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der Mindmap-Daten:', error);
|
||||
showFlash('Fehler beim Laden der Mindmap-Daten', 'error');
|
||||
showFlash(error.message || 'Fehler beim Laden der Mindmap-Daten', 'error');
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user