Refactor node relationship handling in app.py and introduce new routes for thoughts association with nodes.

This commit is contained in:
2025-04-28 13:20:41 +02:00
parent 5399169b11
commit 65c44ab371
20 changed files with 181 additions and 152 deletions

View File

@@ -14,11 +14,12 @@
<meta name="keywords" content="systades, wissen, visualisierung, lernen, gedanken, theorie">
<meta name="author" content="Systades-Team">
<!-- Tailwind CSS - Beide Optionen verfügbar -->
<!-- Tailwind CSS - CDN für Entwicklung und Produktion (laut Vorgabe) -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Alternative lokale Version, falls die CDN-Version blockiert wird -->
<link href="{{ url_for('static', filename='css/tailwind.min.css') }}" rel="stylesheet">
<script>
tailwind = window.tailwind || {};
tailwind.config = {
darkMode: 'class',
theme: {
@@ -113,32 +114,33 @@
<!-- Custom dark mode styles -->
<style>
/* Dark mystical theme */
/* Dezenter Hintergrund für beide Modi */
.dark {
--bg-primary: #0a0e19;
--bg-secondary: #111827;
--bg-primary: #181c24;
--bg-secondary: #232837;
--text-primary: #f9fafb;
--text-secondary: #e5e7eb;
--accent-primary: #6d28d9;
--accent-secondary: #8b5cf6;
--glow-effect: 0 0 15px rgba(124, 58, 237, 0.5);
--glow-effect: 0 0 8px rgba(124, 58, 237, 0.15);
}
/* Light theme with mystical tones */
:root {
--bg-primary: #f8fafc;
--bg-secondary: #f1f5f9;
--text-primary: #1e293b;
--bg-primary: #f4f6fa;
--bg-secondary: #e9ecf3;
--text-primary: #232837;
--text-secondary: #475569;
--accent-primary: #7c3aed;
--accent-secondary: #8b5cf6;
--glow-effect: 0 0 15px rgba(139, 92, 246, 0.3);
--glow-effect: 0 0 8px rgba(139, 92, 246, 0.08);
}
body.dark {
background-color: var(--bg-primary);
color: var(--text-primary);
}
body {
background-color: var(--bg-primary);
color: var(--text-primary);
}
/* Mystical glowing effects */
.mystical-glow {
@@ -611,5 +613,38 @@
}
});
</script>
<!-- Dark/Light-Mode persistent und robust -->
<script>
(function() {
function applyMode(mode) {
if (mode === 'dark') {
document.documentElement.classList.add('dark');
localStorage.setItem('colorMode', 'dark');
} else {
document.documentElement.classList.remove('dark');
localStorage.setItem('colorMode', 'light');
}
}
// Beim Laden: Präferenz aus localStorage oder System übernehmen
const stored = localStorage.getItem('colorMode');
if (stored === 'dark' || stored === 'light') {
applyMode(stored);
} else {
// Systempräferenz als Fallback
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
applyMode(prefersDark ? 'dark' : 'light');
}
// Umschalter für alle Mode-Toggles
window.toggleColorMode = function() {
const isDark = document.documentElement.classList.contains('dark');
applyMode(isDark ? 'light' : 'dark');
};
// Optional: globales Event für andere Skripte
window.addEventListener('storage', function(e) {
if (e.key === 'colorMode') applyMode(e.newValue);
});
})();
</script>
</body>
</html>

View File

@@ -391,7 +391,7 @@
<div id="mindmap-canvas"></div>
<!-- Control Panel -->
<div class="control-panel p-4 w-64">
<div class="control-panel p-4 w-64" x-data="{ isExpanded: true }">
<div class="panel-toggle" @click="isExpanded = !isExpanded">
<i class="fa-solid" :class="isExpanded ? 'fa-chevron-left' : 'fa-chevron-right'"></i>
</div>