import { Button, Switch, Tag, Typography } from '@arco-design/web-react'; import { IconDelete, IconDragArrow, IconEdit, } from '@arco-design/web-react/icon'; import { useSortable } from '@dnd-kit/sortable'; import { CSS } from '@dnd-kit/utilities'; import type { Step } from '../../types'; interface StepWithEnabled extends Step { enabled: boolean; } interface PipelineStepItemProps { step: StepWithEnabled; index: number; pipelineId: number; onToggle: (pipelineId: number, stepId: number, enabled: boolean) => void; onEdit: (pipelineId: number, step: StepWithEnabled) => void; onDelete: (pipelineId: number, stepId: number) => void; } function PipelineStepItem({ step, index, pipelineId, onToggle, onEdit, onDelete, }: PipelineStepItemProps) { const { attributes, listeners, setNodeRef, transform, transition, isDragging, } = useSortable({ id: step.id }); const style = { transform: CSS.Transform.toString(transform), transition, opacity: isDragging ? 0.5 : 1, }; return (
{step.script}