@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.35 kB
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.PrivacyAndTermsCheckbox=PrivacyAndTermsCheckbox;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),react_1=require("react"),BaseInput_1=tslib_1.__importDefault(require("../utils/BaseInput"));function PrivacyAndTermsCheckbox(props){const{order}=(0,react_1.useContext)(OrderContext_1.default),{placeOrderPermitted}=(0,react_1.useContext)(PlaceOrderContext_1.default),[forceDisabled,setForceDisabled]=(0,react_1.useState)(!0),[checked,setChecked]=(0,react_1.useState)(!1),fieldName="privacy-terms",handleChange=e=>{const v=e.target?.checked;setChecked(v),localStorage.setItem(fieldName,v.toString()),placeOrderPermitted&&placeOrderPermitted()};return(0,react_1.useEffect)(()=>(order?.privacy_url&&order?.terms_url&&setForceDisabled(!1),checked||localStorage.setItem(fieldName,checked.toString()),()=>{setForceDisabled(!0),localStorage.removeItem(fieldName)}),[order?.privacy_url,order?.terms_url]),(0,jsx_runtime_1.jsx)(BaseInput_1.default,{type:"checkbox",name:fieldName,disabled:forceDisabled,onChange:handleChange,checked,...props})}exports.default=PrivacyAndTermsCheckbox;