{"version":3,"file":"useCountdown-DPweZzmz.mjs","names":[],"sources":["../src/components/composable/podcasts/useCountdown.ts"],"sourcesContent":["import {computed, onBeforeUnmount, onMounted, Ref, ref} from 'vue';\nexport const useCountdown = (timeRemaining: number|undefined)=>{\n  const days = ref(0);\n  const hours = ref(0);\n  const minutes = ref(0);\n  const seconds = ref(0);\n  const remainingSeconds = ref(0);\n  const countdownTimer : Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n  const countdownValues = computed(() => { \n    return {\n      days: pad(days.value),\n      hours: pad(hours.value),\n      minutes: pad(minutes.value),\n      seconds: pad(remainingSeconds.value),\n    }\n  });\n\n  function timer(): void {\n    days.value = Math.floor(seconds.value / 24 / 60 / 60);\n    const hoursLeft = Math.floor(seconds.value - days.value * 86400);\n    hours.value = Math.floor(hoursLeft / 3600);\n    const minutesLeft = Math.floor(hoursLeft - hours.value * 3600);\n    minutes.value = Math.floor(minutesLeft / 60);\n    remainingSeconds.value = seconds.value % 60;\n    if (0 === seconds.value) {\n      clearInterval(countdownTimer.value as unknown as number);\n      countdownTimer.value = undefined;\n    } else {\n      seconds.value-=1;\n    }\n  }\n  function pad(n: number): string {\n    return/*  n < 10 ? \"0\" + n : */ n.toString();\n  }\n\n  onMounted(() => {\n    if (!timeRemaining || timeRemaining <= 0) return;\n    seconds.value = timeRemaining;\n    countdownTimer.value = setInterval(() => {\n      timer();\n    }, 1000);\n  })\n  \n  onBeforeUnmount(() => {\n    clearInterval(countdownTimer.value as unknown as number);\n  })\n\n\treturn {\n    countdownValues,\n    countdownTimer\n\t}\n}\n"],"mappings":";;AACA,IAAa,gBAAgB,kBAAkC;CAC7D,MAAM,OAAO,IAAI,CAAC;CAClB,MAAM,QAAQ,IAAI,CAAC;CACnB,MAAM,UAAU,IAAI,CAAC;CACrB,MAAM,UAAU,IAAI,CAAC;CACrB,MAAM,mBAAmB,IAAI,CAAC;CAC9B,MAAM,iBAAkE,IAAI,KAAA,CAAS;CAErF,MAAM,kBAAkB,eAAe;EACrC,OAAO;GACL,MAAM,IAAI,KAAK,KAAK;GACpB,OAAO,IAAI,MAAM,KAAK;GACtB,SAAS,IAAI,QAAQ,KAAK;GAC1B,SAAS,IAAI,iBAAiB,KAAK;EACrC;CACF,CAAC;CAED,SAAS,QAAc;EACrB,KAAK,QAAQ,KAAK,MAAM,QAAQ,QAAQ,KAAK,KAAK,EAAE;EACpD,MAAM,YAAY,KAAK,MAAM,QAAQ,QAAQ,KAAK,QAAQ,KAAK;EAC/D,MAAM,QAAQ,KAAK,MAAM,YAAY,IAAI;EACzC,MAAM,cAAc,KAAK,MAAM,YAAY,MAAM,QAAQ,IAAI;EAC7D,QAAQ,QAAQ,KAAK,MAAM,cAAc,EAAE;EAC3C,iBAAiB,QAAQ,QAAQ,QAAQ;EACzC,IAAI,MAAM,QAAQ,OAAO;GACvB,cAAc,eAAe,KAA0B;GACvD,eAAe,QAAQ,KAAA;EACzB,OACE,QAAQ,SAAO;CAEnB;CACA,SAAS,IAAI,GAAmB;EAC9B,OAAgC,EAAE,SAAS;CAC7C;CAEA,gBAAgB;EACd,IAAI,CAAC,iBAAiB,iBAAiB,GAAG;EAC1C,QAAQ,QAAQ;EAChB,eAAe,QAAQ,kBAAkB;GACvC,MAAM;EACR,GAAG,GAAI;CACT,CAAC;CAED,sBAAsB;EACpB,cAAc,eAAe,KAA0B;CACzD,CAAC;CAEF,OAAO;EACJ;EACA;CACH;AACD"}