@git-temporal/git-temporal-react
Version:
<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
42 lines (41 loc) • 2.48 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const react_redux_1 = require("react-redux");
const styles_1 = require("app/styles");
const actions_1 = require("app/actions");
const stateVars_1 = require("app/selectors/stateVars");
const files_1 = require("app/selectors/files");
const DifferenceViewerHeader_1 = require("app/containers/DifferenceViewerHeader");
const SpinnerContainer_1 = require("app/components/SpinnerContainer");
const DirectoryDifferences_1 = require("app/components/DirectoryDifferences");
const FileDifferences_1 = require("app/components/FileDifferences");
const outerStyle = {
_extends: ['altPanel', 'flexColumn', 'flexGrow'],
position: 'relative',
overflow: 'hidden',
};
const innerStyle = {
_extends: ['flexColumn', 'flexGrow'],
overflow: 'hidden',
background: '@colors.background',
color: '@colors.text',
};
exports.DifferenceViewer = () => {
const selectedPath = react_redux_1.useSelector(stateVars_1.getSelectedPath);
const diff = react_redux_1.useSelector(stateVars_1.getDiff);
const isDiffFetching = react_redux_1.useSelector(stateVars_1.getIsDiffFetching);
const rerenderRequestedAt = react_redux_1.useSelector(stateVars_1.getRerenderRequestedAt);
const dirDiff = react_redux_1.useSelector(files_1.getDirectoryDiff);
const dispatch = react_redux_1.useDispatch();
return (react_1.default.createElement("div", { style: styles_1.style(outerStyle) },
react_1.default.createElement(SpinnerContainer_1.SpinnerContainer, { isSpinning: isDiffFetching || !diff, style: styles_1.style(innerStyle) },
react_1.default.createElement(DifferenceViewerHeader_1.DifferenceViewerHeader, null),
diff && diff.isDirectory ? (react_1.default.createElement(DirectoryDifferences_1.DirectoryDifferences, { modifiedFiles: diff.modifiedFiles, leftTree: dirDiff.leftTree, rightTree: dirDiff.rightTree, onFileClick: onFileClick })) : (diff && (react_1.default.createElement(FileDifferences_1.FileDifferences, { selectedPath: selectedPath, leftFileContents: diff.leftFileContents, rightFileContents: diff.rightFileContents, rerenderRequestedAt: rerenderRequestedAt }))))));
function onFileClick(fullPath) {
dispatch(actions_1.selectPath(fullPath));
}
};