@open-tender/ui
Version:
A component library for use with the Open Tender web app
28 lines (27 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeImageProps = exports.makeImageUrl = void 0;
const tslib_1 = require("tslib");
const elements_1 = require("./elements");
const makeImageUrl = (entity) => {
const { app_image_url, small_image_url, large_image_url } = entity;
const imageUrl = large_image_url || small_image_url || app_image_url;
return imageUrl || null;
};
exports.makeImageUrl = makeImageUrl;
const makeImageProps = (config, className, imageUrl, apiUrl, placeholder) => {
const props = (0, elements_1.makeProps)(config, className);
const { style } = props, rest = tslib_1.__rest(props, ["style"]);
if (!imageUrl) {
if (!placeholder)
return props;
const imageStyle = Object.assign(Object.assign({}, style), { backgroundImage: `url(${placeholder})` });
return Object.assign(Object.assign({}, rest), { style: imageStyle });
}
const localUrl = imageUrl.startsWith('/cloud-files')
? `${apiUrl}` + imageUrl
: imageUrl;
const imageStyle = Object.assign(Object.assign({}, style), { backgroundImage: `url(${localUrl})` });
return Object.assign(Object.assign({}, rest), { style: imageStyle });
};
exports.makeImageProps = makeImageProps;