| | |
| | | import { memo } from 'react' |
| | | import { useTranslation } from 'react-i18next' |
| | | import { useFormatTimeFromNow } from '../hooks' |
| | | import { useWorkflow } from '../hooks' |
| | | import { useStore } from '@/app/components/workflow/store' |
| | | import useTimestamp from '@/hooks/use-timestamp' |
| | | |
| | | const EditingTitle = () => { |
| | | const { t } = useTranslation() |
| | | const { formatTime } = useTimestamp() |
| | | const { formatTimeFromNow } = useFormatTimeFromNow() |
| | | const { formatTimeFromNow } = useWorkflow() |
| | | const draftUpdatedAt = useStore(state => state.draftUpdatedAt) |
| | | const publishedAt = useStore(state => state.publishedAt) |
| | | const isSyncingWorkflowDraft = useStore(s => s.isSyncingWorkflowDraft) |
| | | |
| | | return ( |
| | | <div className='system-xs-regular flex h-[18px] items-center text-text-tertiary'> |
| | | <div className='flex items-center h-[18px] system-xs-regular text-text-tertiary'> |
| | | { |
| | | !!draftUpdatedAt && ( |
| | | <> |
| | |
| | | </> |
| | | ) |
| | | } |
| | | <span className='mx-1 flex items-center'>·</span> |
| | | <span className='flex items-center mx-1'>·</span> |
| | | { |
| | | publishedAt |
| | | ? `${t('workflow.common.published')} ${formatTimeFromNow(publishedAt)}` |
| | |
| | | { |
| | | isSyncingWorkflowDraft && ( |
| | | <> |
| | | <span className='mx-1 flex items-center'>·</span> |
| | | <span className='flex items-center mx-1'>·</span> |
| | | {t('workflow.common.syncingData')} |
| | | </> |
| | | ) |