@sanity/default-layout
Version:
The default layout components for Sanity
61 lines (60 loc) • 3.49 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ChangelogDialog = ChangelogDialog;
var _ui = require("@sanity/ui");
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _ChangelogList = require("./ChangelogList");
var _templateObject;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var StickyBox = (0, _styledComponents.default)(_ui.Box)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: sticky;\n top: 0;\n z-index: 1;\n"])));
function ChangelogDialog(props) {
var changelog = props.changelog,
currentVersion = props.currentVersion,
dialogProps = props.dialogProps,
latestVersion = props.latestVersion;
var changelogWithChangeItems = (changelog || []).filter(c => {
var _c$changeItems;
return (c === null || c === void 0 || (_c$changeItems = c.changeItems) === null || _c$changeItems === void 0 ? void 0 : _c$changeItems.length) > 0;
});
var hasChangelog = changelogWithChangeItems.length > 0;
return /*#__PURE__*/_react.default.createElement(_ui.Dialog, _extends({
header: "Upgrade the Sanity Studio",
width: 1
}, dialogProps, {
id: "changelog-dialog"
}), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(StickyBox, null, /*#__PURE__*/_react.default.createElement(_ui.Card, {
padding: 4,
borderBottom: hasChangelog
}, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
space: 4
}, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
space: 3
}, hasChangelog && /*#__PURE__*/_react.default.createElement(_ui.Text, {
weight: "semibold"
}, "Changelog"), /*#__PURE__*/_react.default.createElement(_ui.Text, {
muted: true,
size: 1
}, "Your Sanity Studio is version ", /*#__PURE__*/_react.default.createElement("code", null, currentVersion), ". The latest version is", ' ', /*#__PURE__*/_react.default.createElement("code", null, latestVersion), "."))))), hasChangelog && /*#__PURE__*/_react.default.createElement(_ui.Stack, {
space: 5,
paddingY: 4
}, changelogWithChangeItems === null || changelogWithChangeItems === void 0 ? void 0 : changelogWithChangeItems.map((log, index) => {
var changeItems = log.changeItems,
version = log.version;
var showDivider = index < changelogWithChangeItems.length - 1;
var isLatest = version === latestVersion;
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
key: version
}, /*#__PURE__*/_react.default.createElement(_ui.Box, {
paddingX: 4
}, /*#__PURE__*/_react.default.createElement(_ChangelogList.ChangelogList, {
changeItems: changeItems,
version: version,
isLatest: isLatest
})), showDivider && /*#__PURE__*/_react.default.createElement(_ui.MenuDivider, null));
}))));
}