feat(C3): add React Flow workflow editor
frontend/src/pages/WorkflowEditor.tsx: full React Flow editor with custom nodes (Input/Convert/Render/FFmpeg/Output), config sidepanel, node palette with drag-drop, new workflow dialog. frontend/src/api/workflows.ts: workflow CRUD API client. @xyflow/react added to package.json dependencies. Route /workflows + sidebar link for admin+pm. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,7 @@ import NewProductOrderPage from './pages/NewProductOrder'
|
||||
import NotificationsPage from './pages/Notifications'
|
||||
import PreferencesPage from './pages/Preferences'
|
||||
import TenantsPage from './pages/Tenants'
|
||||
import WorkflowEditorPage from './pages/WorkflowEditor'
|
||||
|
||||
function ProtectedRoute({ children }: { children: React.ReactNode }) {
|
||||
const token = useAuthStore((s) => s.token)
|
||||
@@ -66,6 +67,14 @@ export default function App() {
|
||||
</AdminRoute>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="workflows"
|
||||
element={
|
||||
<AdminRoute>
|
||||
<WorkflowEditorPage />
|
||||
</AdminRoute>
|
||||
}
|
||||
/>
|
||||
<Route path="materials" element={<MaterialsPage />} />
|
||||
<Route path="activity" element={<WorkerActivityPage />} />
|
||||
<Route path="products" element={<ProductLibraryPage />} />
|
||||
|
||||
Reference in New Issue
Block a user