"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[19],{63:(e,o,n)=>{n.d(o,{a:()=>d});var a=n(0),i=n(3),t=n(41),l=n(2),p=n(31),c=n(26),s=n(72);function d({couponExpiration:e,couponCheckbox:o,couponApplied:n}){const{disableCheckbox:d,applyCoupon:u,timeLeft:r,status:h}=function({couponExpiration:e,couponCheckbox:o,couponApplied:n}){var a;const[i,t]=(0,l.useState)(n?"applied":"available"),p=Date.now()+1e3*(null!==(a=null==o?void 0:o.countdown_minutes)&&void 0!==a?a:0)*60,d=Math.round(((null!=e?e:p)-Date.now())/1e3),[u,{startCountdown:r}]=(0,s.a)({countStart:d});if(!o||(null==o?void 0:o.disable_checkbox)||u<=0)return{disableCheckbox:!0,timeLeft:0,status:"disabled",applyCoupon(){}};(0,l.useEffect)((()=>{if(null==o?void 0:o.countdown_minutes){if(!e){const e=new Date(p);(0,c.b)("__orly_checkbox_exp",e.toISOString())}r()}}),[]);return{disableCheckbox:!1,applyCoupon:()=>{function e(){t("available"),alert("There was an error applying coupon, please try again.")}"available"===i&&(t("pending"),fetch(`/discount/${null==o?void 0:o.coupon_code_to_apply}`).then((o=>{[200,301,302].includes(o.status)?((0,c.b)("__orly_checkbox_applied","applied"),t("applied")):e()})).catch((o=>{e()})))},timeLeft:u,status:i}}({couponExpiration:e,couponCheckbox:o,couponApplied:n}),b=(0,p.a)();return d?(0,a.jsx)(i.Fragment,{}):(0,a.jsxs)("div",{class:t.a.coupon,onClick:e=>{u()},children:[(0,a.jsx)("div",{class:t.a.couponLabel,children:"COUPON"}),(0,a.jsxs)("div",{class:t.a.details,children:[(0,a.jsx)("input",{type:"checkbox",disabled:"applied"!==h&&(!b||"pending"===h),class:t.a.checkbox,checked:"applied"===h,onClick:e=>{e.preventDefault(),u()}}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{class:t.a.text,children:"applied"===h?null==o?void 0:o.checked_message:"pending"===h?"Coupon is being applied...":null==o?void 0:o.initial_message}),(0,a.jsxs)("div",{class:t.a.expireTime,children:[null==o?void 0:o.expires_message," ",(e=>{const o=Math.floor(e/3600),n=Math.floor(e%3600/60),a=e%60;return`${o.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`})(r)]})]})]})]})}}}]);