import{b as e}from"./vendor-q1sfVHxQ.js";const b=300*1e3,$=30*1e3,A=({salePeriodType:t,saleStartYmdt:n,saleEndYmdt:u,saleStatusType:i})=>{if(t==="PERIOD"&&n&&u){const o=Date.now(),I=new Date(n).getTime(),g=new Date(u).getTime();return o{if(t<=0)return null;const n=Math.floor(t/1e3);return{d:Math.floor(n/86400),h:Math.floor(n%86400/3600),m:Math.floor(n%3600/60),s:n%60}},c=t=>String(t).padStart(2,"0"),U=t=>{const n=C(t);return n?`${n.d}:${c(n.h)}:${c(n.m)}:${c(n.s)}`:null},G=t=>{const n=C(t);return n?`${c(n.d)}D ${c(n.h)}H ${c(n.m)}M ${c(n.s)}S`:null},k=({salePeriodType:t,saleStartYmdt:n,saleEndYmdt:u,saleStatusType:i})=>{const[o,I]=e.useState(()=>A({salePeriodType:t,saleStartYmdt:n,saleEndYmdt:u,saleStatusType:i})),[g,N]=e.useState(null),[h,v]=e.useState(null),w=e.useRef(null),S=e.useRef(o),E=e.useRef(g),m=e.useRef(h),s=e.useCallback(()=>{w.current&&(clearInterval(w.current),w.current=null)},[]),R=e.useCallback(()=>{const r=A({salePeriodType:t,saleStartYmdt:n,saleEndYmdt:u,saleStatusType:i});if(S.current!==r&&(S.current=r,I(r)),r==="READY"&&n){const l=new Date(n).getTime()-Date.now(),a=U(l);E.current!==a&&(E.current=a,N(a));const D=G(l);m.current!==D&&(m.current=D,v(D))}else E.current!==null&&(E.current=null,N(null)),m.current!==null&&(m.current=null,v(null));return r},[t,n,u,i]),f=e.useCallback(()=>{s();const r=R();if(r==="READY")w.current=setInterval(()=>{R()!=="READY"&&(s(),f())},1e3);else if(r==="ING"&&u){const l=new Date(u).getTime()-Date.now();if(l<=0){R();return}const a=l<=b?1e3:$;w.current=setInterval(()=>{const D=R();D==="END"?s():D==="ING"&&new Date(u).getTime()-Date.now()<=b&&a!==1e3&&(s(),f())},a)}},[R,s,u]);return e.useEffect(()=>(f(),s),[f,s]),e.useEffect(()=>{const r=()=>{document.visibilityState==="visible"&&f()};return document.addEventListener("visibilitychange",r),()=>document.removeEventListener("visibilitychange",r)},[f]),{status:o,countdown:g,countdownUnits:h,isReady:o==="READY",isIng:o==="ING",isEnd:o==="END"}};export{A as g,k as u};