@ninetailed/experience.js-next 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +14 -1
- package/index.umd.js +13 -1
- package/package.json +6 -6
package/index.esm.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useNinetailed, NinetailedProvider as NinetailedProvider$1 } from '@ninetailed/experience.js-react';
|
|
2
2
|
export * from '@ninetailed/experience.js-react';
|
|
3
3
|
export * from '@ninetailed/experience.js-plugin-ssr';
|
|
4
|
+
import { logger } from '@ninetailed/experience.js';
|
|
4
5
|
export { decodeExperienceVariantsMap } from '@ninetailed/experience.js';
|
|
5
6
|
import React, { useRef, useEffect } from 'react';
|
|
6
7
|
import { useRouter } from 'next/router';
|
|
@@ -1067,9 +1068,20 @@ const Tracker = ({
|
|
|
1067
1068
|
} = useNinetailed();
|
|
1068
1069
|
const lastFiredPageRef = useRef(isFirstPageviewAlreadyTracked ? 'tracked' : 'none');
|
|
1069
1070
|
useEffect(() => {
|
|
1071
|
+
logger.debug('Ninetailed Next.js Tracker', 'The useEffect hook to listen for route changes got called. On instantiation the last fired page is:', lastFiredPageRef.current);
|
|
1072
|
+
|
|
1070
1073
|
const handleRouteChange = url => {
|
|
1071
|
-
|
|
1074
|
+
const isPageAlreadyTracked = lastFiredPageRef.current === url || lastFiredPageRef.current === 'tracked';
|
|
1075
|
+
logger.debug('Ninetailed Next.js Tracker', 'Handle route change got called.', {
|
|
1076
|
+
url,
|
|
1077
|
+
lastFiredPageUrl: lastFiredPageRef.current,
|
|
1078
|
+
isPageAlreadyTracked
|
|
1079
|
+
});
|
|
1080
|
+
|
|
1081
|
+
if (!isPageAlreadyTracked) {
|
|
1082
|
+
logger.debug('Ninetailed Next.js Tracker', 'Page is not tracked yet, calling the ninetailed.page function.');
|
|
1072
1083
|
page();
|
|
1084
|
+
logger.debug('Ninetailed Next.js Tracker', 'Page got tracked, setting the last fired page to the current url.', url);
|
|
1073
1085
|
lastFiredPageRef.current = url;
|
|
1074
1086
|
}
|
|
1075
1087
|
};
|
|
@@ -1077,6 +1089,7 @@ const Tracker = ({
|
|
|
1077
1089
|
handleRouteChange(router.asPath);
|
|
1078
1090
|
router.events.on('routeChangeStart', handleRouteChange);
|
|
1079
1091
|
return () => {
|
|
1092
|
+
logger.debug('Ninetailed Next.js Tracker', 'Removing the route change listener, as the useEffect hook got unmounted.');
|
|
1080
1093
|
router.events.off('routeChangeStart', handleRouteChange);
|
|
1081
1094
|
};
|
|
1082
1095
|
}, []);
|
package/index.umd.js
CHANGED
|
@@ -52,9 +52,20 @@
|
|
|
52
52
|
var page = experience_jsReact.useNinetailed().page;
|
|
53
53
|
var lastFiredPageRef = React.useRef(isFirstPageviewAlreadyTracked ? 'tracked' : 'none');
|
|
54
54
|
React.useEffect(function () {
|
|
55
|
+
experience_js.logger.debug('Ninetailed Next.js Tracker', 'The useEffect hook to listen for route changes got called. On instantiation the last fired page is:', lastFiredPageRef.current);
|
|
56
|
+
|
|
55
57
|
var handleRouteChange = function handleRouteChange(url) {
|
|
56
|
-
|
|
58
|
+
var isPageAlreadyTracked = lastFiredPageRef.current === url || lastFiredPageRef.current === 'tracked';
|
|
59
|
+
experience_js.logger.debug('Ninetailed Next.js Tracker', 'Handle route change got called.', {
|
|
60
|
+
url: url,
|
|
61
|
+
lastFiredPageUrl: lastFiredPageRef.current,
|
|
62
|
+
isPageAlreadyTracked: isPageAlreadyTracked
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
if (!isPageAlreadyTracked) {
|
|
66
|
+
experience_js.logger.debug('Ninetailed Next.js Tracker', 'Page is not tracked yet, calling the ninetailed.page function.');
|
|
57
67
|
page();
|
|
68
|
+
experience_js.logger.debug('Ninetailed Next.js Tracker', 'Page got tracked, setting the last fired page to the current url.', url);
|
|
58
69
|
lastFiredPageRef.current = url;
|
|
59
70
|
}
|
|
60
71
|
};
|
|
@@ -62,6 +73,7 @@
|
|
|
62
73
|
handleRouteChange(router$1.asPath);
|
|
63
74
|
router$1.events.on('routeChangeStart', handleRouteChange);
|
|
64
75
|
return function () {
|
|
76
|
+
experience_js.logger.debug('Ninetailed Next.js Tracker', 'Removing the route change listener, as the useEffect hook got unmounted.');
|
|
65
77
|
router$1.events.off('routeChangeStart', handleRouteChange);
|
|
66
78
|
};
|
|
67
79
|
}, []);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ninetailed/experience.js-next",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"next": ">=9.0.0",
|
|
6
6
|
"react": ">=16.8.0"
|
|
@@ -9,20 +9,20 @@
|
|
|
9
9
|
"module": "./index.esm.js",
|
|
10
10
|
"typings": "./index.d.ts",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@ninetailed/experience.js-react": "2.0
|
|
12
|
+
"@ninetailed/experience.js-react": "2.1.0",
|
|
13
13
|
"@analytics/google-analytics": "^0.5.3",
|
|
14
14
|
"lodash": "^4.17.21",
|
|
15
|
-
"@ninetailed/experience.js": "2.0
|
|
15
|
+
"@ninetailed/experience.js": "2.1.0",
|
|
16
16
|
"analytics": "^0.8.0",
|
|
17
|
-
"@ninetailed/experience.js-shared": "2.0
|
|
17
|
+
"@ninetailed/experience.js-shared": "2.1.0",
|
|
18
18
|
"uuid": "^8.3.2",
|
|
19
19
|
"ts-toolbelt": "^9.6.0",
|
|
20
20
|
"locale-enum": "^1.1.1",
|
|
21
21
|
"i18n-iso-countries": "^7.3.0",
|
|
22
|
-
"loglevel": "^1.8.0",
|
|
23
22
|
"murmurhash-js": "^1.0.0",
|
|
23
|
+
"diary": "^0.3.1",
|
|
24
24
|
"react-intersection-observer": "^8.33.1",
|
|
25
|
-
"@ninetailed/experience.js-plugin-ssr": "2.0
|
|
25
|
+
"@ninetailed/experience.js-plugin-ssr": "2.1.0",
|
|
26
26
|
"node-fetch": "^3.2.3",
|
|
27
27
|
"js-cookie": "^3.0.1"
|
|
28
28
|
}
|