{"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"}