UNPKG

@open-tender/ui

Version:

A component library for use with the Open Tender web app

36 lines (35 loc) 2.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_1 = tslib_1.__importDefault(require("react")); const components_1 = require("../../components"); const utils_1 = require("../../utils"); const ItemTagsAllergensView_1 = tslib_1.__importDefault(require("./ItemTagsAllergensView")); const ItemTitleView_1 = tslib_1.__importDefault(require("./ItemTitleView")); const ItemTogglesView_1 = tslib_1.__importDefault(require("./ItemTogglesView")); const ItemHeaderView = ({ config, handlers, builtItem, hasCals, hasIngredients, hasInstructions, apiUrl, renderButtonLink, renderQuantity, renderTag, renderAllergen }) => { const { description, imageUrl, tags_list = [], allergens_list = [] } = builtItem; const imageProps = (0, utils_1.makeImageProps)(config, 'item__image', imageUrl, apiUrl); const hasLinks = hasCals || hasIngredients || hasInstructions; const hasTags = tags_list.length > 0; const hasAllergens = allergens_list.length > 0; const hasTagsAllergens = hasTags || hasAllergens; const showInfoFooter = hasTagsAllergens || hasLinks; return (react_1.default.createElement(components_1.View, Object.assign({}, (0, utils_1.makeProps)(config, 'item__header')), react_1.default.createElement(components_1.View, Object.assign({}, imageProps)), react_1.default.createElement(components_1.View, Object.assign({}, (0, utils_1.makeProps)(config, 'item__info')), react_1.default.createElement(ItemTitleView_1.default, { config: config, builtItem: builtItem }), description && (react_1.default.createElement(components_1.Text, Object.assign({}, (0, utils_1.makeProps)(config, 'item__description'), { text: description }))), showInfoFooter && (react_1.default.createElement(components_1.View, Object.assign({}, (0, utils_1.makeProps)(config, 'item__extras')), hasTagsAllergens && (react_1.default.createElement(ItemTagsAllergensView_1.default, { config: config, tags: tags_list, allergens: allergens_list, renderTag: renderTag, renderAllergen: renderAllergen })), hasLinks && (react_1.default.createElement(components_1.View, Object.assign({}, (0, utils_1.makeProps)(config, 'item__links')), hasInstructions && (react_1.default.createElement(react_1.default.Fragment, null, renderButtonLink('Name', handlers.toggleName), renderButtonLink('Special Instructions', handlers.toggleInstructions))), hasCals && renderButtonLink('Nutritional Info', handlers.toggleNutrition), hasIngredients && renderButtonLink('Ingredients', handlers.toggleIngredients)))))), react_1.default.createElement(ItemTogglesView_1.default, { config: config, renderQuantity: renderQuantity }))); }; exports.default = ItemHeaderView;