@sanity/desk-tool
Version:
Tool for managing all sorts of content in a structured manner
41 lines (39 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DocumentHeaderTitle = DocumentHeaderTitle;
var _react = _interopRequireDefault(require("react"));
var _preview = require("part:@sanity/base/preview");
var _useDocumentPane2 = require("../../useDocumentPane");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// @todo: remove the following line when part imports has been removed from this file
///<reference types="@sanity/types/parts" />
var PREVIEW_FIELDS = ['title'];
function renderTitle(_ref) {
var title = _ref.title;
return title ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, title) : /*#__PURE__*/_react.default.createElement("em", null, "Untitled");
}
function DocumentHeaderTitle() {
var _useDocumentPane = (0, _useDocumentPane2.useDocumentPane)(),
connectionState = _useDocumentPane.connectionState,
documentSchema = _useDocumentPane.documentSchema,
title = _useDocumentPane.title,
value = _useDocumentPane.value,
ready = _useDocumentPane.ready;
if (connectionState !== 'connected') {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
}
if (title) {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, title);
}
if (!value) {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "New ", (documentSchema === null || documentSchema === void 0 ? void 0 : documentSchema.title) || (documentSchema === null || documentSchema === void 0 ? void 0 : documentSchema.name));
}
return ready ? /*#__PURE__*/_react.default.createElement(_preview.PreviewFields, {
document: value,
layout: "inline",
type: documentSchema,
fields: PREVIEW_FIELDS
}, renderTitle) : null;
}