UNPKG

@cross-nft-marketplace/auction-house-nft-components

Version:
47 lines (46 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Model = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const auction_house_nft_hooks_1 = require("@cross-nft-marketplace/auction-house-nft-hooks"); const react_1 = require("react"); const HTML_1 = require("./HTML"); const RendererConfig_1 = require("./RendererConfig"); const Utils_1 = require("./Utils"); exports.Model = { renderingPage: "https://gateway.pinata.cloud/ipfs/QmVc3UHHL6dhjWuY4cryY3yoEu1HoX8KcFafq3K4ELbZEJ/model-viewer.html", supportedMimeTypes: [RendererConfig_1.MIME_TYPES_CONTENT.MODEL], render: (props, theme) => { const media = props.media; const mediaURI = media === null || media === void 0 ? void 0 : media.url; if (!media || !mediaURI) { // todo: better error return (0, jsx_runtime_1.jsx)(react_1.Fragment, {}); } //todo remove me const imageMedia = (0, Utils_1.getAppropriateMedia)(props.contextMedias, { mimeTypes: [RendererConfig_1.MIME_TYPES_CONTENT.IMAGE], mediaSize: auction_house_nft_hooks_1.MediaSize.THUMBNAIL // getMediaSizeForRendering(props.request.renderingContext) }, { cdnHosts: theme.cdnHosts, maxPreviewSizeInBytes: theme.maxPreviewMediaSizeInBytes }); const params = new URLSearchParams(); params.append("src", mediaURI); if (imageMedia) { params.append("poster", imageMedia.url); } const newMedia = { ...media, url: `${exports.Model.renderingPage}#${params.toString()}`, mimeType: RendererConfig_1.MIME_TYPES_CONTENT.HTML, }; const newProps = { media: newMedia, ...props, request: { ...props.request, } }; return (0, jsx_runtime_1.jsx)(HTML_1.HTML.render, { ...newProps }); }, };