UNPKG

@procraft/widget-order

Version:

Order widget for landing

48 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.usePrices = void 0; const react_1 = require("react"); const types_1 = require("../../modules/gql/generated/types"); /** * Собираем общую информацию по выбранным элементам и ценам */ const usePrices = ({ fieldValues, fieldsValueSelected, }) => { return (0, react_1.useMemo)(() => { let price = 0; let oldPrice = 0; const fieldValuesGroups = { Unknown: { fieldValues: [], }, Course: { fieldValues: [], }, Subscription: { fieldValues: [], }, LessonCount: { fieldValues: [], }, }; for (const typeKey in types_1.CatalogFieldValueType) { fieldValues .filter((n) => n.type === types_1.CatalogFieldValueType[typeKey]) .forEach((fieldValue) => { const { type, extraPay, extraPayOriginal } = fieldValue; fieldValuesGroups[type].fieldValues.push(fieldValue); if (fieldsValueSelected.findIndex((n) => n.uid === fieldValue.uid)) { price += extraPay; oldPrice += extraPayOriginal || extraPay; } }); } return { fieldValuesGroups, price, oldPrice, }; }, [fieldValues, fieldsValueSelected]); }; exports.usePrices = usePrices; //# sourceMappingURL=index.js.map