@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 2.28 kB
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.GiftCardOrCouponRemoveButton=GiftCardOrCouponRemoveButton;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),manageGiftCard_1=require("../../utils/adyen/manageGiftCard");function GiftCardOrCouponRemoveButton(props){const{children,label="Remove",onClick,type}=props,p=tslib_1.__rest(props,["children","label","onClick","type"]),{order,removeGiftCardOrCouponCode,manageAdyenGiftCard,paymentSourceRequest}=(0,react_1.useContext)(OrderContext_1.default);let codeType=type?`${type}_code`:void 0;!type&&order&&"coupon_code"in order&&order.coupon_code!==""?codeType="coupon_code":type||(codeType="gift_card_code");const code=order&&codeType?order[codeType]:"";let hide=!(order&&code);const handleClick=()=>tslib_1.__awaiter(this,void 0,void 0,function*(){var _a;if(manageAdyenGiftCard&&codeType==="gift_card_code"&&order!=null){const id=(_a=order?.payment_source)===null||_a===void 0?void 0:_a.id;if(id!=null){const res=yield paymentSourceRequest({resource:"adyen_payments",requestType:"update",attributes:{id,payment_request_data:{}},order});onClick!=null&&res!=null&&onClick(res)}}else if(codeType!=null&&removeGiftCardOrCouponCode!=null){const response=yield removeGiftCardOrCouponCode({codeType});onClick!=null&&response!=null&&onClick(response)}});if(manageAdyenGiftCard&&type==="gift_card"){if(!(0,manageGiftCard_1.manageGiftCard)({order}))return null;hide=!1;const parentProps2=Object.assign(Object.assign({},p),{label,handleClick,codeType});return children?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},parentProps2,{children})):hide?null:(0,jsx_runtime_1.jsx)("button",Object.assign({type:"button",onClick:()=>{handleClick()}},p,{children:label}))}const parentProps=Object.assign(Object.assign({},p),{label,handleClick,codeType});return children?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},parentProps,{children})):hide?null:(0,jsx_runtime_1.jsx)("button",Object.assign({type:"button",onClick:()=>{handleClick()}},p,{children:label}))}exports.default=GiftCardOrCouponRemoveButton;