@base44-preview/vite-plugin 0.2.20-pr.33.42f673d → 0.2.20-pr.33.9a75a12
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-tracker.d.ts","sourceRoot":"","sources":["../../src/injections/analytics-tracker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Analytics tracker - tracks page views in production
|
|
2
|
+
// This script is only injected in production builds
|
|
3
|
+
let lastPath = "";
|
|
4
|
+
function getPageNameFromPath(path) {
|
|
5
|
+
const segments = path.split("/").filter(Boolean);
|
|
6
|
+
return segments[0] || null;
|
|
7
|
+
}
|
|
8
|
+
function trackPageView() {
|
|
9
|
+
const path = window.location.pathname;
|
|
10
|
+
if (path === lastPath)
|
|
11
|
+
return;
|
|
12
|
+
lastPath = path;
|
|
13
|
+
const pageName = getPageNameFromPath(path) || "home";
|
|
14
|
+
const appId = import.meta.env.VITE_BASE44_APP_ID;
|
|
15
|
+
const serverUrl = import.meta.env.VITE_BASE44_BACKEND_URL || "";
|
|
16
|
+
if (!appId)
|
|
17
|
+
return;
|
|
18
|
+
fetch(`${serverUrl}/app-logs/${appId}/log-user-in-app/${pageName}`, {
|
|
19
|
+
method: "POST",
|
|
20
|
+
}).catch(() => { });
|
|
21
|
+
}
|
|
22
|
+
// Intercept history.pushState
|
|
23
|
+
const originalPushState = history.pushState.bind(history);
|
|
24
|
+
history.pushState = function (...args) {
|
|
25
|
+
originalPushState(...args);
|
|
26
|
+
trackPageView();
|
|
27
|
+
};
|
|
28
|
+
// Intercept history.replaceState
|
|
29
|
+
const originalReplaceState = history.replaceState.bind(history);
|
|
30
|
+
history.replaceState = function (...args) {
|
|
31
|
+
originalReplaceState(...args);
|
|
32
|
+
trackPageView();
|
|
33
|
+
};
|
|
34
|
+
// Handle browser back/forward navigation
|
|
35
|
+
window.addEventListener("popstate", trackPageView);
|
|
36
|
+
// Track initial page view
|
|
37
|
+
trackPageView();
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=analytics-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-tracker.js","sourceRoot":"","sources":["../../src/injections/analytics-tracker.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,oDAAoD;AAEpD,IAAI,QAAQ,GAAG,EAAE,CAAC;AAElB,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO;IAC9B,QAAQ,GAAG,IAAI,CAAC;IAEhB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;IAEhE,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,KAAK,CAAC,GAAG,SAAS,aAAa,KAAK,oBAAoB,QAAQ,EAAE,EAAE;QAClE,MAAM,EAAE,MAAM;KACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,8BAA8B;AAC9B,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,OAAO,CAAC,SAAS,GAAG,UAAU,GAAG,IAAI;IACnC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3B,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,iCAAiC;AACjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,OAAO,CAAC,YAAY,GAAG,UAAU,GAAG,IAAI;IACtC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEnD,0BAA0B;AAC1B,aAAa,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Analytics tracker - tracks page views in production
|
|
2
|
+
// This script is only injected in production builds
|
|
3
|
+
|
|
4
|
+
let lastPath = "";
|
|
5
|
+
|
|
6
|
+
function getPageNameFromPath(path: string): string | null {
|
|
7
|
+
const segments = path.split("/").filter(Boolean);
|
|
8
|
+
return segments[0] || null;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function trackPageView() {
|
|
12
|
+
const path = window.location.pathname;
|
|
13
|
+
if (path === lastPath) return;
|
|
14
|
+
lastPath = path;
|
|
15
|
+
|
|
16
|
+
const pageName = getPageNameFromPath(path) || "home";
|
|
17
|
+
const appId = import.meta.env.VITE_BASE44_APP_ID;
|
|
18
|
+
const serverUrl = import.meta.env.VITE_BASE44_BACKEND_URL || "";
|
|
19
|
+
|
|
20
|
+
if (!appId) return;
|
|
21
|
+
|
|
22
|
+
fetch(`${serverUrl}/app-logs/${appId}/log-user-in-app/${pageName}`, {
|
|
23
|
+
method: "POST",
|
|
24
|
+
}).catch(() => {});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Intercept history.pushState
|
|
28
|
+
const originalPushState = history.pushState.bind(history);
|
|
29
|
+
history.pushState = function (...args) {
|
|
30
|
+
originalPushState(...args);
|
|
31
|
+
trackPageView();
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// Intercept history.replaceState
|
|
35
|
+
const originalReplaceState = history.replaceState.bind(history);
|
|
36
|
+
history.replaceState = function (...args) {
|
|
37
|
+
originalReplaceState(...args);
|
|
38
|
+
trackPageView();
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// Handle browser back/forward navigation
|
|
42
|
+
window.addEventListener("popstate", trackPageView);
|
|
43
|
+
|
|
44
|
+
// Track initial page view
|
|
45
|
+
trackPageView();
|