{"version":3,"file":"chunk.3331.39c370db957538bb8637.29f3ac58.js","mappings":"mgBACO,IAAMA,EAAG,SAAAC,I,kOAAAC,CAAAF,EAAAC,GAAA,I,QAAAE,G,EAAAH,E,ykBACZ,SAAAA,IAAc,IAAAI,EAgCR,O,4FAhCQC,CAAA,KAAAL,IACVI,EAAAD,EAAAG,MAAA,KAASC,YACJC,MAAQ,CACTC,KAAM,EACNC,MAAO,EACPC,QAAS,EACTC,QAAS,GAEbR,EAAKS,oBAAsB,WAAM,IAAAC,EACGV,EAAKW,MAA7BC,EAAQF,EAARE,SAAUC,EAASH,EAATG,UACZC,EAAY,IAAIC,KAAKH,GACrBI,EAAU,IAAID,KAAKF,GACnBI,EAAM,IAAIF,KACZG,EAAgB,EAChBD,EAAMH,EACNI,EAAgBC,OAAOL,GAAaK,OAAOF,GAEtCA,GAAOH,GAAaG,GAAOD,IAChCE,EAAgBC,OAAOH,GAAWG,OAAOF,IAEzCC,EAAgB,EAChBlB,EAAKoB,SAASpB,EAAKqB,mBAAmBH,KAGtCI,cAActB,EAAKuB,eACnBvB,EAAKoB,SAAS,CACVf,KAAM,EACNC,MAAO,EACPC,QAAS,EACTC,QAAS,IAGrB,EAAER,CACN,CAuEC,O,EAvEAJ,G,EAAA,EAAA4B,IAAA,oBAAAC,MAAA,WAEGC,KAAKjB,sBACLiB,KAAKH,cAAgBI,YAAYD,KAAKjB,oBAAqB,IAC/D,GAAC,CAAAe,IAAA,uBAAAC,MAAA,WAEGH,cAAcI,KAAKH,cACvB,GAAC,CAAAC,IAAA,qBAAAC,MAAA,SACkBG,GACf,IAAMC,EAAeC,KAAKC,MAAMH,EAAK,KAKrC,MAAO,CAAEvB,KAJIyB,KAAKC,MAAMF,EAAe,OAIxBvB,MAHDwB,KAAKC,MAAOF,EAAe,MAAS,MAG5BtB,QAFNuB,KAAKC,MAAOF,EAAe,KAAQ,IAEpBrB,QADfqB,EAAe,GAEnC,GAAC,CAAAL,IAAA,SAAAC,MAAA,WACQ,IAAAO,EACqCN,KAAKtB,MAAvCC,EAAI2B,EAAJ3B,KAAMC,EAAK0B,EAAL1B,MAAOC,EAAOyB,EAAPzB,QAASC,EAAOwB,EAAPxB,QACxByB,EAAgBC,SAASC,cAAc,iCACvCC,EAASF,SAASC,cAAc,uCACtC,OAAIF,GACQI,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,yBACtBD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,wCACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAMhC,IAChBgC,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,8CAAgD,SACvED,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,iCAAmC,MACtDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,wCACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM/B,IAChB+B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,8CAAgD,UACvED,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,iCAAmC,MACtDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,wCACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM9B,IAChB8B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,8CAAgD,SACvED,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,iCAAmC,MACtDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,wCACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM7B,IAChB6B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,8CAAgD,SACtEF,GACGC,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,yBACtBD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,8BACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAMhC,IAChBgC,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,oCAAsC,SAC7DD,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,iCAAmC,MACtDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,8BACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM/B,IAChB+B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,oCAAsC,UAC7DD,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,iCAAmC,MACtDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,8BACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM9B,IAChB8B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,oCAAsC,SAC7DD,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,iCAAmC,MACtDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,8BACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM7B,IAChB6B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,oCAAsC,UAEzDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,oBACtBD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,yBACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAMhC,IAChBgC,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,+BAAiC,SACxDD,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,4BAA8B,MACjDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,yBACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM/B,IAChB+B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,+BAAiC,UACxDD,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,4BAA8B,MACjDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,yBACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM9B,IAChB8B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,+BAAiC,SACxDD,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,4BAA8B,MACjDD,EAAAA,EAAAA,GAAE,MAAO,CAAEC,MAAO,yBACdD,EAAAA,EAAAA,GAAE,OAAQ,KAAM7B,IAChB6B,EAAAA,EAAAA,GAAE,OAAQ,CAAEC,MAAO,+BAAiC,QACpE,M,iBAAC1C,CAAA,CAzGW,CAAS2C,EAAAA,U","sources":["webpack:///../jarvis/app/assets/javascripts/site/VControllers/DiscountTimer/App.tsx"],"sourcesContent":["import { h, Component } from 'preact';\nexport class App extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0\n };\n this.updateTimeRemaining = () => {\n const { startsAt, expiresAt } = this.props;\n const startDate = new Date(startsAt);\n const endDate = new Date(expiresAt);\n const now = new Date();\n let timeRemaining = 0;\n if (now < startDate) {\n timeRemaining = Number(startDate) - Number(now);\n }\n else if (now >= startDate && now <= endDate) {\n timeRemaining = Number(endDate) - Number(now);\n }\n if (timeRemaining > 0) {\n this.setState(this.calculateTimeUnits(timeRemaining));\n }\n else {\n clearInterval(this.timerInterval);\n this.setState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0\n });\n }\n };\n }\n componentDidMount() {\n this.updateTimeRemaining();\n this.timerInterval = setInterval(this.updateTimeRemaining, 1000);\n }\n componentWillUnmount() {\n clearInterval(this.timerInterval);\n }\n calculateTimeUnits(ms) {\n const totalSeconds = Math.floor(ms / 1000);\n const days = Math.floor(totalSeconds / 86400);\n const hours = Math.floor((totalSeconds % 86400) / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const seconds = totalSeconds % 60;\n return { days, hours, minutes, seconds };\n }\n render() {\n const { days, hours, minutes, seconds } = this.state;\n const isProductPage = document.querySelector('.s-ProductCard_b-flat-Metrics');\n const isFlat = document.querySelector('.s-flat-ProductPreview_b-flat-Price');\n if (isProductPage)\n return (h(\"div\", { class: 'b-flat-DiscountTimer' },\n h(\"div\", { class: 'b-flat-DiscountTimer_Item __product' },\n h(\"span\", null, days),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper __product' }, \"\\u0434\\u043D\\u0438\")),\n h(\"span\", { class: 'b-flat-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-flat-DiscountTimer_Item __product' },\n h(\"span\", null, hours),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper __product' }, \"\\u0447\\u0430\\u0441\\u044B\")),\n h(\"span\", { class: 'b-flat-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-flat-DiscountTimer_Item __product' },\n h(\"span\", null, minutes),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper __product' }, \"\\u043C\\u0438\\u043D\")),\n h(\"span\", { class: 'b-flat-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-flat-DiscountTimer_Item __product' },\n h(\"span\", null, seconds),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper __product' }, \"\\u0441\\u0435\\u043A\"))));\n else if (isFlat)\n return (h(\"div\", { class: 'b-flat-DiscountTimer' },\n h(\"div\", { class: 'b-flat-DiscountTimer_Item' },\n h(\"span\", null, days),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper' }, \"\\u0434\\u043D\\u0438\")),\n h(\"span\", { class: 'b-flat-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-flat-DiscountTimer_Item' },\n h(\"span\", null, hours),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper' }, \"\\u0447\\u0430\\u0441\\u044B\")),\n h(\"span\", { class: 'b-flat-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-flat-DiscountTimer_Item' },\n h(\"span\", null, minutes),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper' }, \"\\u043C\\u0438\\u043D\")),\n h(\"span\", { class: 'b-flat-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-flat-DiscountTimer_Item' },\n h(\"span\", null, seconds),\n h(\"span\", { class: 'b-flat-DiscountTimer_ItemWrapper' }, \"\\u0441\\u0435\\u043A\"))));\n else\n return (h(\"div\", { class: 'b-DiscountTimer' },\n h(\"div\", { class: 'b-DiscountTimer_Item' },\n h(\"span\", null, days),\n h(\"span\", { class: 'b-DiscountTimer_ItemWrapper' }, \"\\u0434\\u043D\\u0438\")),\n h(\"span\", { class: 'b-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-DiscountTimer_Item' },\n h(\"span\", null, hours),\n h(\"span\", { class: 'b-DiscountTimer_ItemWrapper' }, \"\\u0447\\u0430\\u0441\\u044B\")),\n h(\"span\", { class: 'b-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-DiscountTimer_Item' },\n h(\"span\", null, minutes),\n h(\"span\", { class: 'b-DiscountTimer_ItemWrapper' }, \"\\u043C\\u0438\\u043D\")),\n h(\"span\", { class: 'b-DiscountTimer_Splitter' }, \":\"),\n h(\"div\", { class: 'b-DiscountTimer_Item' },\n h(\"span\", null, seconds),\n h(\"span\", { class: 'b-DiscountTimer_ItemWrapper' }, \"\\u0441\\u0435\\u043A\"))));\n }\n}\n"],"names":["App","_Component","_inherits","_super","_this","_classCallCheck","apply","arguments","state","days","hours","minutes","seconds","updateTimeRemaining","_this$props","props","startsAt","expiresAt","startDate","Date","endDate","now","timeRemaining","Number","setState","calculateTimeUnits","clearInterval","timerInterval","key","value","this","setInterval","ms","totalSeconds","Math","floor","_this$state","isProductPage","document","querySelector","isFlat","h","class","Component"],"sourceRoot":""}