@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
129 lines (126 loc) • 5.64 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _i18n = require("@wordpress/i18n");
var _components = require("@wordpress/components");
var _data = require("@wordpress/data");
var _icons = require("@wordpress/icons");
var _url = require("@wordpress/url");
var _coreData = require("@wordpress/core-data");
var _htmlEntities = require("@wordpress/html-entities");
var _postVisibility = _interopRequireDefault(require("../post-visibility"));
var _label = _interopRequireDefault(require("../post-visibility/label"));
var _postSchedule = _interopRequireDefault(require("../post-schedule"));
var _label2 = _interopRequireDefault(require("../post-schedule/label"));
var _maybeTagsPanel = _interopRequireDefault(require("./maybe-tags-panel"));
var _maybePostFormatPanel = _interopRequireDefault(require("./maybe-post-format-panel"));
var _store = require("../../store");
var _maybeCategoryPanel = _interopRequireDefault(require("./maybe-category-panel"));
var _maybeUploadMedia = _interopRequireDefault(require("./maybe-upload-media"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function PostPublishPanelPrepublish({
children
}) {
const {
isBeingScheduled,
isRequestingSiteIcon,
hasPublishAction,
siteIconUrl,
siteTitle,
siteHome
} = (0, _data.useSelect)(select => {
var _getCurrentPost$_link;
const {
getCurrentPost,
isEditedPostBeingScheduled
} = select(_store.store);
const {
getEntityRecord,
isResolving
} = select(_coreData.store);
const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
return {
hasPublishAction: (_getCurrentPost$_link = getCurrentPost()._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
isBeingScheduled: isEditedPostBeingScheduled(),
isRequestingSiteIcon: isResolving('getEntityRecord', ['root', '__unstableBase', undefined]),
siteIconUrl: siteData.site_icon_url,
siteTitle: siteData.name,
siteHome: siteData.home && (0, _url.filterURLForDisplay)(siteData.home)
};
}, []);
let siteIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
className: "components-site-icon",
size: "36px",
icon: _icons.wordpress
});
if (siteIconUrl) {
siteIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
alt: (0, _i18n.__)('Site Icon'),
className: "components-site-icon",
src: siteIconUrl
});
}
if (isRequestingSiteIcon) {
siteIcon = null;
}
let prePublishTitle, prePublishBodyText;
if (!hasPublishAction) {
prePublishTitle = (0, _i18n.__)('Are you ready to submit for review?');
prePublishBodyText = (0, _i18n.__)('When you’re ready, submit your work for review, and an Editor will be able to approve it for you.');
} else if (isBeingScheduled) {
prePublishTitle = (0, _i18n.__)('Are you ready to schedule?');
prePublishBodyText = (0, _i18n.__)('Your work will be published at the specified date and time.');
} else {
prePublishTitle = (0, _i18n.__)('Are you ready to publish?');
prePublishBodyText = (0, _i18n.__)('Double-check your settings before publishing.');
}
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: "editor-post-publish-panel__prepublish",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
children: prePublishTitle
})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
children: prePublishBodyText
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: "components-site-card",
children: [siteIcon, /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: "components-site-info",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
className: "components-site-name",
children: (0, _htmlEntities.decodeEntities)(siteTitle) || (0, _i18n.__)('(Untitled)')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
className: "components-site-home",
children: siteHome
})]
})]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_maybeUploadMedia.default, {}), hasPublishAction && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
initialOpen: false,
title: [(0, _i18n.__)('Visibility:'), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
className: "editor-post-publish-panel__link",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_label.default, {})
}, "label")],
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_postVisibility.default, {})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
initialOpen: false,
title: [(0, _i18n.__)('Publish:'), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
className: "editor-post-publish-panel__link",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_label2.default, {})
}, "label")],
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_postSchedule.default, {})
})]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_maybePostFormatPanel.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_maybeTagsPanel.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_maybeCategoryPanel.default, {}), children]
});
}
var _default = exports.default = PostPublishPanelPrepublish;
//# sourceMappingURL=prepublish.js.map