UNPKG

@wordpress/editor

Version:
109 lines (105 loc) 3.83 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = PostCardPanel; var _clsx = _interopRequireDefault(require("clsx")); var _components = require("@wordpress/components"); var _coreData = require("@wordpress/core-data"); var _data = require("@wordpress/data"); var _i18n = require("@wordpress/i18n"); var _htmlEntities = require("@wordpress/html-entities"); var _store = require("../../store"); var _constants = require("../../store/constants"); var _lockUnlock = require("../../lock-unlock"); var _postActions = _interopRequireDefault(require("../post-actions")); var _jsxRuntime = require("react/jsx-runtime"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function PostCardPanel({ postType, postId, onActionPerformed }) { const { isFrontPage, isPostsPage, title, icon, isSync } = (0, _data.useSelect)(select => { const { __experimentalGetTemplateInfo } = select(_store.store); const { canUser, getEditedEntityRecord } = select(_coreData.store); const siteSettings = canUser('read', { kind: 'root', name: 'site' }) ? getEditedEntityRecord('root', 'site') : undefined; const _record = getEditedEntityRecord('postType', postType, postId); const _templateInfo = [_constants.TEMPLATE_POST_TYPE, _constants.TEMPLATE_PART_POST_TYPE].includes(postType) && __experimentalGetTemplateInfo(_record); let _isSync = false; if (_constants.GLOBAL_POST_TYPES.includes(postType)) { if (_constants.PATTERN_POST_TYPE === postType) { // When the post is first created, the top level wp_pattern_sync_status is not set so get meta value instead. const currentSyncStatus = _record?.meta?.wp_pattern_sync_status === 'unsynced' ? 'unsynced' : _record?.wp_pattern_sync_status; _isSync = currentSyncStatus !== 'unsynced'; } else { _isSync = true; } } return { title: _templateInfo?.title || _record?.title, icon: (0, _lockUnlock.unlock)(select(_store.store)).getPostIcon(postType, { area: _record?.area }), isSync: _isSync, isFrontPage: siteSettings?.page_on_front === postId, isPostsPage: siteSettings?.page_for_posts === postId }; }, [postId, postType]); return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: "editor-post-card-panel", children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, { spacing: 2, className: "editor-post-card-panel__header", align: "flex-start", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, { className: (0, _clsx.default)('editor-post-card-panel__icon', { 'is-sync': isSync }), icon: icon }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalText, { numberOfLines: 2, truncate: true, className: "editor-post-card-panel__title", weight: 500, as: "h2", lineHeight: "20px", children: [title ? (0, _htmlEntities.decodeEntities)(title) : (0, _i18n.__)('No title'), isFrontPage && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { className: "editor-post-card-panel__title-badge", children: (0, _i18n.__)('Homepage') }), isPostsPage && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { className: "editor-post-card-panel__title-badge", children: (0, _i18n.__)('Posts Page') })] }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_postActions.default, { postType: postType, postId: postId, onActionPerformed: onActionPerformed })] }) }); } //# sourceMappingURL=index.js.map