import { memo, useMemo } from 'react' import { useTranslation } from 'react-i18next' import { useFormatTimeFromNow } from '@/hooks/use-format-time-from-now' import useTimestamp from '@/hooks/use-timestamp' import { useStore } from '../store' import { WorkflowVersion } from '../types' const RestoringTitle = () => { const { t } = useTranslation() const { formatTimeFromNow } = useFormatTimeFromNow() const { formatTime } = useTimestamp() const currentVersion = useStore((state) => state.currentVersion) const isDraft = currentVersion?.version === WorkflowVersion.Draft const publishStatus = isDraft ? t(($) => $['common.unpublished'], { ns: 'workflow' }) : t(($) => $['common.published'], { ns: 'workflow' }) const versionName = useMemo(() => { if (isDraft) return t(($) => $['versionHistory.currentDraft'], { ns: 'workflow' }) return ( currentVersion?.marked_name || t(($) => $['versionHistory.defaultName'], { ns: 'workflow' }) ) }, [currentVersion, t, isDraft]) return (
{versionName} {t(($) => $['common.viewOnly'], { ns: 'workflow' })}
{currentVersion && ( <> {publishStatus} · {`${formatTimeFromNow((isDraft ? currentVersion.updated_at : currentVersion.created_at) * 1000)} ${formatTime(currentVersion.created_at, 'HH:mm:ss')}`} · {currentVersion?.created_by?.name || ''} )}
) } export default memo(RestoringTitle)