{"version":3,"file":"src_components_infobox_Infoboxes_jsx.js","mappings":";oRAmBA,EAjBoB,SAACA,EAAUC,GAC7B,IAAMC,GAAgBC,EAAAA,EAAAA,WAEtBC,EAAAA,EAAAA,YAAU,WACRF,EAAcG,QAAUL,CAC1B,KAEAI,EAAAA,EAAAA,YAAU,WAKR,IAAIE,EAAKC,aAJT,WACEL,EAAcG,SAChB,GAE2BJ,GAC3B,OAAO,kBAAMO,cAAcF,EAAG,CAChC,GAAG,CAACL,GACN,mCCLA,EAZuB,SAACQ,GACpB,IAAIC,EAAc,CAAC,EAQnB,MAPmB,KAAfD,EAAKE,QACLD,EAAYC,MAAQ,IAAHC,OAAOH,EAAKE,QAEJ,KAAzBF,EAAKI,kBACLH,EAAYG,gBAAkB,IAAHD,OAAOH,EAAKI,kBAE3CH,EAAYI,SAAWC,SAASC,KAAKC,YAAc,KAC5CP,CACX,aCkBA,EAxBqB,SAACQ,GAClB,IAAMC,EAAW,eAAAC,GAAAC,EAAAA,EAAAA,GAAAC,IAAAA,MAAG,SAAAC,EAAgBC,GAAK,OAAAF,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,YAEjCC,EAAAA,EAAAA,OAAMJ,EAAO,qBAAqBI,EAAAA,EAAAA,OAAMJ,EAAO,eAAc,CAAAC,EAAAE,KAAA,WAChC,MAAzBH,EAAMK,OAAOC,QAAe,CAAAL,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACtBI,EAAAA,EAA6BC,mBAAmB,CAClDC,QAAST,EAAMK,OAAOK,OACxB,YAINN,EAAAA,EAAAA,OAAMJ,EAAO,mCACbI,EAAAA,EAAAA,OAAMJ,EAAO,6BAA4B,CAAAC,EAAAE,KAAA,WAEE,MAAvCH,EAAMK,OAAOM,cAAcL,QAAe,CAAAL,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACpCI,EAAAA,EAA6BC,mBAAmB,CAClDC,QAAST,EAAMK,OAAOM,cAAcD,OACtC,wBAAAT,EAAAW,OAAA,GAAAb,EAAA,KAGb,gBAnBgBc,GAAA,OAAAjB,EAAAkB,MAAA,KAAAC,UAAA,KAoBjB,OAAOC,EAAAA,cAAAA,EAAAA,SAAA,KAAGA,EAAAA,aAAmBtB,EAAMuB,SAAU,CAAEC,QAASvB,IAC5D,aC8CA,EAlEyB,SAAHC,GAA0C,IAApCuB,EAAgBvB,EAAhBuB,iBAAkBC,EAAWxB,EAAXwB,YACpClC,EAAcmC,EAAeF,GACnCG,GAA0CC,EAAAA,EAAAA,UAAS,IAAIC,KAAK,KAAIC,GAAAC,EAAAA,EAAAA,GAAAJ,EAAA,GAAzDK,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtCI,GAAkCN,EAAAA,EAAAA,UAAS,CACvCO,KAAM,EACNC,MAAO,EACPC,QAAS,EACTC,QAAS,IACXC,GAAAR,EAAAA,EAAAA,GAAAG,EAAA,GALKM,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAgBxBG,EAAY,eAAAC,GAAAzC,EAAAA,EAAAA,GAAAC,IAAAA,MAAG,SAAAC,IAAA,IAAAwC,EAAA,OAAAzC,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,GACIqC,EAAAA,EAAAA,IAAI,CACrBC,IAAK,iCAAFrD,OACC+B,EAAiBuB,eACXvB,EAAiBuB,eACjB,MAEZ,OANIH,EAAMtC,EAAA0C,KAOZC,QAAQC,IAAI,uBAAwBN,GACpCK,QAAQC,IAAI,SAAU,IAAIrB,KAAKe,EAAOO,gBACtClB,EAAiB,IAAIJ,KAAKe,EAAOO,gBAAgB,wBAAA7C,EAAAW,OAAA,GAAAb,EAAA,KACpD,kBAXiB,OAAAuC,EAAAxB,MAAA,KAAAC,UAAA,KAgClB,OAnBAnC,EAAAA,EAAAA,YAAU,WACNyD,GACJ,GAAG,KAEHzD,EAAAA,EAAAA,YAAU,WACN,KACKmE,EAAAA,EAAAA,OAAMpB,MACNqB,EAAAA,EAAAA,OAAMrB,EAAcsB,YACrBzB,KAAK0B,MAAQvB,EAAcsB,UAC7B,CACE,IAAME,EAAWpE,aAAY,WACzB,IAAMqE,EAAIC,EAAAA,EAAgBC,kBAAkB3B,GAC5CS,EAAagB,EACjB,GAAG,KAEH,OAAO,kBAAMpE,cAAcmE,EAAS,CACxC,CACJ,GAAG,CAACxB,IAGAX,EAAAA,cAAA,QAAMuC,UAAU,yBAAyBC,MAAOtE,GAC5C8B,EAAAA,cAAA,QACIyC,wBAAyB,CACrBC,OA7CK,WACjB,IAAMC,EAAI,IAAIC,OAAO,gCACrB,IAAIb,EAAAA,EAAAA,OAAMpB,KAAkBqB,EAAAA,EAAAA,OAAMrB,EAAcsB,WAC5C,OAAO9B,EAAiB0C,KAAKC,QAAQH,EAAG,IAE5C,IAAMI,EAAgBV,EAAAA,EAAgBW,sBAAsB7B,GAC5D,OAAOhB,EAAiB0C,KAAKC,QAAQH,EAAGI,EAC5C,CAsCwBE,MAEhBjD,EAAAA,cAAA,KACIuC,UAAU,+BACVrC,QAAS,WAAF,OAAQE,EAAYD,EAAiB,GAAE,KAK9D,ECoNA,EA7QkB,WACd,IAAM+C,EAAyB,yBAG/B5C,GAA8BC,EAAAA,EAAAA,UAAS,IAAGE,GAAAC,EAAAA,EAAAA,GAAAJ,EAAA,GAAnC6C,EAAO1C,EAAA,GAAE2C,EAAU3C,EAAA,GAC1BI,GAAkCN,EAAAA,EAAAA,UAAS,IAAGW,GAAAR,EAAAA,EAAAA,GAAAG,EAAA,GAAvCwC,EAASnC,EAAA,GAAEoC,EAAYpC,EAAA,GAC9BqC,GAAgDhD,EAAAA,EAAAA,UAAS,IAAGiD,GAAA9C,EAAAA,EAAAA,GAAA6C,EAAA,GAArDpD,EAAgBqD,EAAA,GAAEC,EAAmBD,EAAA,GAE5CE,EAAAA,EAAyBC,KAAKT,GAE9B,IAMMU,EAAoC,SAACC,GACvC,IAPoBC,EACdC,EAMAC,EAAkBN,EAAAA,EAAyBlC,IAAI,CACjDyC,IAAKf,IAET,QAAwBgB,IAApBF,EAA+B,CAC/B,IAAMG,GAAgBC,EAAAA,EAAAA,QAClBP,GACA,SAACQ,EAAKC,GAKF,OAJqBC,EAAAA,EAAAA,KAAIP,GAAiB,SAACQ,GAAC,OAAKA,EAAE3B,IAAI,IACrC4B,SAASH,EAAGzB,OAC1BwB,EAAIK,KAAKJ,GAEND,CACX,GACA,IAEJZ,EAAoBU,EACxB,KAAO,CACH,GAAgC,IAA5BhE,EAAiBwE,QAAqC,IAArBtB,EAAUsB,OAE3C,YADAlB,EAAoBI,GAGxB,GACI1D,EAAiBwE,SAAWtB,EAAUsB,QACtCtB,EAAUsB,OAAS,EAGnB,YADAlB,EAAoBJ,GAGpB,IAAMuB,GAlCRb,GADcD,EAmCa3D,GAlCL0E,MAAM,EAAG,GACtB,GAAHzG,QAAA0G,EAAAA,EAAAA,GAAOhB,EAAIe,MAAM,EAAGf,EAAIa,UAAOG,EAAAA,EAAAA,GAAKf,KAmCxCN,EAAoBmB,EAE5B,CACJ,EACMG,EAAS,eAAAnG,GAAAC,EAAAA,EAAAA,GAAAC,IAAAA,MAAG,SAAAC,IAAA,IAAAoE,EAAAE,EAAA2B,EAAAC,EAAAC,EAAAC,EAAA5D,EAAA,OAAAzC,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEI,OADdgE,EAAU,GACVE,EAAY,GAAEpE,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEKqC,EAAAA,EAAAA,IAAI,CACnBC,IAAK,kBACP,OAFIuD,EAAI/F,EAAA0C,KAIJsD,EAAuB,SAAUG,GACnC,IAAMC,EAAQ,IAAI7E,KACZ8E,EAAY,IAAI9E,KAAK6E,GAC3BC,EAAUC,QAAQD,EAAUE,UAAY,GACxC,IAAMC,EAAqB,IAAIjF,KAAK6E,GACpCI,EAAmBF,QAAQF,EAAMG,UAAY,KAC7C,IAAIE,EAAM,GAyDV,OAxDmC,IAA/BN,EAAWO,iBACXD,EAAIhB,KAAK,CACLkB,UAAWN,EACXO,QAASJ,EACT5C,KAAM,kGAAFzE,OACAgH,EAAWU,gBAAe,sGAAA1H,OACuE2H,EAAAA,EAAOC,eACxG,CACIC,KAAM,iCACNC,aAAa,IAEpB,gBAAA9H,OACGgH,EAAWe,4BAA2B,iDAAA/H,OAEtCgH,EAAWU,gBAAe,MAAA1H,OACzBgH,EAAWgB,oBAAmB,gBACnCjI,MAAO,GACPE,gBAAiB,KAGzBqH,EAAIhB,KAAK,CACLkB,UAAWN,EACXO,QAASJ,EACT5C,KAAM,kGAAFzE,OACAgH,EAAWiB,gBAAe,uGAAAjI,OACwE2H,EAAAA,EAAOC,eACzG,CACIC,KAAM,iCACNC,aAAa,IAEpB,iBAAA9H,OACGgH,EAAWkB,4BAA2B,iDAAAlI,OAEtCgH,EAAWiB,gBAAe,MAAAjI,OACzBgH,EAAWmB,oBAAmB,gBACnCpI,MAAO,GACPE,gBAAiB,KAErBqH,EAAIhB,KAAK,CACLkB,UAAWN,EACXO,QAASJ,EACT5C,KAAM,kGAAFzE,OACAgH,EAAWoB,kBAAiB,yGAAApI,OACwE2H,EAAAA,EAAOC,eAC3G,CACIC,KAAM,mCACNC,aAAa,IAEpB,gBAAA9H,OACGgH,EAAWqB,8BAA6B,iDAAArI,OAExCgH,EAAWoB,kBAAiB,MAAApI,OAC3BgH,EAAWsB,sBAAqB,gBACrCvI,MAAO,GACPE,gBAAiB,KAEdqH,CACX,GAEK3D,EAAAA,EAAAA,OAAMiD,EAAK2B,SACNzB,EAAiBD,EACnBD,EAAKE,gBAEHC,EAAkBH,EAAK2B,MAAMC,QAAO,SAACC,GAAC,OAAW,OAANA,CAAU,IAErDtF,GAASqF,EAAAA,EAAAA,QAAOzB,GAAiB,SAAC0B,GAAC,QAAM9E,EAAAA,EAAAA,OAAM8E,EAAEhE,KAAK,IAE5DM,EAAU+B,EAAe9G,QACrBwI,EAAAA,EAAAA,SACIrC,EAAAA,EAAAA,KAAIhD,GAAQ,SAACtD,EAAM6I,GACf,MAAO,CACHlB,UAAW3H,EAAK2H,UAChBC,QAAS5H,EAAK4H,QACdhD,KAAM5E,EAAK4E,MAAQ,GACnB1E,MAAOF,EAAK8I,WAAa,GACzB1I,gBAAiBJ,EAAK+I,qBAAuB,GAErD,KACA,SAACH,GAAC,QAAMI,EAAAA,EAAAA,SAAQJ,EAAEhE,KAAK,KAG/BQ,GAAYuD,EAAAA,EAAAA,SACRrC,EAAAA,EAAAA,KACIhD,GACA,SAACtD,EAAM6I,GACH,MAAO,CACHlB,UAAW3H,EAAK2H,UAChBC,QAAS5H,EAAK4H,QACdhD,KAAM5E,EAAKiJ,eAAiB,GAC5BxF,eAAgBzD,EAAKyD,gBAAkB,GACvCvD,MAAOF,EAAKkJ,oBAAsB,GAClC9I,gBACIJ,EAAKmJ,8BAAgC,GACzCC,aAAcpJ,EAAKoJ,cAAgB,GAE3C,GACA,KAEJ,SAAC7C,GAAC,QAAMyC,EAAAA,EAAAA,SAAQzC,EAAE3B,KAAK,KAE9B5D,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqI,GAAArI,EAAA,SAEoB,MAAjBA,EAAAqI,GAAMC,SACN3F,QAAQ4F,MAAM,eAAgBvI,EAAAqI,GAAMC,QACpC3F,QAAQ4F,MAAM,gCAA+BvI,EAAAqI,KAChD,eAAArI,EAAAwI,OAAA,SAGE,CAACtE,EAASE,IAAU,yBAAApE,EAAAW,OAAA,GAAAb,EAAA,mBAC9B,kBA5Hc,OAAAH,EAAAkB,MAAA,KAAAC,UAAA,MA8HfnC,EAAAA,EAAAA,YAAU,WACiB,SAAA8J,IAKtB,OALsBA,GAAA7I,EAAAA,EAAAA,GAAAC,IAAAA,MAAvB,SAAA6I,IAAA,IAAAC,EAAAC,EAAA1E,EAAAE,EAAA,OAAAvE,IAAAA,MAAA,SAAAgJ,GAAA,cAAAA,EAAA5I,KAAA4I,EAAA3I,MAAA,cAAA2I,EAAA3I,KAAA,EACuC4F,IAAW,OAAA6C,EAAAE,EAAAnG,KAAAkG,GAAAnH,EAAAA,EAAAA,GAAAkH,EAAA,GAAvCzE,EAAO0E,EAAA,GAAExE,EAASwE,EAAA,GACzBzE,EAAWD,GACXG,EAAaD,GACbO,EAAkCP,GAAW,wBAAAyE,EAAAlI,OAAA,GAAA+H,EAAA,KAChDD,EAAA5H,MAAA,KAAAC,UAAA,EANW,WACW2H,EAAA5H,MAAC,KAADC,UAAA,CAMvBgI,EACJ,GAAG,IAEHC,GACI,kBAAMpE,EAAkCP,EAAU,GA1LtB,KAgNhC,IAAM4E,GAAe1D,EAAAA,EAAAA,KACjBpB,GACA,SAAClF,EAAM6I,GACH,GAAI7I,GAAsB,KAAdA,EAAK4E,KAAa,CAC1B,IAAI3E,EAAcmC,EAAepC,GACjC,OACI+B,EAAAA,cAAA,OACIiE,IAAK6C,EACLtE,MAAO,CAAElE,SAAUC,SAASC,KAAKC,YAAc,OAC/CuB,EAAAA,cAAA,QAAMuC,UAAU,eAAeC,MAAOtE,GAClC8B,EAAAA,cAAA,QACIyC,wBAAyB,CAAEC,OAAQzE,EAAK4E,MACxCL,MAAO,CACHlE,SAAUC,SAASC,KAAKC,YAAc,SAK9D,CACA,OAAOuB,EAAAA,cAAA,OAAKiE,IAAK6C,GACrB,GACA,IAGJ,OACI9G,EAAAA,cAAA,OAAKuC,UAAU,eACXvC,EAAAA,cAAA,OACIuC,UAAU,SACVC,MAAO,CAAElE,SAAUC,SAASC,KAAKC,YAAc,OAC9C0E,EAAQwB,OAAS,EACd3E,EAAAA,cAACkI,EAAAA,EAAQ,CACL/F,SAAS,QACTgG,QAAQ,EACRC,aAAc,CAAEC,UAAW,IAAKC,QAAS,IACzCC,MAAM,EACNC,MAAM,EACNhG,MAAO,CAAElE,SAAUC,SAASC,KAAKC,YAAc,OAC9CwJ,GAGLjI,EAAAA,cAAA,OAAKwC,MAAO,CAAEiG,OAAQ,MAG7BtI,GAAoBA,EAAiBwE,OAAS,EAC3C3E,EAAAA,cAAC0I,EAAY,KACT1I,EAAAA,cAAA,OAAKuC,UAAU,UACXvC,EAAAA,cAAC2I,EAAgB,CACbxI,iBAAkBA,EAAiB,GACnCC,YAlExB,SAAqBnC,GACjB,IAAMsD,GAAS6C,EAAAA,EAAAA,QACXjE,GACA,SAACkE,EAAKwC,EAAGC,GAIL,OAHID,EAAEhE,OAAS5E,EAAK4E,MAChBwB,EAAIK,KAAKmC,GAENxC,CACX,GACA,IAEJZ,EAAoBlC,GACpBmC,EAAAA,EAAyBkF,IAAI,CACzB3E,IAAKf,EACL8B,KAAM/G,GAEd,MAuDY+B,EAAAA,cAAA,OAAKwC,MAAO,CAAEiG,OAAQ,KAItC","sources":["webpack://ecommerce/./src/hooks/useInterval.js","webpack://ecommerce/./src/components/infobox/infobox.js","webpack://ecommerce/./src/components/infobox/InfoboxGroup.jsx","webpack://ecommerce/./src/components/infobox/InfoboxSecondary.jsx","webpack://ecommerce/./src/components/infobox/Infoboxes.jsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\r\n\r\nconst useInterval = (callback, delay) => {\r\n const savedCallback = useRef();\r\n\r\n useEffect(() => {\r\n savedCallback.current = callback;\r\n });\r\n\r\n useEffect(() => {\r\n function tick() {\r\n savedCallback.current();\r\n }\r\n\r\n let id = setInterval(tick, delay);\r\n return () => clearInterval(id);\r\n }, [delay]);\r\n};\r\n\r\nexport default useInterval;\r\n","const setCustomStyle = (item) => {\r\n let customStyle = {};\r\n if (item.color !== '') {\r\n customStyle.color = `#${item.color}`;\r\n }\r\n if (item.backgroundColor !== '') {\r\n customStyle.backgroundColor = `#${item.backgroundColor}`;\r\n }\r\n customStyle.maxWidth = document.body.clientWidth + 'px';\r\n return customStyle;\r\n};\r\n\r\nexport default setCustomStyle;\r\n","import React from 'react';\r\nimport { hasIn } from 'lodash';\r\nimport marketingAndAnalyticsService from '../../services/marketingAndAnalytics/marketingAndAnalyticsService.js';\r\n\r\nconst InfoboxGroup = (props) => {\r\n const handleClick = async function (event) {\r\n // event.preventDefault();\r\n if (hasIn(event, 'target.tagName') && hasIn(event, 'target.href')) {\r\n if (event.target.tagName === 'A') {\r\n await marketingAndAnalyticsService.recordInfoboxClick({\r\n linkUrl: event.target.href,\r\n });\r\n }\r\n }\r\n if (\r\n hasIn(event, 'target.parentElement.tagName') &&\r\n hasIn(event, 'target.parentElement.href')\r\n ) {\r\n if (event.target.parentElement.tagName === 'A') {\r\n await marketingAndAnalyticsService.recordInfoboxClick({\r\n linkUrl: event.target.parentElement.href,\r\n });\r\n }\r\n }\r\n };\r\n return <>{React.cloneElement(props.children, { onClick: handleClick })}>;\r\n};\r\n\r\nexport default InfoboxGroup;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { isNaN, isNil } from 'lodash';\r\nimport countdownHelper from '../../help/countdown';\r\nimport { get } from '../../common/httpService';\r\nimport setCustomStyle from './infobox';\r\n\r\nconst InfoboxSecondary = ({ secondaryVisible, closeBanner }) => {\r\n const customStyle = setCustomStyle(secondaryVisible);\r\n const [countDownDate, setCountDownDate] = useState(new Date(''));\r\n const [countDown, setCountDown] = useState({\r\n days: 0,\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n });\r\n\r\n const generateInfo = () => {\r\n const r = new RegExp(/(\\[\\[\\s*countdown\\s*\\]\\])+/gi);\r\n if (isNil(countDownDate) || isNaN(countDownDate.getTime()))\r\n return secondaryVisible.info.replace(r, '');\r\n\r\n const countDownText = countdownHelper.generateCountdownText(countDown);\r\n return secondaryVisible.info.replace(r, countDownText);\r\n };\r\n\r\n const getCountDown = async () => {\r\n const result = await get({\r\n url: `cms/getCountdownByTitle?title=${\r\n secondaryVisible.countdownTitle\r\n ? secondaryVisible.countdownTitle\r\n : ''\r\n }`,\r\n });\r\n console.log('countdown received: ', result);\r\n console.log('date: ', new Date(result.countdownDate));\r\n setCountDownDate(new Date(result.countdownDate));\r\n };\r\n\r\n useEffect(() => {\r\n getCountDown();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n !isNil(countDownDate) &&\r\n !isNaN(countDownDate.getTime()) &&\r\n Date.now() < countDownDate.getTime()\r\n ) {\r\n const interval = setInterval(() => {\r\n const c = countdownHelper.generateCountdown(countDownDate);\r\n setCountDown(c);\r\n }, 250);\r\n\r\n return () => clearInterval(interval);\r\n }\r\n }, [countDownDate]);\r\n\r\n return (\r\n \r\n \r\n closeBanner(secondaryVisible)}>\r\n ×\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InfoboxSecondary;\r\n","import React, { useState, useEffect } from 'react';\r\nimport TextLoop from 'react-text-loop';\r\nimport { map, reduce, filter, isNil, isEmpty } from 'lodash';\r\nimport useInterval from '../../hooks/useInterval';\r\nimport expirationStorageService from '../../common/expirationStorageService';\r\nimport { get } from '../../common/httpService';\r\nimport common from '../../common/common';\r\nimport setCustomStyle from './infobox';\r\nimport InfoboxGroup from './InfoboxGroup.jsx';\r\nimport InfoboxSecondary from './InfoboxSecondary.jsx';\r\n\r\nimport './Infobox.scss';\r\n\r\nconst Infoboxes = () => {\r\n const INFOBOX_MESSAGE_CLOSED = 'INFOBOX_MESSAGE_CLOSED';\r\n const CHECK_ELEMENTS_DURATION = 10000; // 10s DURATION for SECONDARY ELEMENTS\r\n\r\n const [primary, setPrimary] = useState([]);\r\n const [secondary, setSecondary] = useState([]);\r\n const [secondaryVisible, setSecondaryVisible] = useState([]);\r\n\r\n expirationStorageService.init(INFOBOX_MESSAGE_CLOSED);\r\n\r\n const rotateElements = (arr) => {\r\n const elementToRotate = arr.slice(0, 1);\r\n const result = [...arr.slice(1, arr.length), ...elementToRotate];\r\n return result;\r\n };\r\n\r\n const setSecondaryVisibleWithoutRemoved = (all) => {\r\n const expiredElements = expirationStorageService.get({\r\n key: INFOBOX_MESSAGE_CLOSED,\r\n });\r\n if (expiredElements !== undefined) {\r\n const allNotExpired = reduce(\r\n all,\r\n (acc, el) => {\r\n const expiredInfos = map(expiredElements, (e) => e.info);\r\n if (!expiredInfos.includes(el.info)) {\r\n acc.push(el);\r\n }\r\n return acc;\r\n },\r\n []\r\n );\r\n setSecondaryVisible(allNotExpired);\r\n } else {\r\n if (secondaryVisible.length === 0 && secondary.length === 0) {\r\n setSecondaryVisible(all);\r\n return;\r\n }\r\n if (\r\n secondaryVisible.length !== secondary.length &&\r\n secondary.length > 0\r\n ) {\r\n setSecondaryVisible(secondary);\r\n return;\r\n } else {\r\n const x = rotateElements(secondaryVisible);\r\n\r\n setSecondaryVisible(x);\r\n }\r\n }\r\n };\r\n const fetchData = async () => {\r\n let primary = [];\r\n let secondary = [];\r\n try {\r\n const data = await get({\r\n url: `infobox/infos`,\r\n });\r\n\r\n const createHeaderMessages = function (headerData) {\r\n const today = new Date();\r\n const yesterday = new Date(today);\r\n yesterday.setDate(yesterday.getDate() - 1);\r\n const oneYearInTheFuture = new Date(today);\r\n oneYearInTheFuture.setDate(today.getDate() + 365);\r\n let res = [];\r\n if (headerData.standardMessage === false) {\r\n res.push({\r\n validFrom: yesterday,\r\n validTo: oneYearInTheFuture,\r\n info: `
`,\r\n color: '',\r\n backgroundColor: '',\r\n });\r\n }\r\n res.push({\r\n validFrom: yesterday,\r\n validTo: oneYearInTheFuture,\r\n info: ` `,\r\n color: '',\r\n backgroundColor: '',\r\n });\r\n res.push({\r\n validFrom: yesterday,\r\n validTo: oneYearInTheFuture,\r\n info: ` `,\r\n color: '',\r\n backgroundColor: '',\r\n });\r\n return res;\r\n };\r\n\r\n if (!isNil(data.infos)) {\r\n const headerMessages = createHeaderMessages(\r\n data.headerMessages\r\n );\r\n const infosForCulture = data.infos.filter((i) => i !== null);\r\n\r\n const result = filter(infosForCulture, (i) => !isNil(i.info));\r\n\r\n primary = headerMessages.concat(\r\n filter(\r\n map(result, (item, index) => {\r\n return {\r\n validFrom: item.validFrom,\r\n validTo: item.validTo,\r\n info: item.info || '',\r\n color: item.colorInfo || '',\r\n backgroundColor: item.backgroundColorInfo || '',\r\n };\r\n }),\r\n (i) => !isEmpty(i.info)\r\n )\r\n );\r\n secondary = filter(\r\n map(\r\n result,\r\n (item, index) => {\r\n return {\r\n validFrom: item.validFrom,\r\n validTo: item.validTo,\r\n info: item.infoSecondary || '',\r\n countdownTitle: item.countdownTitle || '',\r\n color: item.colorInfoSecondary || '',\r\n backgroundColor:\r\n item.backgroundColorInfoSecondary || '',\r\n destinations: item.destinations || [],\r\n };\r\n },\r\n []\r\n ),\r\n (e) => !isEmpty(e.info)\r\n );\r\n }\r\n } catch (error) {\r\n if (error.status !== 404) {\r\n console.error('error.status', error.status);\r\n console.error('Error retrieving infobox data', error);\r\n }\r\n }\r\n\r\n return [primary, secondary];\r\n };\r\n\r\n useEffect(() => {\r\n async function fetchAll() {\r\n const [primary, secondary] = await fetchData();\r\n setPrimary(primary);\r\n setSecondary(secondary);\r\n setSecondaryVisibleWithoutRemoved(secondary);\r\n }\r\n fetchAll();\r\n }, []);\r\n\r\n useInterval(\r\n () => setSecondaryVisibleWithoutRemoved(secondary),\r\n CHECK_ELEMENTS_DURATION\r\n );\r\n\r\n function closeBanner(item) {\r\n const result = reduce(\r\n secondaryVisible,\r\n (acc, i, index) => {\r\n if (i.info !== item.info) {\r\n acc.push(i);\r\n }\r\n return acc;\r\n },\r\n []\r\n );\r\n setSecondaryVisible(result);\r\n expirationStorageService.add({\r\n key: INFOBOX_MESSAGE_CLOSED,\r\n data: item,\r\n });\r\n }\r\n\r\n const infosPrimary = map(\r\n primary,\r\n (item, index) => {\r\n if (item && item.info !== '') {\r\n let customStyle = setCustomStyle(item);\r\n return (\r\n