@open-tender/ui
Version:
A component library for use with the Open Tender web app
32 lines (31 loc) • 2.91 kB
JavaScript
import React from 'react';
import { Button, View } from '../../components';
import { makeProps } from '../../utils';
import ItemHeaderView from './ItemHeaderView';
import ItemSelectedView from './ItemSelectedView';
import ItemTitleView from './ItemTitleView';
const ItemView = ({ config, handlers, builtItem, groups, levels, hasCals, hasIngredients, hasInstructions, showCustomize, isIncomplete, apiUrl, renderHeader, renderItemGroups, renderItemSelections, renderButtonLink, renderItemOption, renderErrorMessage, renderQuantity, renderTag, renderAllergen }) => {
return (React.createElement(React.Fragment, null,
renderHeader(),
React.createElement(View, Object.assign({}, makeProps(config, 'item')),
React.createElement(View, Object.assign({}, makeProps(config, 'item__container')),
showCustomize ? (React.createElement(React.Fragment, null,
React.createElement(View, Object.assign({}, makeProps(config, 'item__customizeHeader')),
React.createElement(View, Object.assign({}, makeProps(config, 'item__customizeTitle')),
React.createElement(ItemTitleView, { config: config, builtItem: builtItem })),
React.createElement(ItemSelectedView, { config: config, handlers: handlers, groups: groups, levels: levels, renderItemOption: renderItemOption, renderErrorMessage: renderErrorMessage })),
React.createElement(View, Object.assign({}, makeProps(config, 'item__content')), renderItemGroups()))) : (React.createElement(React.Fragment, null,
React.createElement(ItemHeaderView, { config: config, handlers: handlers, builtItem: builtItem, hasCals: hasCals, hasIngredients: hasIngredients, hasInstructions: hasInstructions, apiUrl: apiUrl, renderButtonLink: renderButtonLink, renderQuantity: renderQuantity, renderTag: renderTag, renderAllergen: renderAllergen }),
renderItemSelections())),
React.createElement(View, Object.assign({}, makeProps(config, 'item__footer')),
React.createElement(View, Object.assign({}, makeProps(config, 'item__footerContainer')),
React.createElement(Button, Object.assign({}, makeProps(config, isIncomplete && !showCustomize
? 'item__customizeRequired'
: 'item__customize'), { onClick: handlers.toggleCustomzie, text: showCustomize
? 'Back to Summary'
: isIncomplete
? 'Customize'
: 'Customize' })),
React.createElement(Button, Object.assign({}, makeProps(config, isIncomplete ? 'item__addDisabled' : 'item__add'), { onClick: handlers.addToOrder, disabled: isIncomplete }))))))));
};
export default ItemView;