editing-title.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { memo } from 'react'
  2. import dayjs from 'dayjs'
  3. import { useTranslation } from 'react-i18next'
  4. import { useWorkflow } from '../hooks'
  5. import { Edit03 } from '@/app/components/base/icons/src/vender/solid/general'
  6. import { useStore } from '@/app/components/workflow/store'
  7. const EditingTitle = () => {
  8. const { t } = useTranslation()
  9. const { formatTimeFromNow } = useWorkflow()
  10. const draftUpdatedAt = useStore(state => state.draftUpdatedAt)
  11. const publishedAt = useStore(state => state.publishedAt)
  12. return (
  13. <div className='flex items-center h-[18px] text-xs text-gray-500'>
  14. <Edit03 className='mr-1 w-3 h-3 text-gray-400' />
  15. {t('workflow.common.editing')}
  16. {
  17. !!draftUpdatedAt && (
  18. <>
  19. <span className='flex items-center mx-1'>·</span>
  20. {t('workflow.common.autoSaved')} {dayjs(draftUpdatedAt).format('HH:mm:ss')}
  21. </>
  22. )
  23. }
  24. <span className='flex items-center mx-1'>·</span>
  25. {
  26. publishedAt
  27. ? `${t('workflow.common.published')} ${formatTimeFromNow(publishedAt)}`
  28. : t('workflow.common.unpublished')
  29. }
  30. </div>
  31. )
  32. }
  33. export default memo(EditingTitle)