Added useRef back

This commit is contained in:
Linus Flood
2024-11-13 10:44:56 +01:00
parent 0a3b063219
commit dbe7ce34e2

View File

@@ -37,10 +37,13 @@ export default function RouterTransition({
const pathName = usePathname() const pathName = usePathname()
const { isTransitioning, stopRouterTransition } = useRouterTransitionStore() const { isTransitioning, stopRouterTransition } = useRouterTransitionStore()
//const hasRunInitial = useRef<boolean>(false)
// We need this check to differentiate hard vs soft navigations
// This is not because of StrictMode
const hasRunInitial = useRef<boolean>(false)
useEffect(() => { useEffect(() => {
if (!hasRun) { if (!hasRun && !hasRunInitial.current) {
const perfObserver = new PerformanceObserver((observedEntries) => { const perfObserver = new PerformanceObserver((observedEntries) => {
const entry = observedEntries.getEntriesByType("navigation")[0] const entry = observedEntries.getEntriesByType("navigation")[0]
if (entry) { if (entry) {
@@ -67,6 +70,7 @@ export default function RouterTransition({
type: "navigation", type: "navigation",
buffered: true, buffered: true,
}) })
hasRunInitial.current = true
setHasRun() setHasRun()
} }
}, [pathName, hasRun, setHasRun, hotelInfo, userData, pageData]) }, [pathName, hasRun, setHasRun, hotelInfo, userData, pageData])
@@ -89,7 +93,7 @@ export default function RouterTransition({
!isTransitioning && !isTransitioning &&
status === TransitionStatusEnum.Done status === TransitionStatusEnum.Done
) { ) {
if (window.adobeDataLayer && hasRun) { if (window.adobeDataLayer && hasRun && !hasRunInitial.current) {
const trackingData = { const trackingData = {
...pageData, ...pageData,
pathName, pathName,