🎉 feat: "Add Minducture mindmap CSS and JS template integration"

This commit is contained in:
2025-05-14 13:51:16 +02:00
parent 35b5f321d4
commit e6784b712d
3 changed files with 507 additions and 443 deletions

165
static/css/src/mindmap.css Normal file
View File

@@ -0,0 +1,165 @@
/**
* Mindmap Hauptkomponenten Styling
*/
/* Toast-Container und Benachrichtigungen */
#toast-container {
position: fixed;
top: 1rem;
right: 1rem;
z-index: 9999;
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 350px;
}
.toast-message {
transition: all 0.3s ease;
overflow: hidden;
}
.toast-message.translate-x-full {
transform: translateX(100%);
}
/* Flash-Nachrichten */
.flash-message {
position: fixed;
top: 1rem;
left: 50%;
transform: translateX(-50%) translateY(-100%);
padding: 0.75rem 1.5rem;
border-radius: 0.5rem;
background-color: rgba(30, 41, 59, 0.95);
color: white;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
z-index: 9999;
transition: all 0.3s ease;
}
.flash-message.visible {
transform: translateX(-50%) translateY(0);
}
.flash-message.info {
background-color: rgba(59, 130, 246, 0.95);
}
.flash-message.success {
background-color: rgba(16, 185, 129, 0.95);
}
.flash-message.warning {
background-color: rgba(245, 158, 11, 0.95);
}
.flash-message.error {
background-color: rgba(239, 68, 68, 0.95);
}
/* Zoom-Steuerungen */
.control-panel {
position: absolute;
right: 2rem;
top: 50%;
transform: translateY(-50%);
background: rgba(15, 23, 42, 0.9);
border-radius: 1rem;
padding: 1.5rem;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
z-index: 10;
border: 1px solid rgba(255, 255, 255, 0.1);
backdrop-filter: blur(8px);
}
.control-button {
display: flex;
align-items: center;
padding: 0.75rem 1rem;
margin: 0.5rem 0;
background: rgba(255, 255, 255, 0.1);
border: none;
border-radius: 0.5rem;
color: #fff;
cursor: pointer;
transition: all 0.3s ease;
}
.control-button:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateX(-5px);
}
.control-button i {
margin-right: 0.75rem;
}
/* Info-Panel */
.info-panel {
position: absolute;
left: 2rem;
top: 50%;
transform: translateY(-50%) translateX(-20px);
opacity: 0;
background: rgba(15, 23, 42, 0.9);
border-radius: 1rem;
padding: 1.5rem;
width: 300px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
z-index: 10;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
backdrop-filter: blur(8px);
}
.info-panel.visible {
opacity: 1;
transform: translateY(-50%) translateX(0);
}
.info-title {
font-size: 1.25rem;
font-weight: 600;
color: #fff;
margin-bottom: 1rem;
padding-bottom: 0.5rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.info-content {
color: rgba(255, 255, 255, 0.8);
font-size: 0.95rem;
line-height: 1.6;
}
/* Kategorie-Legende */
.category-legend {
position: absolute;
bottom: 2rem;
left: 50%;
transform: translateX(-50%);
background: rgba(15, 23, 42, 0.9);
border-radius: 1rem;
padding: 1rem 2rem;
display: flex;
gap: 1.5rem;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
z-index: 10;
border: 1px solid rgba(255, 255, 255, 0.1);
backdrop-filter: blur(8px);
}
.category-item {
display: flex;
align-items: center;
color: rgba(255, 255, 255, 0.8);
font-size: 0.9rem;
}
.category-color {
width: 12px;
height: 12px;
border-radius: 50%;
margin-right: 0.5rem;
}