From d0821db9835718495a8dbe717558a375098f0eeb Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Fri, 2 May 2025 19:18:49 +0200 Subject: [PATCH] =?UTF-8?q?chore:=20=C3=84nderungen=20commited?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/css/mindmap.css | 253 ++++++++++++++++++++++++++++++++++ templates/base.html | 3 + templates/create_mindmap.html | 49 +++++++ templates/edit_mindmap.html | 105 ++++++++++++++ 4 files changed, 410 insertions(+) create mode 100644 static/css/mindmap.css diff --git a/static/css/mindmap.css b/static/css/mindmap.css new file mode 100644 index 0000000..9fa9dcc --- /dev/null +++ b/static/css/mindmap.css @@ -0,0 +1,253 @@ +/* Mindmap Container Styles */ +.mindmap-container { + position: relative; + width: 100%; + height: 100%; + min-height: 600px; + background: var(--bg-primary); + border-radius: 12px; + overflow: hidden; +} + +/* Toolbar Styles */ +.mindmap-toolbar { + position: absolute; + top: 20px; + left: 50%; + transform: translateX(-50%); + display: flex; + gap: 8px; + padding: 8px; + background: var(--bg-secondary); + border-radius: 12px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + z-index: 1000; + transition: all 0.3s ease; +} + +.dark .mindmap-toolbar { + background: rgba(30, 41, 59, 0.8); + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); + border: 1px solid rgba(255, 255, 255, 0.1); +} + +/* Toolbar Buttons */ +.mindmap-toolbar button { + display: flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + border: none; + border-radius: 8px; + background: transparent; + color: var(--text-primary); + cursor: pointer; + transition: all 0.2s ease; +} + +.mindmap-toolbar button:hover { + background: var(--accent-primary); + color: white; + transform: translateY(-1px); +} + +.mindmap-toolbar button:active { + transform: translateY(0); +} + +.mindmap-toolbar button i { + font-size: 16px; +} + +/* Export Group Styles */ +.export-group { + position: relative; +} + +.export-options { + position: absolute; + top: 100%; + right: 0; + margin-top: 8px; + padding: 8px; + background: var(--bg-secondary); + border-radius: 8px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + display: none; + flex-direction: column; + gap: 4px; + min-width: 160px; +} + +.dark .export-options { + background: rgba(30, 41, 59, 0.9); + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); + border: 1px solid rgba(255, 255, 255, 0.1); +} + +.export-group:hover .export-options { + display: flex; +} + +.export-options button { + width: 100%; + height: auto; + padding: 8px 12px; + justify-content: flex-start; + font-size: 14px; + border-radius: 6px; +} + +/* Context Menu Styles */ +.mindmap-context-menu { + position: fixed; + background: var(--bg-secondary); + border-radius: 8px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + padding: 8px; + z-index: 1000; + min-width: 180px; +} + +.dark .mindmap-context-menu { + background: rgba(30, 41, 59, 0.9); + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); + border: 1px solid rgba(255, 255, 255, 0.1); +} + +.mindmap-context-menu button { + display: flex; + align-items: center; + width: 100%; + padding: 8px 12px; + border: none; + background: transparent; + color: var(--text-primary); + cursor: pointer; + font-size: 14px; + border-radius: 6px; + transition: all 0.2s ease; +} + +.mindmap-context-menu button:hover { + background: var(--accent-primary); + color: white; +} + +.mindmap-context-menu button i { + margin-right: 8px; + width: 16px; +} + +/* Node Styles */ +.mindmap-node { + background-color: var(--bg-secondary); + border: 2px solid var(--accent-primary); + border-radius: 8px; + padding: 8px 12px; + transition: all 0.3s ease; +} + +.mindmap-node:hover { + box-shadow: 0 0 0 2px var(--accent-primary); + transform: scale(1.05); +} + +.mindmap-node.selected { + border-color: var(--accent-secondary); + box-shadow: 0 0 0 3px var(--accent-secondary); +} + +/* Edge Styles */ +.mindmap-edge { + width: 2px; + transition: all 0.3s ease; +} + +.dark .mindmap-edge { + background-color: rgba(255, 255, 255, 0.2); +} + +.mindmap-edge:hover { + width: 3px; + background-color: var(--accent-primary); +} + +/* Animation Styles */ +@keyframes nodeAppear { + from { + opacity: 0; + transform: scale(0.8); + } + to { + opacity: 1; + transform: scale(1); + } +} + +.mindmap-node-new { + animation: nodeAppear 0.3s ease forwards; +} + +/* Responsive Styles */ +@media (max-width: 768px) { + .mindmap-toolbar { + flex-wrap: wrap; + width: calc(100% - 32px); + justify-content: center; + } + + .export-options { + left: 0; + right: auto; + } +} + +/* Loading State */ +.mindmap-loading { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: flex; + flex-direction: column; + align-items: center; + gap: 16px; +} + +.mindmap-loading-spinner { + width: 40px; + height: 40px; + border: 4px solid var(--bg-secondary); + border-top-color: var(--accent-primary); + border-radius: 50%; + animation: spin 1s linear infinite; +} + +@keyframes spin { + to { + transform: rotate(360deg); + } +} + +/* Tooltip Styles */ +.mindmap-tooltip { + position: absolute; + background: var(--bg-secondary); + padding: 8px 12px; + border-radius: 6px; + font-size: 12px; + pointer-events: none; + z-index: 1000; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + max-width: 200px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.dark .mindmap-tooltip { + background: rgba(30, 41, 59, 0.9); + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); +} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 83c5e83..2bb3639 100644 --- a/templates/base.html +++ b/templates/base.html @@ -100,6 +100,9 @@ + + + diff --git a/templates/create_mindmap.html b/templates/create_mindmap.html index 438c919..7cec568 100644 --- a/templates/create_mindmap.html +++ b/templates/create_mindmap.html @@ -261,6 +261,16 @@ + + +
+

Vorschau

+
+
+
+
+
@@ -286,6 +296,8 @@ {% endblock %} {% block extra_js %} + + {% endblock %} \ No newline at end of file diff --git a/templates/edit_mindmap.html b/templates/edit_mindmap.html index ac06fa0..4211224 100644 --- a/templates/edit_mindmap.html +++ b/templates/edit_mindmap.html @@ -263,6 +263,20 @@ + + +
+

Mindmap bearbeiten

+
+
+
+
+ +
+

Klicke auf Knoten zum Bearbeiten, ziehe sie zum Neuanordnen oder nutze die Toolbar für weitere Funktionen.

+
+
@@ -288,6 +302,8 @@ {% endblock %} {% block extra_js %} + + {% endblock %} \ No newline at end of file