restore-confirm-modal.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import React, { type FC } from 'react'
  2. import Modal from '@/app/components/base/modal'
  3. import type { VersionHistory } from '@/types/workflow'
  4. import { useTranslation } from 'react-i18next'
  5. import Button from '@/app/components/base/button'
  6. type RestoreConfirmModalProps = {
  7. isOpen: boolean
  8. versionInfo: VersionHistory
  9. onClose: () => void
  10. onRestore: (item: VersionHistory) => void
  11. }
  12. const RestoreConfirmModal: FC<RestoreConfirmModalProps> = ({
  13. isOpen,
  14. versionInfo,
  15. onClose,
  16. onRestore,
  17. }) => {
  18. const { t } = useTranslation()
  19. return <Modal className='p-0' isShow={isOpen} onClose={onClose}>
  20. <div className='flex flex-col gap-y-2 p-6 pb-4 '>
  21. <div className='text-text-primary title-2xl-semi-bold'>
  22. {`${t('workflow.common.restore')} ${versionInfo.marked_name || t('workflow.versionHistory.defaultName')}`}
  23. </div>
  24. <p className='text-text-secondary system-md-regular'>
  25. {t('workflow.versionHistory.restorationTip')}
  26. </p>
  27. </div>
  28. <div className='flex items-center justify-end gap-x-2 p-6'>
  29. <Button onClick={onClose}>
  30. {t('common.operation.cancel')}
  31. </Button>
  32. <Button variant='primary' onClick={onRestore.bind(null, versionInfo)}>
  33. {t('workflow.common.restore')}
  34. </Button>
  35. </div>
  36. </Modal>
  37. }
  38. export default RestoreConfirmModal