@automattic/social-previews
Version:
A suite of components to generate previews for a post for both social and search engines.
17 lines • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LinkPreviewDetails = void 0;
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const constants_1 = require("../constants");
const custom_text_1 = tslib_1.__importDefault(require("./custom-text"));
const use_image_hook_1 = tslib_1.__importDefault(require("./hooks/use-image-hook"));
const actions_1 = tslib_1.__importDefault(require("./post/actions"));
const header_1 = tslib_1.__importDefault(require("./post/header"));
const LinkPreviewDetails = ({ url, customImage, user, customText, imageMode, }) => {
const [mode, isLoadingImage, imgProps] = (0, use_image_hook_1.default)({ mode: imageMode });
const modeClass = `is-${mode === constants_1.PORTRAIT_MODE ? 'portrait' : 'landscape'}`;
return ((0, jsx_runtime_1.jsxs)("div", { className: "facebook-preview__post", children: [(0, jsx_runtime_1.jsx)(header_1.default, { user: undefined }), (0, jsx_runtime_1.jsx)("div", { className: "facebook-preview__content", children: (0, jsx_runtime_1.jsxs)("div", { className: `facebook-preview__window ${modeClass} ${customImage && isLoadingImage ? 'is-loading' : ''}`, children: [(0, jsx_runtime_1.jsx)("div", { className: `facebook-preview__custom-image ${modeClass}`, children: (0, jsx_runtime_1.jsx)("img", { src: customImage, ...imgProps }) }), (0, jsx_runtime_1.jsx)(header_1.default, { user: user, timeElapsed: true, hideOptions: true }), customText && (0, jsx_runtime_1.jsx)(custom_text_1.default, { text: customText, url: url, forceUrlDisplay: true })] }) }), (0, jsx_runtime_1.jsx)(actions_1.default, {})] }));
};
exports.LinkPreviewDetails = LinkPreviewDetails;
//# sourceMappingURL=link-preview-details.js.map