UNPKG

@procraft/widget-order

Version:

Order widget for landing

56 lines 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useOrderLink = void 0; const react_1 = require("react"); /** * Формируем ссылку на оплату */ const useOrderLink = ({ orderLink, orderLinkParams, catalogItem, fieldsValueSelected, sale, }) => { // const [origin, originSetter] = useState(global.location?.origin || 'https://localhost') const [origin, originSetter] = (0, react_1.useState)('https://localhost'); (0, react_1.useEffect)(() => { var _a; originSetter(((_a = global.location) === null || _a === void 0 ? void 0 : _a.origin) || 'https://localhost'); }, []); return (0, react_1.useMemo)(() => { // TODO надо переделать систему ссылок, чтобы на вход передавался базовый домен. // Это важно для вставки виджетов на сторонние сайты (сейчас ссылка на текущий домен идет) // const uri = new URL(`${orderLink}/${item.catalogItem.uid}`, location.origin) const uri = new URL(`${orderLink}/${catalogItem.uid}`, // global.location?.origin || 'https://localhost' origin); if (orderLinkParams) { Object.entries(orderLinkParams).forEach(([key, value]) => { uri.searchParams.append(key, value); }); } /** * Если мы берем по скидке, то берем все выбранные элементы из элементов этой скидки */ if (sale) { uri.searchParams.append('sale', sale.id); // sale.benefitItems.forEach((benefitItem) => { // benefitItem.fieldValues // ?.filter((n) => n.isSelected === true) // .forEach((fieldValue) => { // uri.searchParams.append('fieldValuesQuery', fieldValue.uid) // }) // }) } // else { fieldsValueSelected.forEach((n) => { uri.searchParams.append('fieldValuesQuery', n.uid); }); // } return uri; }, [ catalogItem.uid, fieldsValueSelected, orderLink, orderLinkParams, origin, sale, ]); }; exports.useOrderLink = useOrderLink; //# sourceMappingURL=index.js.map