import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area";
import End from "@/components/workflow/End";
import NodeRender from "@/components/workflow/NodeRender";
import WorkflowProvider from "@/components/workflow/WorkflowProvider";
import { WorkflowNode } from "@/domain/workflow";
import { useWorkflowStore, WorkflowState } from "@/providers/workflow";
import { useMemo } from "react";
import { useShallow } from "zustand/shallow";
const selectState = (state: WorkflowState) => ({
root: state.root,
});
const Workflow = () => {
// 3. 使用正确的选择器和 shallow 比较
const { root } = useWorkflowStore(useShallow(selectState));
const elements = useMemo(() => {
let current = root;
const elements: JSX.Element[] = [];
while (current) {
// 处理普通节点
elements.push();
current = current.next as WorkflowNode;
}
elements.push();
return elements;
}, [root]);
return (
<>
{elements}
>
);
};
export default Workflow;