aesirx-analytics 2.2.10 → 2.2.12
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/README.md +2 -0
- package/dist/{Consent-57MTI7TD.js → Consent-QTHZTQUK.js} +14 -10
- package/dist/ConsentCustom-HQ6RMLQ6.js +1157 -0
- package/dist/analytics.js +1168 -378
- package/dist/{chunk-5VSCCPP6.js → chunk-PD33NAQI.js} +1036 -301
- package/dist/{chunk-N36VEWSG.js → chunk-R4T7FUMB.js} +412 -46
- package/dist/chunk-UJTYOAT7.js +464 -0
- package/dist/index.js +25 -470
- package/package.json +2 -2
- package/dist/ConsentCustom-EZS7JI2G.js +0 -934
package/dist/index.js
CHANGED
@@ -1,473 +1,21 @@
|
|
1
|
+
import {
|
2
|
+
endTracker,
|
3
|
+
endTrackerVisibilityState,
|
4
|
+
fingerprint_default,
|
5
|
+
startTracker,
|
6
|
+
trackEvent
|
7
|
+
} from "./chunk-UJTYOAT7.js";
|
1
8
|
import {
|
2
9
|
AnalyticsContext,
|
3
10
|
AnalyticsContextProvider_default,
|
4
11
|
getConsentTemplate
|
5
|
-
} from "./chunk-
|
12
|
+
} from "./chunk-R4T7FUMB.js";
|
6
13
|
|
7
14
|
// src/AnalyticsNext/index.tsx
|
8
15
|
import React2, { useEffect as useEffect2, useState as useState2 } from "react";
|
9
16
|
|
10
17
|
// src/AnalyticsNext/handle.tsx
|
11
18
|
import React, { useCallback, useEffect, useState } from "react";
|
12
|
-
|
13
|
-
// src/utils/services.ts
|
14
|
-
var cache;
|
15
|
-
var assign = (a, b) => {
|
16
|
-
Object.keys(b).forEach((key) => {
|
17
|
-
if (b[key] !== void 0)
|
18
|
-
a[key] = b[key];
|
19
|
-
});
|
20
|
-
return a;
|
21
|
-
};
|
22
|
-
var trackerService = async (endpoint, payload) => {
|
23
|
-
const fetchData = await fetch(endpoint, {
|
24
|
-
method: "POST",
|
25
|
-
body: JSON.stringify(payload),
|
26
|
-
headers: assign({ "Content-Type": "application/json" }, { ["x-tracker-cache"]: cache })
|
27
|
-
});
|
28
|
-
const response = await fetchData.json();
|
29
|
-
if (response.error) {
|
30
|
-
throw response.error;
|
31
|
-
} else {
|
32
|
-
return response;
|
33
|
-
}
|
34
|
-
};
|
35
|
-
|
36
|
-
// src/utils/index.ts
|
37
|
-
import Bowser from "bowser";
|
38
|
-
|
39
|
-
// src/lib/envHelper.ts
|
40
|
-
var getHashKey = () => {
|
41
|
-
let value = null;
|
42
|
-
try {
|
43
|
-
if (typeof process.env != "undefined") {
|
44
|
-
value = process.env.SECURE_LOCAL_STORAGE_HASH_KEY || process.env.REACT_APP_SECURE_LOCAL_STORAGE_HASH_KEY || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_HASH_KEY || process.env.VITE_SECURE_LOCAL_STORAGE_HASH_KEY;
|
45
|
-
} else {
|
46
|
-
console.warn(`react-secure-storage : process is not defined! Just a warning!`);
|
47
|
-
}
|
48
|
-
} catch (ex) {
|
49
|
-
return null;
|
50
|
-
}
|
51
|
-
return value;
|
52
|
-
};
|
53
|
-
var getStoragePrefix = () => {
|
54
|
-
let value = null;
|
55
|
-
try {
|
56
|
-
if (typeof process.env != "undefined") {
|
57
|
-
value = process.env.SECURE_LOCAL_STORAGE_PREFIX || process.env.REACT_APP_SECURE_LOCAL_STORAGE_PREFIX || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_PREFIX || process.env.VITE_SECURE_LOCAL_STORAGE_PREFIX;
|
58
|
-
} else {
|
59
|
-
console.warn(`react-secure-storage : process is not defined! Just a warning!`);
|
60
|
-
}
|
61
|
-
} catch (ex) {
|
62
|
-
return null;
|
63
|
-
}
|
64
|
-
return value;
|
65
|
-
};
|
66
|
-
var getDisabledKeys = () => {
|
67
|
-
let value = null;
|
68
|
-
try {
|
69
|
-
if (typeof process.env != "undefined") {
|
70
|
-
value = process.env.SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.REACT_APP_SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.VITE_SECURE_LOCAL_STORAGE_DISABLED_KEYS;
|
71
|
-
} else {
|
72
|
-
console.warn(`react-secure-storage : process is not defined! Just a warning!`);
|
73
|
-
}
|
74
|
-
} catch (ex) {
|
75
|
-
return null;
|
76
|
-
}
|
77
|
-
return value;
|
78
|
-
};
|
79
|
-
var envHelper = {
|
80
|
-
getHashKey,
|
81
|
-
getStoragePrefix,
|
82
|
-
getDisabledKeys
|
83
|
-
};
|
84
|
-
var envHelper_default = envHelper;
|
85
|
-
|
86
|
-
// src/lib/fingerpint.lib.ts
|
87
|
-
import murmurhash3_32_gc from "murmurhash-js/murmurhash3_gc";
|
88
|
-
|
89
|
-
// src/lib/utils.ts
|
90
|
-
var FINGERPRINT_KEYS = {
|
91
|
-
USERAGENT: "UserAgent",
|
92
|
-
SCREEN_PRINT: "ScreenPrint",
|
93
|
-
PLUGINS: "Plugins",
|
94
|
-
FONTS: "Fonts",
|
95
|
-
LOCAL_STORAGE: "LocalStorage",
|
96
|
-
SESSION_STORAGE: "SessionStorage",
|
97
|
-
TIMEZONE: "TimeZone",
|
98
|
-
LANGUAGE: "Language",
|
99
|
-
SYSTEM_LANGUAGE: "SystemLanguage",
|
100
|
-
COOKIE: "Cookie",
|
101
|
-
CANVAS: "Canvas",
|
102
|
-
HOSTNAME: "Hostname"
|
103
|
-
};
|
104
|
-
var getDisabledKeys2 = () => {
|
105
|
-
const DISABLED_KEYS = envHelper_default.getDisabledKeys() || "";
|
106
|
-
if (DISABLED_KEYS === "")
|
107
|
-
return [];
|
108
|
-
const allOptions = [
|
109
|
-
FINGERPRINT_KEYS.USERAGENT,
|
110
|
-
FINGERPRINT_KEYS.SCREEN_PRINT,
|
111
|
-
FINGERPRINT_KEYS.PLUGINS,
|
112
|
-
FINGERPRINT_KEYS.FONTS,
|
113
|
-
FINGERPRINT_KEYS.LOCAL_STORAGE,
|
114
|
-
FINGERPRINT_KEYS.SESSION_STORAGE,
|
115
|
-
FINGERPRINT_KEYS.TIMEZONE,
|
116
|
-
FINGERPRINT_KEYS.LANGUAGE,
|
117
|
-
FINGERPRINT_KEYS.SYSTEM_LANGUAGE,
|
118
|
-
FINGERPRINT_KEYS.COOKIE,
|
119
|
-
FINGERPRINT_KEYS.CANVAS,
|
120
|
-
FINGERPRINT_KEYS.HOSTNAME
|
121
|
-
];
|
122
|
-
const response = [];
|
123
|
-
DISABLED_KEYS.split("|").forEach((key) => {
|
124
|
-
if (key === "") {
|
125
|
-
console.log("test");
|
126
|
-
} else if (allOptions.includes(key))
|
127
|
-
response.push(key);
|
128
|
-
else
|
129
|
-
console.warn(
|
130
|
-
`react-secure-storage : ${key} is not present in the available disabled keys options! Please go through the documentation`
|
131
|
-
);
|
132
|
-
});
|
133
|
-
return response;
|
134
|
-
};
|
135
|
-
|
136
|
-
// src/lib/fingerpint.lib.ts
|
137
|
-
var ClientJS = class {
|
138
|
-
//
|
139
|
-
// MAIN METHODS
|
140
|
-
//
|
141
|
-
// Get Fingerprint. Return a 32-bit integer representing the browsers fingerprint.
|
142
|
-
getFingerprint() {
|
143
|
-
const bar = "|";
|
144
|
-
const disabledKeys = getDisabledKeys2();
|
145
|
-
let key = "";
|
146
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.USERAGENT)) {
|
147
|
-
key += navigator.userAgent + bar;
|
148
|
-
}
|
149
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.HOSTNAME)) {
|
150
|
-
key += window.location.hostname + bar;
|
151
|
-
}
|
152
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.SCREEN_PRINT)) {
|
153
|
-
key += this.getScreenPrint() + bar;
|
154
|
-
}
|
155
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.PLUGINS)) {
|
156
|
-
key += this.getPlugins() + bar;
|
157
|
-
}
|
158
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.FONTS)) {
|
159
|
-
key += this.getFonts() + bar;
|
160
|
-
}
|
161
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.LOCAL_STORAGE)) {
|
162
|
-
key += this.isLocalStorage() + bar;
|
163
|
-
}
|
164
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.SESSION_STORAGE)) {
|
165
|
-
key += this.isSessionStorage() + bar;
|
166
|
-
}
|
167
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.TIMEZONE)) {
|
168
|
-
key += this.getTimeZone() + bar;
|
169
|
-
}
|
170
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.LANGUAGE)) {
|
171
|
-
key += this.getLanguage() + bar;
|
172
|
-
}
|
173
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.SYSTEM_LANGUAGE)) {
|
174
|
-
key += this.getSystemLanguage() + bar;
|
175
|
-
}
|
176
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.COOKIE)) {
|
177
|
-
key += this.isCookie() + bar;
|
178
|
-
}
|
179
|
-
if (!disabledKeys.includes(FINGERPRINT_KEYS.CANVAS)) {
|
180
|
-
key += this.getCanvasPrint();
|
181
|
-
}
|
182
|
-
if (key.endsWith(bar))
|
183
|
-
key = key.substring(0, key.length - 1);
|
184
|
-
const seed = 256;
|
185
|
-
return murmurhash3_32_gc(key, seed);
|
186
|
-
}
|
187
|
-
//
|
188
|
-
// SCREEN METHODS
|
189
|
-
//
|
190
|
-
// Get Screen Print. Return a string containing screen information.
|
191
|
-
getScreenPrint() {
|
192
|
-
return "Color Depth: " + this.getColorDepth() + ", Device XDPI: " + this.getDeviceXDPI() + ", Device YDPI: " + this.getDeviceYDPI();
|
193
|
-
}
|
194
|
-
// Get Color Depth. Return a string containing the color depth.
|
195
|
-
getColorDepth() {
|
196
|
-
return window.screen.colorDepth;
|
197
|
-
}
|
198
|
-
// Get Current Resolution. Return a string containing the current resolution.
|
199
|
-
getCurrentResolution() {
|
200
|
-
return window.screen.width + "x" + window.screen.height;
|
201
|
-
}
|
202
|
-
// Get Available Resolution. Return a string containing the available resolution.
|
203
|
-
getAvailableResolution() {
|
204
|
-
return window.screen.availWidth + "x" + window.screen.availHeight;
|
205
|
-
}
|
206
|
-
// Get Device XPDI. Return a string containing the device XPDI.
|
207
|
-
getDeviceXDPI() {
|
208
|
-
return "";
|
209
|
-
}
|
210
|
-
// Get Device YDPI. Return a string containing the device YDPI.
|
211
|
-
getDeviceYDPI() {
|
212
|
-
return "";
|
213
|
-
}
|
214
|
-
//
|
215
|
-
// PLUGIN METHODS
|
216
|
-
//
|
217
|
-
// Get Plugins. Return a string containing a list of installed plugins.
|
218
|
-
getPlugins() {
|
219
|
-
let pluginsList = "";
|
220
|
-
for (let i = 0; i < navigator.plugins.length; i++) {
|
221
|
-
if (i === navigator.plugins.length - 1) {
|
222
|
-
pluginsList += navigator.plugins[i].name;
|
223
|
-
} else {
|
224
|
-
pluginsList += navigator.plugins[i].name + ", ";
|
225
|
-
}
|
226
|
-
}
|
227
|
-
return pluginsList;
|
228
|
-
}
|
229
|
-
//
|
230
|
-
// FONT METHODS
|
231
|
-
//
|
232
|
-
// Get Fonts. Return a string containing a list of installed fonts.
|
233
|
-
getFonts() {
|
234
|
-
const fontString = "";
|
235
|
-
return fontString;
|
236
|
-
}
|
237
|
-
//
|
238
|
-
// STORAGE METHODS
|
239
|
-
//
|
240
|
-
// Is Local Storage. Check if local storage is enabled.
|
241
|
-
isLocalStorage() {
|
242
|
-
try {
|
243
|
-
return !!localStorage;
|
244
|
-
} catch (e) {
|
245
|
-
return true;
|
246
|
-
}
|
247
|
-
}
|
248
|
-
// Is Session Storage. Check if session storage is enabled.
|
249
|
-
isSessionStorage() {
|
250
|
-
try {
|
251
|
-
return !!sessionStorage;
|
252
|
-
} catch (e) {
|
253
|
-
return true;
|
254
|
-
}
|
255
|
-
}
|
256
|
-
// Is Cookie. Check if cookies are enabled.
|
257
|
-
isCookie() {
|
258
|
-
return navigator.cookieEnabled;
|
259
|
-
}
|
260
|
-
//
|
261
|
-
// TIME METHODS
|
262
|
-
//
|
263
|
-
// Get Time Zone. Return a string containing the time zone.
|
264
|
-
getTimeZone() {
|
265
|
-
const rightNow = /* @__PURE__ */ new Date();
|
266
|
-
let myNumber, formattedNumber, result;
|
267
|
-
myNumber = String(-(rightNow.getTimezoneOffset() / 60));
|
268
|
-
if (myNumber < 0) {
|
269
|
-
myNumber = myNumber * -1;
|
270
|
-
formattedNumber = ("0" + myNumber).slice(-2);
|
271
|
-
result = "-" + formattedNumber;
|
272
|
-
} else {
|
273
|
-
formattedNumber = ("0" + myNumber).slice(-2);
|
274
|
-
result = "+" + formattedNumber;
|
275
|
-
}
|
276
|
-
return result;
|
277
|
-
}
|
278
|
-
//
|
279
|
-
// LANGUAGE METHODS
|
280
|
-
//
|
281
|
-
// Get Language. Return a string containing the user language.
|
282
|
-
getLanguage() {
|
283
|
-
return navigator.language;
|
284
|
-
}
|
285
|
-
// Get System Language. Return a string containing the system language.
|
286
|
-
getSystemLanguage() {
|
287
|
-
return navigator.language || window.navigator.language;
|
288
|
-
}
|
289
|
-
// Get Canvas Print. Return a string containing the canvas URI data.
|
290
|
-
getCanvasPrint() {
|
291
|
-
const canvas = document.createElement("canvas");
|
292
|
-
let ctx;
|
293
|
-
try {
|
294
|
-
ctx = canvas.getContext("2d");
|
295
|
-
} catch (e) {
|
296
|
-
return "";
|
297
|
-
}
|
298
|
-
const txt = "ClientJS,org <canvas> 1.0";
|
299
|
-
ctx.textBaseline = "top";
|
300
|
-
ctx.font = "14px 'Arial'";
|
301
|
-
ctx.textBaseline = "alphabetic";
|
302
|
-
ctx.fillStyle = "#f60";
|
303
|
-
ctx.fillRect(125, 1, 62, 20);
|
304
|
-
ctx.fillStyle = "#069";
|
305
|
-
ctx.fillText(txt, 2, 15);
|
306
|
-
ctx.fillStyle = "rgba(102, 204, 0, 0.7)";
|
307
|
-
ctx.fillText(txt, 4, 17);
|
308
|
-
return canvas.toDataURL();
|
309
|
-
}
|
310
|
-
};
|
311
|
-
var clientJS = new ClientJS();
|
312
|
-
var fingerpint_lib_default = clientJS;
|
313
|
-
|
314
|
-
// src/lib/fingerprint.ts
|
315
|
-
var HASH_KEY = "E86E2612010258B35137";
|
316
|
-
var getFingerprint = () => {
|
317
|
-
const HASH_KEY_CUSTOM = envHelper_default.getHashKey() || HASH_KEY;
|
318
|
-
if (typeof window === "undefined")
|
319
|
-
return HASH_KEY_CUSTOM;
|
320
|
-
return fingerpint_lib_default.getFingerprint() + HASH_KEY_CUSTOM;
|
321
|
-
};
|
322
|
-
var fingerprint_default = getFingerprint;
|
323
|
-
|
324
|
-
// src/utils/index.ts
|
325
|
-
var createRequest = (endpoint, task) => {
|
326
|
-
return `${endpoint}/visitor/v1/${task}`;
|
327
|
-
};
|
328
|
-
var createRequestV2 = (endpoint, task) => {
|
329
|
-
return `${endpoint}/visitor/v2/${task}`;
|
330
|
-
};
|
331
|
-
var rememberFlow = (endpoint, flow) => {
|
332
|
-
return `${endpoint}/remember_flow/${flow}`;
|
333
|
-
};
|
334
|
-
var startTracker = async (endpoint, url, referer, user_agent, attributesVisit) => {
|
335
|
-
const allow = sessionStorage.getItem("aesirx-analytics-allow");
|
336
|
-
if (allow === "0") {
|
337
|
-
return null;
|
338
|
-
}
|
339
|
-
const { location, document: document2 } = window;
|
340
|
-
const { pathname, search, origin } = location;
|
341
|
-
url = `${origin}${pathname}${search}`;
|
342
|
-
referer = referer ? location.protocol + "//" + location.host + referer : document2.referrer ? document2.referrer : window["referer"] ? window["referer"] === "/" ? location.protocol + "//" + location.host : location.protocol + "//" + location.host + window["referer"] : "";
|
343
|
-
user_agent = window.navigator.userAgent;
|
344
|
-
const browser = Bowser.parse(window.navigator.userAgent);
|
345
|
-
const browser_name = browser?.browser?.name;
|
346
|
-
const browser_version = browser?.browser?.version ?? "0";
|
347
|
-
const lang = window.navigator["userLanguage"] || window.navigator.language;
|
348
|
-
const device = browser?.platform?.model ?? browser?.platform?.type;
|
349
|
-
const queryString = window.location.search;
|
350
|
-
const urlParams = new URLSearchParams(queryString);
|
351
|
-
const ip = "";
|
352
|
-
try {
|
353
|
-
const fingerprint = fingerprint_default();
|
354
|
-
const attributes = [];
|
355
|
-
for (const key of urlParams.keys()) {
|
356
|
-
if (key.startsWith("utm_")) {
|
357
|
-
urlParams.get(key) && attributes.push({ name: key, value: urlParams.get(key) });
|
358
|
-
}
|
359
|
-
}
|
360
|
-
if (attributesVisit?.length) {
|
361
|
-
attributesVisit?.forEach((element) => {
|
362
|
-
element?.name && attributes.push({ name: element?.name, value: element?.value });
|
363
|
-
});
|
364
|
-
}
|
365
|
-
const responseStart = await trackerService(createRequestV2(endpoint, "start"), {
|
366
|
-
fingerprint,
|
367
|
-
url: url?.replace(/^(https?:\/\/)?(www\.)?/, "$1"),
|
368
|
-
...referer && (referer !== url || document2.referrer) && {
|
369
|
-
referer: referer !== url ? referer?.replace(/^(https?:\/\/)?(www\.)?/, "$1") : document2.referrer?.replace(/^(https?:\/\/)?(www\.)?/, "$1")
|
370
|
-
},
|
371
|
-
user_agent,
|
372
|
-
ip,
|
373
|
-
browser_name,
|
374
|
-
browser_version,
|
375
|
-
lang,
|
376
|
-
device: device?.includes("iPhone") ? "mobile" : device?.includes("iPad") ? "tablet" : device,
|
377
|
-
...attributes?.length && {
|
378
|
-
event_name: "visit",
|
379
|
-
event_type: "action",
|
380
|
-
attributes
|
381
|
-
}
|
382
|
-
});
|
383
|
-
if (window["aesirxTrackEcommerce"] === "true" && sessionStorage.getItem("aesirx-analytics-flow") !== (await responseStart)?.flow_uuid) {
|
384
|
-
sessionStorage.setItem("aesirx-analytics-flow", (await responseStart)?.flow_uuid);
|
385
|
-
try {
|
386
|
-
await trackerService(
|
387
|
-
rememberFlow(window.location.origin, (await responseStart)?.flow_uuid),
|
388
|
-
{}
|
389
|
-
);
|
390
|
-
} catch (error) {
|
391
|
-
console.log("Remember Flow Error", error);
|
392
|
-
}
|
393
|
-
}
|
394
|
-
return responseStart;
|
395
|
-
} catch (error) {
|
396
|
-
console.error("Analytics Error: ", error);
|
397
|
-
}
|
398
|
-
};
|
399
|
-
var trackEvent = async (endpoint, referer, data) => {
|
400
|
-
const allow = sessionStorage.getItem("aesirx-analytics-allow");
|
401
|
-
if (allow === "0") {
|
402
|
-
return null;
|
403
|
-
}
|
404
|
-
const { location, document: document2 } = window;
|
405
|
-
referer = referer ? location.protocol + "//" + location.host + referer : document2.referrer.split("?")[0];
|
406
|
-
const url = location.protocol + "//" + location.host + location.pathname;
|
407
|
-
const user_agent = window.navigator.userAgent;
|
408
|
-
const browser = Bowser.parse(window.navigator.userAgent);
|
409
|
-
const browser_name = browser?.browser?.name;
|
410
|
-
const browser_version = browser?.browser?.version ?? "0";
|
411
|
-
const lang = window.navigator["userLanguage"] || window.navigator.language;
|
412
|
-
const device = browser?.platform?.model ?? browser?.platform?.type;
|
413
|
-
const ip = "";
|
414
|
-
const fingerprint = fingerprint_default();
|
415
|
-
const headers = { type: "application/json" };
|
416
|
-
const blobData = new Blob(
|
417
|
-
[
|
418
|
-
JSON.stringify({
|
419
|
-
fingerprint,
|
420
|
-
url: url?.replace(/^(https?:\/\/)?(www\.)?/, "$1"),
|
421
|
-
...referer !== "/" && referer && {
|
422
|
-
referer: referer?.replace(/^(https?:\/\/)?(www\.)?/, "$1")
|
423
|
-
},
|
424
|
-
user_agent,
|
425
|
-
ip,
|
426
|
-
browser_name,
|
427
|
-
browser_version,
|
428
|
-
lang,
|
429
|
-
device: device?.includes("iPhone") ? "mobile" : device?.includes("iPad") ? "tablet" : device,
|
430
|
-
...data
|
431
|
-
})
|
432
|
-
],
|
433
|
-
headers
|
434
|
-
);
|
435
|
-
const responseStart = navigator.sendBeacon(createRequestV2(endpoint, "start"), blobData);
|
436
|
-
return responseStart;
|
437
|
-
};
|
438
|
-
var endTracker = (endPoint, event_uuid, visitor_uuid) => {
|
439
|
-
if (event_uuid && visitor_uuid) {
|
440
|
-
const body = {
|
441
|
-
event_uuid,
|
442
|
-
visitor_uuid
|
443
|
-
};
|
444
|
-
const headers = { type: "application/json" };
|
445
|
-
const blob = new Blob([JSON.stringify(body)], headers);
|
446
|
-
navigator.sendBeacon(createRequest(endPoint, "end"), blob);
|
447
|
-
}
|
448
|
-
};
|
449
|
-
var endTrackerVisibilityState = (endPoint) => {
|
450
|
-
document.addEventListener("visibilitychange", async () => {
|
451
|
-
if (document.visibilityState === "hidden") {
|
452
|
-
endTracker(endPoint, window["event_uuid"], window["visitor_uuid"]);
|
453
|
-
}
|
454
|
-
if (document.visibilityState === "visible") {
|
455
|
-
const response = await startTracker(endPoint);
|
456
|
-
window["event_uuid"] = response?.event_uuid;
|
457
|
-
}
|
458
|
-
});
|
459
|
-
window.addEventListener(
|
460
|
-
"pagehide",
|
461
|
-
(event) => {
|
462
|
-
if (event.persisted) {
|
463
|
-
endTracker(endPoint, window["event_uuid"], window["visitor_uuid"]);
|
464
|
-
}
|
465
|
-
},
|
466
|
-
false
|
467
|
-
);
|
468
|
-
};
|
469
|
-
|
470
|
-
// src/AnalyticsNext/handle.tsx
|
471
19
|
var AnalyticsHandle = ({ router, attributes, children }) => {
|
472
20
|
const AnalyticsStore = React.useContext(AnalyticsContext);
|
473
21
|
const endPoint = process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL;
|
@@ -476,6 +24,7 @@ var AnalyticsHandle = ({ router, attributes, children }) => {
|
|
476
24
|
async (prevRoute2, attributes2) => {
|
477
25
|
const referer = prevRoute2 ? prevRoute2 : "";
|
478
26
|
window["referer"] = referer;
|
27
|
+
window["attributes"] = attributes2;
|
479
28
|
const responseStart = await startTracker(endPoint, "", referer, "", attributes2);
|
480
29
|
responseStart?.event_uuid && AnalyticsStore.setEventID(responseStart.event_uuid);
|
481
30
|
responseStart?.visitor_uuid && AnalyticsStore.setUUID(responseStart.visitor_uuid);
|
@@ -523,8 +72,8 @@ var handle_default = AnalyticsHandle;
|
|
523
72
|
|
524
73
|
// src/AnalyticsNext/index.tsx
|
525
74
|
import dynamic from "next/dynamic";
|
526
|
-
var ConsentComponent = dynamic(() => import("./Consent-
|
527
|
-
var ConsentComponentCustom = dynamic(() => import("./ConsentCustom-
|
75
|
+
var ConsentComponent = dynamic(() => import("./Consent-QTHZTQUK.js"), { ssr: false });
|
76
|
+
var ConsentComponentCustom = dynamic(() => import("./ConsentCustom-HQ6RMLQ6.js"), { ssr: false });
|
528
77
|
var AnalyticsNext = ({
|
529
78
|
router,
|
530
79
|
attributes,
|
@@ -533,12 +82,15 @@ var AnalyticsNext = ({
|
|
533
82
|
isLoggedApp,
|
534
83
|
children
|
535
84
|
}) => {
|
536
|
-
const [layout, setLayout] = useState2(process.env.NEXT_PUBLIC_CONSENT_LAYOUT);
|
85
|
+
const [layout, setLayout] = useState2(process.env.NEXT_PUBLIC_CONSENT_LAYOUT ?? "simple-web-2");
|
537
86
|
const [gtagId, setGtagId] = useState2(process.env.NEXT_PUBLIC_ANALYTICS_GTAG_ID);
|
538
87
|
const [gtmId, setGtmId] = useState2(process.env.NEXT_PUBLIC_ANALYTICS_GTM_ID);
|
539
88
|
useEffect2(() => {
|
540
89
|
const init = async () => {
|
541
|
-
const data = await getConsentTemplate(
|
90
|
+
const data = await getConsentTemplate(
|
91
|
+
process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,
|
92
|
+
window.location.host
|
93
|
+
);
|
542
94
|
setLayout(data?.data?.template ?? process.env.NEXT_PUBLIC_CONSENT_LAYOUT);
|
543
95
|
setGtagId(data?.data?.gtag_id ?? process.env.NEXT_PUBLIC_ANALYTICS_GTAG_ID);
|
544
96
|
setGtmId(data?.data?.gtm_id ?? process.env.NEXT_PUBLIC_ANALYTICS_GTM_ID);
|
@@ -586,8 +138,8 @@ var AnalyticsHandle2 = ({ location, history, children }) => {
|
|
586
138
|
const referer = location.pathname ? location.pathname : "";
|
587
139
|
window["referer"] = referer;
|
588
140
|
const responseStart = await startTracker(endPoint, "", referer);
|
589
|
-
responseStart
|
590
|
-
responseStart
|
141
|
+
responseStart?.event_uuid && AnalyticsStore.setEventID(responseStart.event_uuid);
|
142
|
+
responseStart?.visitor_uuid && AnalyticsStore.setUUID(responseStart.visitor_uuid);
|
591
143
|
} else {
|
592
144
|
endTracker(endPoint, window["event_uuid"], AnalyticsStore.visitor_uuid);
|
593
145
|
}
|
@@ -612,15 +164,18 @@ var AnalyticsHandle2 = ({ location, history, children }) => {
|
|
612
164
|
var handle_default2 = AnalyticsHandle2;
|
613
165
|
|
614
166
|
// src/AnalyticsReact/index.tsx
|
615
|
-
var ConsentComponent2 = React4.lazy(() => import("./Consent-
|
616
|
-
var ConsentComponentCustom2 = React4.lazy(() => import("./ConsentCustom-
|
167
|
+
var ConsentComponent2 = React4.lazy(() => import("./Consent-QTHZTQUK.js"));
|
168
|
+
var ConsentComponentCustom2 = React4.lazy(() => import("./ConsentCustom-HQ6RMLQ6.js"));
|
617
169
|
var AnalyticsReact = ({ location, history, oldLayout = false, children }) => {
|
618
|
-
const [layout, setLayout] = useState3(process.env.REACT_APP_CONSENT_LAYOUT);
|
170
|
+
const [layout, setLayout] = useState3(process.env.REACT_APP_CONSENT_LAYOUT ?? "simple-web-2");
|
619
171
|
const [gtagId, setGtagId] = useState3(process.env.REACT_APP_ANALYTICS_GTAG_ID);
|
620
172
|
const [gtmId, setGtmId] = useState3(process.env.REACT_APP_ANALYTICS_GTM_ID);
|
621
173
|
useEffect4(() => {
|
622
174
|
const init = async () => {
|
623
|
-
const data = await getConsentTemplate(
|
175
|
+
const data = await getConsentTemplate(
|
176
|
+
process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,
|
177
|
+
window.location.host
|
178
|
+
);
|
624
179
|
setLayout(data?.data?.template ?? process.env.REACT_APP_CONSENT_LAYOUT);
|
625
180
|
setGtagId(data?.data?.gtag_id ?? process.env.REACT_APP_ANALYTICS_GTAG_ID);
|
626
181
|
setGtmId(data?.data?.gtm_id ?? process.env.REACT_APP_ANALYTICS_GTM_ID);
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "aesirx-analytics",
|
3
|
-
"version": "2.2.
|
3
|
+
"version": "2.2.12",
|
4
4
|
"license": "GPL-3.0-only",
|
5
5
|
"author": "AesirX",
|
6
6
|
"repository": "https://gitlab.redweb.dk/aesirx/analytics",
|
@@ -14,7 +14,7 @@
|
|
14
14
|
"@concordium/web-sdk": "^7.0.4-rc.3",
|
15
15
|
"@web3modal/ethereum": "^2.7.0",
|
16
16
|
"@web3modal/react": "^2.7.0",
|
17
|
-
"aesirx-sso": "^1.4.
|
17
|
+
"aesirx-sso": "^1.4.12",
|
18
18
|
"axios": "^1.6.0",
|
19
19
|
"bootstrap": "^5.3.2",
|
20
20
|
"bowser": "^2.11.0",
|