@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
136 lines (112 loc) • 4.77 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _lodash = require("lodash");
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 _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"));
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function PostPublishPanelPrepublish({
children
}) {
const {
isBeingScheduled,
isRequestingSiteIcon,
hasPublishAction,
siteIconUrl,
siteTitle,
siteHome
} = (0, _data.useSelect)(select => {
const {
isResolving
} = select('core/data');
const {
getCurrentPost,
isEditedPostBeingScheduled
} = select('core/editor');
const {
getEntityRecord
} = select('core');
const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
return {
hasPublishAction: (0, _lodash.get)(getCurrentPost(), ['_links', 'wp:action-publish'], false),
isBeingScheduled: isEditedPostBeingScheduled(),
isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
siteIconUrl: siteData.site_icon_url,
siteTitle: siteData.name,
siteHome: siteData.home && (0, _url.filterURLForDisplay)(siteData.home)
};
}, []);
let siteIcon = (0, _element.createElement)(_components.Icon, {
className: "components-site-icon",
size: "36px",
icon: _icons.wordpress
});
if (siteIconUrl) {
siteIcon = (0, _element.createElement)("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 (0, _element.createElement)("div", {
className: "editor-post-publish-panel__prepublish"
}, (0, _element.createElement)("div", null, (0, _element.createElement)("strong", null, prePublishTitle)), (0, _element.createElement)("p", null, prePublishBodyText), (0, _element.createElement)("div", {
className: "components-site-card"
}, siteIcon, (0, _element.createElement)("div", {
className: "components-site-info"
}, (0, _element.createElement)("span", {
className: "components-site-name"
}, siteTitle || (0, _i18n.__)('(Untitled)')), (0, _element.createElement)("span", {
className: "components-site-home"
}, siteHome))), hasPublishAction && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.PanelBody, {
initialOpen: false,
title: [(0, _i18n.__)('Visibility:'), (0, _element.createElement)("span", {
className: "editor-post-publish-panel__link",
key: "label"
}, (0, _element.createElement)(_label.default, null))]
}, (0, _element.createElement)(_postVisibility.default, null)), (0, _element.createElement)(_components.PanelBody, {
initialOpen: false,
title: [(0, _i18n.__)('Publish:'), (0, _element.createElement)("span", {
className: "editor-post-publish-panel__link",
key: "label"
}, (0, _element.createElement)(_label2.default, null))]
}, (0, _element.createElement)(_postSchedule.default, null))), (0, _element.createElement)(_maybePostFormatPanel.default, null), (0, _element.createElement)(_maybeTagsPanel.default, null), children);
}
var _default = PostPublishPanelPrepublish;
exports.default = _default;
//# sourceMappingURL=prepublish.js.map