|
@@ -1,12 +1,16 @@
|
|
|
|
|
+/* eslint-disable react/no-danger */
|
|
|
import React from 'react';
|
|
import React from 'react';
|
|
|
import PropTypes from 'prop-types';
|
|
import PropTypes from 'prop-types';
|
|
|
|
|
|
|
|
import { createPatch } from 'diff';
|
|
import { createPatch } from 'diff';
|
|
|
import { html } from 'diff2html';
|
|
import { html } from 'diff2html';
|
|
|
|
|
+import { withTranslation } from 'react-i18next';
|
|
|
|
|
+import UserDate from '../User/UserDate';
|
|
|
|
|
|
|
|
-export default class RevisionDiff extends React.Component {
|
|
|
|
|
|
|
+class RevisionDiff extends React.Component {
|
|
|
|
|
|
|
|
render() {
|
|
render() {
|
|
|
|
|
+ const { t } = this.props;
|
|
|
const currentRevision = this.props.currentRevision;
|
|
const currentRevision = this.props.currentRevision;
|
|
|
const previousRevision = this.props.previousRevision;
|
|
const previousRevision = this.props.previousRevision;
|
|
|
const revisionDiffOpened = this.props.revisionDiffOpened;
|
|
const revisionDiffOpened = this.props.revisionDiffOpened;
|
|
@@ -38,14 +42,39 @@ export default class RevisionDiff extends React.Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const diffView = { __html: diffViewHTML };
|
|
const diffView = { __html: diffViewHTML };
|
|
|
- // eslint-disable-next-line react/no-danger
|
|
|
|
|
- return <div className="revision-history-diff" dangerouslySetInnerHTML={diffView} />;
|
|
|
|
|
|
|
+ return (
|
|
|
|
|
+ <>
|
|
|
|
|
+ <div className="comparison-header">
|
|
|
|
|
+ <div className="container pt-1 pr-0">
|
|
|
|
|
+ <div className="row">
|
|
|
|
|
+ <div className="col comparison-source-wrapper pt-1 px-0">
|
|
|
|
|
+ <span className="comparison-source pr-3">{t('page_history.comparing_source')}</span><UserDate dateTime={previousRevision.createdAt} />
|
|
|
|
|
+ <a href={`?revision=${previousRevision._id}`} className="ml-3">
|
|
|
|
|
+ <i className="icon-login"></i>
|
|
|
|
|
+ </a>
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className="col comparison-target-wrapper pt-1">
|
|
|
|
|
+ <span className="comparison-target pr-3">{t('page_history.comparing_target')}</span><UserDate dateTime={currentRevision.createdAt} />
|
|
|
|
|
+ <a href={`?revision=${currentRevision._id}`} className="ml-3">
|
|
|
|
|
+ <i className="icon-login"></i>
|
|
|
|
|
+ </a>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className="revision-history-diff" dangerouslySetInnerHTML={diffView} />
|
|
|
|
|
+ </>
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
RevisionDiff.propTypes = {
|
|
RevisionDiff.propTypes = {
|
|
|
|
|
+ t: PropTypes.func.isRequired,
|
|
|
currentRevision: PropTypes.object.isRequired,
|
|
currentRevision: PropTypes.object.isRequired,
|
|
|
previousRevision: PropTypes.object.isRequired,
|
|
previousRevision: PropTypes.object.isRequired,
|
|
|
revisionDiffOpened: PropTypes.bool.isRequired,
|
|
revisionDiffOpened: PropTypes.bool.isRequired,
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
|
|
+export default withTranslation()(RevisionDiff);
|