diff --git a/admin-panel/src/views/OrganizationEditor.tsx b/admin-panel/src/views/OrganizationEditor.tsx index b3af480..8c45da6 100644 --- a/admin-panel/src/views/OrganizationEditor.tsx +++ b/admin-panel/src/views/OrganizationEditor.tsx @@ -18,7 +18,7 @@ import { api } from '../services/api' import { OrganizationalUnit, OrganizationalUnitType } from '@skillmate/shared' import { Upload } from 'lucide-react' -// Custom Node Component +// Custom Node Component (vorheriger Look, aber mit soliden dezenten Farben) const OrganizationNode = ({ data }: { data: any }) => { const getTypeIcon = (type: OrganizationalUnitType) => { const icons = { @@ -34,38 +34,45 @@ const OrganizationNode = ({ data }: { data: any }) => { return icons[type] || '📄' } - const getGradient = (level: number) => { - const gradients = [ - 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', - 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)', - 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)', - 'linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)', - 'linear-gradient(135deg, #fa709a 0%, #fee140 100%)', - 'linear-gradient(135deg, #30cfd0 0%, #330867 100%)' - ] - return gradients[level % gradients.length] + const getAccent = (type: OrganizationalUnitType): string => { + switch (type) { + case 'direktion': return '#1E3A8A' // navy + case 'abteilung': return '#334155' // slate-700 + case 'dezernat': return '#1D4ED8' // blue-700 + case 'sachgebiet': return '#64748B' // slate-500 + case 'teildezernat': return '#64748B' // slate-500 + case 'stabsstelle': return '#374151' // gray-700 + case 'sondereinheit': return '#475569' // slate-600 + default: return '#334155' + } } return ( -
+
👥 {data.employeeCount} Mitarbeiter
)} {data.hasFuehrungsstelle && ( - + FüSt )} @@ -562,8 +569,17 @@ export default function OrganizationEditor() {