{ "version": 3, "sources": ["../../../javascript/custom/countdown_timer.js"], "sourcesContent": ["const dayInMsec = 1000 * 60 * 60 * 24;\nconst hourInMsec = 1000 * 60 * 60;\nconst minuteInMsec = 1000 * 60;\n\nfunction calcTimer(distance) {\n // Time calculations for days, hours, minutes and seconds\n const days = Math.floor(distance / dayInMsec);\n const hours = Math.floor((distance % dayInMsec) / hourInMsec);\n const minutes = Math.floor((distance % hourInMsec) / minuteInMsec);\n const seconds = Math.floor((distance % minuteInMsec) / 1000);\n\n let value = '';\n if (days > 0) value += days + \"d \";\n if (hours > 0) value += hours + \"h \";\n if (minutes > 0) value += minutes + \"m \";\n value += seconds + \"s\";\n return value;\n}\n\nfunction calcDistance(countdownMs) {\n const now = new Date().getTime();\n const distance = countdownMs - now;\n return distance < 0 ? 0 : distance;\n}\n\nfunction initializeTimer(id, countdownMs) {\n let timerEl = document.getElementById(id);\n let distance = calcDistance(countdownMs);\n timerEl.innerHTML = calcTimer(distance);\n if (distance === 0) return;\n\n const intervalId = setInterval(() => {\n timerEl = document.getElementById(id);\n if (!timerEl) {\n clearInterval(intervalId);\n return;\n }\n\n const currIntervalId = parseInt(timerEl.getAttribute('interval-id'));\n if (currIntervalId && currIntervalId !== intervalId) {\n clearInterval(intervalId);\n return;\n }\n\n distance = calcDistance(countdownMs);\n if (distance === 0) {\n clearInterval(intervalId);\n location.reload();\n return;\n }\n\n timerEl.innerHTML = calcTimer(distance);\n }, 1000);\n\n timerEl.setAttribute('interval-id', intervalId.toString());\n}\n\nwindow.initializeTimer = initializeTimer;\n"], "mappings": ";;AAAA,MAAM,YAAY,MAAO,KAAK,KAAK;AACnC,MAAM,aAAa,MAAO,KAAK;AAC/B,MAAM,eAAe,MAAO;AAE5B,WAAS,UAAU,UAAU;AAE3B,UAAM,OAAO,KAAK,MAAM,WAAW,SAAS;AAC5C,UAAM,QAAQ,KAAK,MAAO,WAAW,YAAa,UAAU;AAC5D,UAAM,UAAU,KAAK,MAAO,WAAW,aAAc,YAAY;AACjE,UAAM,UAAU,KAAK,MAAO,WAAW,eAAgB,GAAI;AAE3D,QAAI,QAAQ;AACZ,QAAI,OAAO;AAAG,eAAS,OAAO;AAC9B,QAAI,QAAQ;AAAG,eAAS,QAAQ;AAChC,QAAI,UAAU;AAAG,eAAS,UAAU;AACpC,aAAS,UAAU;AACnB,WAAO;AAAA,EACT;AAEA,WAAS,aAAa,aAAa;AACjC,UAAM,MAAM,IAAI,KAAK,EAAE,QAAQ;AAC/B,UAAM,WAAW,cAAc;AAC/B,WAAO,WAAW,IAAI,IAAI;AAAA,EAC5B;AAEA,WAAS,gBAAgB,IAAI,aAAa;AACxC,QAAI,UAAU,SAAS,eAAe,EAAE;AACxC,QAAI,WAAW,aAAa,WAAW;AACvC,YAAQ,YAAY,UAAU,QAAQ;AACtC,QAAI,aAAa;AAAG;AAEpB,UAAM,aAAa,YAAY,MAAM;AACnC,gBAAU,SAAS,eAAe,EAAE;AACpC,UAAI,CAAC,SAAS;AACZ,sBAAc,UAAU;AACxB;AAAA,MACF;AAEA,YAAM,iBAAiB,SAAS,QAAQ,aAAa,aAAa,CAAC;AACnE,UAAI,kBAAkB,mBAAmB,YAAY;AACnD,sBAAc,UAAU;AACxB;AAAA,MACF;AAEA,iBAAW,aAAa,WAAW;AACnC,UAAI,aAAa,GAAG;AAClB,sBAAc,UAAU;AACxB,iBAAS,OAAO;AAChB;AAAA,MACF;AAEA,cAAQ,YAAY,UAAU,QAAQ;AAAA,IACxC,GAAG,GAAI;AAEP,YAAQ,aAAa,eAAe,WAAW,SAAS,CAAC;AAAA,EAC3D;AAEA,SAAO,kBAAkB;", "names": [] }