// imports import Link from 'next/link'; import React from 'react'; import moment from 'moment'; import { IconArrowCircleRight } from '@chirper/react/src/icons'; // locals import Button from '../../../Button'; import ApiSignal from '../../../../signals/Api'; import { useSignal } from '../../../../signal'; /** * component workflow * * @param props * @returns */ const ComponentWorkflowFrameListItem = (props = {}) => { // signals const [api] = useSignal(ApiSignal); // return jsx return (

{props.item.workflow?.name}

{api.translate('workflow:node.execution', `Execution #${props.item?.id}`, props.item)} {' '} · {' '} {props.item.endedAt ? ( api.translate(`node:state.${props.item.state || 'executing'}`, props.item.state, { date : moment(props.item.endedAt).fromNow(), duration : moment.duration(moment(props.item.endedAt).diff(moment(props.item.createdAt))).humanize(), }) ) : ( api.translate('node:state.executing', 'Executing', { date : moment(props.item.createdAt).fromNow(), }) )} {' '} · {' '} {api.translate('workflow:node.nodes', `${props.item?.stats?.nodes || props.item?.path?.length || 0} nodes`, { count : (props.item?.stats?.nodes || props.item?.path?.length || 0).toLocaleString(), })}