import React from 'react'; import { IRevisionHasId, pathUtils } from '@growi/core'; import { UserPicture } from '@growi/ui'; import { useTranslation } from 'next-i18next'; import Link from 'next/link'; import urljoin from 'url-join'; import UserDate from '../User/UserDate'; import { Username } from '../User/Username'; import styles from './Revision.module.scss'; type RevisionProps = { revision: IRevisionHasId, currentPageId: string, currentPagePath: string, isLatestRevision: boolean, hasDiff: boolean, onClose: () => void, } export const Revision = (props: RevisionProps): JSX.Element => { const { t } = useTranslation(); const { revision, currentPageId, currentPagePath, isLatestRevision, hasDiff, onClose, } = props; const { returnPathForURL } = pathUtils; const renderSimplifiedNodiff = (revision: IRevisionHasId) => { const author = revision.author; const pic = (typeof author === 'object') ? : <>; return (
{ pic }
{t('No diff')}
); }; const renderFull = (revision: IRevisionHasId) => { const author = revision.author; const pic = (typeof author === 'object') ? : <>; return (
{ pic }
{ isLatestRevision && Latest }

{t('Go to this version')}
); }; if (!hasDiff) { return renderSimplifiedNodiff(revision); } return renderFull(revision); };