{"version":3,"file":"index-CjHdYXAc.js","sources":["../../../app/javascript/src/explore/scenes/AhoyVisitRevalidation/index.tsx"],"sourcesContent":["import { FC, useCallback, useEffect } from 'react';\nimport ahoyTrack from 'src/explore/services/ahoy';\n\nconst AhoyVisitRevalidation: FC = () => {\n const revalidateAhoyVisitToken = useCallback( async () => {\n // only valid, unexpired cookies will appear in document.cookie\n // so it's sufficient to check for their existence\n if ( !document.cookie.includes( 'ahoy_visit=' )) {\n // revalidate the visit when the visit cookie expires or non-existent\n // this will hit /visits endpoint first before /events\n // as ahoy.js detects there's no valid ahoy_visit cookie\n ahoyTrack( 'visit_revalidation' );\n }\n }, []);\n\n useEffect(() => {\n window.addEventListener( 'focus', revalidateAhoyVisitToken );\n document.body.addEventListener( 'mouseenter', revalidateAhoyVisitToken );\n\n return () => {\n window.removeEventListener( 'focus', revalidateAhoyVisitToken );\n document.body.removeEventListener( 'mouseenter', revalidateAhoyVisitToken );\n };\n }, [ revalidateAhoyVisitToken ]);\n\n return null;\n};\n\nexport default AhoyVisitRevalidation;\n"],"names":["AhoyVisitRevalidation","revalidateAhoyVisitToken","useCallback","ahoyTrack","useEffect"],"mappings":"g7BAGA,MAAMA,EAA4B,IAAM,CAChC,MAAAC,EAA2BC,EAAAA,YAAa,SAAY,CAGlD,SAAS,OAAO,SAAU,aAAc,GAI5CC,EAAW,oBAAqB,CAEpC,EAAG,EAAE,EAELC,OAAAA,EAAAA,UAAU,KACD,OAAA,iBAAkB,QAASH,CAAyB,EAClD,SAAA,KAAK,iBAAkB,aAAcA,CAAyB,EAEhE,IAAM,CACJ,OAAA,oBAAqB,QAASA,CAAyB,EACrD,SAAA,KAAK,oBAAqB,aAAcA,CAAyB,CAC5E,GACC,CAAEA,CAAyB,CAAC,EAExB,IACT"}