@open-tender/ui
Version:
A component library for use with the Open Tender web app
27 lines (26 loc) • 2.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const utils_1 = require("@open-tender/utils");
const react_1 = tslib_1.__importDefault(require("react"));
const utils_2 = require("../utils");
const Button_1 = tslib_1.__importDefault(require("./Button"));
const Text_1 = tslib_1.__importDefault(require("./Text"));
const View_1 = tslib_1.__importDefault(require("./View"));
const CategoryItem = ({ config, handlers, item, apiUrl, placeholder, displayCals = false }) => {
const { name, price, cals, imageUrl, isSoldOut } = item;
const imageProps = (0, utils_2.makeImageProps)(config, 'categoryItem__image', imageUrl, apiUrl, placeholder);
return (react_1.default.createElement(View_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem')),
isSoldOut && (react_1.default.createElement(View_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__soldOut')),
react_1.default.createElement(View_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__soldOutContainer')),
react_1.default.createElement(Text_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__soldOutTitle'))),
react_1.default.createElement(View_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__soldOutOverlay')))))),
react_1.default.createElement(Button_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__button'), { onClick: handlers.browse, disabled: isSoldOut }),
react_1.default.createElement(View_1.default, Object.assign({}, imageProps)),
react_1.default.createElement(View_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__content')),
react_1.default.createElement(Text_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__title'), { text: name })),
react_1.default.createElement(View_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__details')),
react_1.default.createElement(Text_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__price'), { text: (0, utils_1.formatDollars)(price.toString()) })),
displayCals && cals !== null && (react_1.default.createElement(Text_1.default, Object.assign({}, (0, utils_2.makeProps)(config, 'categoryItem__calories'), { text: `${cals} Cal` }))))))));
};
exports.default = CategoryItem;