retry-result-panel.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use client'
  2. import type { FC } from 'react'
  3. import { memo } from 'react'
  4. import { useTranslation } from 'react-i18next'
  5. import {
  6. RiArrowLeftLine,
  7. } from '@remixicon/react'
  8. import TracingPanel from './tracing-panel'
  9. import type { NodeTracing } from '@/types/workflow'
  10. type Props = {
  11. list: NodeTracing[]
  12. onBack: () => void
  13. }
  14. const RetryResultPanel: FC<Props> = ({
  15. list,
  16. onBack,
  17. }) => {
  18. const { t } = useTranslation()
  19. return (
  20. <div>
  21. <div
  22. className='flex items-center px-4 h-8 text-text-accent-secondary bg-components-panel-bg system-sm-medium cursor-pointer'
  23. onClick={(e) => {
  24. e.stopPropagation()
  25. e.nativeEvent.stopImmediatePropagation()
  26. onBack()
  27. }}
  28. >
  29. <RiArrowLeftLine className='mr-1 w-4 h-4' />
  30. {t('workflow.singleRun.back')}
  31. </div>
  32. <TracingPanel
  33. list={list.map((item, index) => ({
  34. ...item,
  35. title: `${t('workflow.nodes.common.retry.retry')} ${index + 1}`,
  36. }))}
  37. className='bg-background-section-burn'
  38. />
  39. </div >
  40. )
  41. }
  42. export default memo(RetryResultPanel)