diff --git a/frontend/src/pages/WorkflowEditor.tsx b/frontend/src/pages/WorkflowEditor.tsx index 47d36f9..77d71a2 100644 --- a/frontend/src/pages/WorkflowEditor.tsx +++ b/frontend/src/pages/WorkflowEditor.tsx @@ -15,6 +15,7 @@ import { type NodeTypes, } from '@xyflow/react' import '@xyflow/react/dist/style.css' +import { useThemeStore, resolveTheme } from '../store/theme' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' import { getWorkflows, @@ -55,8 +56,8 @@ interface BaseNodeProps { function BaseNode({ label, icon, color, description, selected, hasSource = true, hasTarget = true }: BaseNodeProps) { return (
{hasTarget && ( @@ -236,12 +237,12 @@ function ConfigSidepanel({ onChange: (p: WorkflowParams) => void }) { return ( -
-

Node-Konfiguration

+
+

Node-Konfiguration

{/* Render Engine */}
- +
{(['cycles', 'eevee'] as const).map(eng => (
- + setName(e.target.value)} @@ -385,7 +386,7 @@ function NewWorkflowModal({ onClose, onCreate, isLoading }: NewWorkflowModalProp
- +
{([ { value: 'still', label: 'Still', desc: 'Einzelbild PNG' }, @@ -398,12 +399,12 @@ function NewWorkflowModal({ onClose, onCreate, isLoading }: NewWorkflowModalProp onClick={() => setType(opt.value)} className={`p-3 rounded-lg border-2 text-left transition-colors ${ type === opt.value - ? 'border-blue-500 bg-blue-50' - : 'border-gray-200 hover:border-gray-300' + ? 'border-accent bg-accent-light' + : 'border-border-default hover:border-border-light' }`} > -

{opt.label}

-

{opt.desc}

+

{opt.label}

+

{opt.desc}

))}
@@ -413,14 +414,14 @@ function NewWorkflowModal({ onClose, onCreate, isLoading }: NewWorkflowModalProp
@@ -520,11 +521,14 @@ function FlowCanvas({ workflow, onSave, isSaving }: FlowCanvasProps) { const selectedNode = nodes.find(n => n.id === selectedNodeId) + const { mode } = useThemeStore() + const isDark = resolveTheme(mode) === 'dark' + return (
{/* Canvas Toolbar */} -
- Nodes: +
+ Nodes: {NODE_PALETTE.map(item => (
{item.icon} {item.label} @@ -543,7 +547,7 @@ function FlowCanvas({ workflow, onSave, isSaving }: FlowCanvasProps) { @@ -695,12 +700,12 @@ export default function WorkflowEditor() { onClick={() => setSelectedId(wf.id)} className={`w-full text-left px-3 py-2.5 rounded-lg transition-colors group ${ selectedId === wf.id - ? 'bg-blue-50 border border-blue-200' - : 'hover:bg-gray-50 border border-transparent' + ? 'bg-accent-light border border-accent/30' + : 'hover:bg-surface-hover border border-transparent' }`} >
-

{wf.name}

+

{wf.name}

))} @@ -732,16 +737,16 @@ export default function WorkflowEditor() { {/* Main Canvas Area */}
{/* Header */} -
+
-

Workflow-Editor

+

Workflow-Editor

{selectedWorkflow && ( -

{selectedWorkflow.name}

+

{selectedWorkflow.name}

)}