From d7b63cbfd5b8e971e903aa34429f445719a1f50d Mon Sep 17 00:00:00 2001 From: Emir Karabeg Date: Fri, 31 Jan 2025 11:23:39 -0800 Subject: [PATCH] Fixed delete workflow --- app/w/components/control-bar/control-bar.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/w/components/control-bar/control-bar.tsx b/app/w/components/control-bar/control-bar.tsx index e5b4bfa703..0d6d1fdb60 100644 --- a/app/w/components/control-bar/control-bar.tsx +++ b/app/w/components/control-bar/control-bar.tsx @@ -39,7 +39,8 @@ export function ControlBar() { const { history, undo, redo, revertToHistoryState } = useWorkflowStore() const [isEditing, setIsEditing] = useState(false) const [editedName, setEditedName] = useState('') - const { workflows, updateWorkflow, activeWorkflowId } = useWorkflowRegistry() + const { workflows, updateWorkflow, activeWorkflowId, removeWorkflow } = + useWorkflowRegistry() const [, forceUpdate] = useState({}) const { isExecuting, handleRunWorkflow } = useWorkflowExecution() const router = useRouter() @@ -57,17 +58,23 @@ export function ControlBar() { const handleDeleteWorkflow = () => { if (!activeWorkflowId) return + + // Remove the workflow from the registry const newWorkflows = { ...workflows } delete newWorkflows[activeWorkflowId] + + // Get remaining workflow IDs const remainingIds = Object.keys(newWorkflows) - updateWorkflow(activeWorkflowId, { name: editedName.trim() }) - + // Navigate before removing the workflow to avoid any state inconsistencies if (remainingIds.length > 0) { router.push(`/w/${remainingIds[0]}`) } else { router.push('/') } + + // Remove the workflow from the registry + removeWorkflow(activeWorkflowId) } // Update the time display every minute