@carlonicora/nextjs-jsonapi 3.28.2 → 4.0.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/dist/{BlockNoteEditor-36VL2TNM.js → BlockNoteEditor-BXMTGKDV.js} +21 -20
- package/dist/BlockNoteEditor-BXMTGKDV.js.map +1 -0
- package/dist/{BlockNoteEditor-4IDXT6ZU.mjs → BlockNoteEditor-FGVQP35E.mjs} +9 -8
- package/dist/{BlockNoteEditor-4IDXT6ZU.mjs.map → BlockNoteEditor-FGVQP35E.mjs.map} +1 -1
- package/dist/{BlockNoteViewer-KRTAFTUX.mjs → BlockNoteViewer-DQYT6IJW.mjs} +3 -3
- package/dist/{BlockNoteViewer-7BFNTN4E.js → BlockNoteViewer-YH7G66PS.js} +4 -4
- package/dist/{BlockNoteViewer-7BFNTN4E.js.map → BlockNoteViewer-YH7G66PS.js.map} +1 -1
- package/dist/{HandbookSectionInterface-DgYH--Ik.d.mts → HandbookSectionInterface-BYsmnPEz.d.mts} +1 -1
- package/dist/{HandbookSectionInterface-Ck1wZJ81.d.ts → HandbookSectionInterface-OePKPbqN.d.ts} +1 -1
- package/dist/{JsonApiRequest-UHOWNI3O.mjs → JsonApiRequest-MEP6AXDT.mjs} +2 -2
- package/dist/JsonApiRequest-OB6WL4LA.js +26 -0
- package/dist/{JsonApiRequest-TE5WD3WS.js.map → JsonApiRequest-OB6WL4LA.js.map} +1 -1
- package/dist/ServerSession-DFNNNkg7.d.ts +29 -0
- package/dist/ServerSession-DK1z0_Ql.d.mts +29 -0
- package/dist/{analytics.modules-CfczU12P.d.ts → analytics.modules-Bsacu6ik.d.ts} +1 -1
- package/dist/{analytics.modules-pzGwMASI.d.mts → analytics.modules-txdCLNG-.d.mts} +1 -1
- package/dist/billing/index.js +404 -402
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/index.mjs +10 -8
- package/dist/billing/index.mjs.map +1 -1
- package/dist/{chunk-7B4E42R5.mjs → chunk-3CZ2GK5R.mjs} +33 -9
- package/dist/chunk-3CZ2GK5R.mjs.map +1 -0
- package/dist/{chunk-4Z45NYPR.js → chunk-5W5MN7JP.js} +14 -83
- package/dist/chunk-5W5MN7JP.js.map +1 -0
- package/dist/{chunk-CAKOFJZD.js → chunk-6OFANJTE.js} +195 -142
- package/dist/chunk-6OFANJTE.js.map +1 -0
- package/dist/{chunk-5TRFNKJS.js → chunk-6TUB7Y6T.js} +23 -25
- package/dist/chunk-6TUB7Y6T.js.map +1 -0
- package/dist/{chunk-37DMFVLN.mjs → chunk-7SCREMTX.mjs} +4 -3
- package/dist/{chunk-37DMFVLN.mjs.map → chunk-7SCREMTX.mjs.map} +1 -1
- package/dist/{chunk-Q6J2ICKO.mjs → chunk-ADZSH3MG.mjs} +3 -72
- package/dist/chunk-ADZSH3MG.mjs.map +1 -0
- package/dist/{chunk-E3I4MT53.mjs → chunk-AQZ3T4BR.mjs} +71 -18
- package/dist/chunk-AQZ3T4BR.mjs.map +1 -0
- package/dist/{chunk-SJLXPHK5.mjs → chunk-E2LENTUH.mjs} +22 -24
- package/dist/chunk-E2LENTUH.mjs.map +1 -0
- package/dist/chunk-EBEXWN3I.mjs +17 -0
- package/dist/chunk-EBEXWN3I.mjs.map +1 -0
- package/dist/chunk-G4JR3SFV.js +28 -0
- package/dist/chunk-G4JR3SFV.js.map +1 -0
- package/dist/chunk-IK65TDQH.js +15 -0
- package/dist/chunk-IK65TDQH.js.map +1 -0
- package/dist/{chunk-GHFMKH3M.js → chunk-JEQ34Z5E.js} +62 -38
- package/dist/chunk-JEQ34Z5E.js.map +1 -0
- package/dist/{chunk-KOTKKBJT.js → chunk-NFCXUAE6.js} +1328 -1183
- package/dist/chunk-NFCXUAE6.js.map +1 -0
- package/dist/chunk-OEOK6A3P.js +17 -0
- package/dist/chunk-OEOK6A3P.js.map +1 -0
- package/dist/chunk-PW42LRSL.mjs +28 -0
- package/dist/chunk-PW42LRSL.mjs.map +1 -0
- package/dist/{chunk-U65JPKO3.mjs → chunk-R6ZYB4VN.mjs} +2 -2
- package/dist/chunk-T7SAW3UW.mjs +15 -0
- package/dist/chunk-T7SAW3UW.mjs.map +1 -0
- package/dist/{chunk-GKDHYB2R.js → chunk-TWBZ2GSX.js} +3 -3
- package/dist/{chunk-GKDHYB2R.js.map → chunk-TWBZ2GSX.js.map} +1 -1
- package/dist/{chunk-26MQIJNB.js → chunk-WGVNJXZO.js} +4 -3
- package/dist/chunk-WGVNJXZO.js.map +1 -0
- package/dist/{chunk-HPUV6FBW.mjs → chunk-WJC4SYRL.mjs} +2131 -1986
- package/dist/chunk-WJC4SYRL.mjs.map +1 -0
- package/dist/client/index.d.mts +3 -3
- package/dist/client/index.d.ts +3 -3
- package/dist/client/index.js +6 -5
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +13 -12
- package/dist/components/index.d.mts +16 -6
- package/dist/components/index.d.ts +16 -6
- package/dist/components/index.js +8 -5
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +9 -6
- package/dist/{config-3N1LSrcC.d.ts → config-B6UB7j69.d.ts} +1 -1
- package/dist/{config-BmufyEj6.d.mts → config-CEAq4Ozy.d.mts} +10 -1
- package/dist/{config-AVtuvfM1.d.ts → config-DydDHCfb.d.ts} +10 -1
- package/dist/{config-BSKTYDoh.d.mts → config-n-ZpPmOL.d.mts} +1 -1
- package/dist/contexts/index.d.mts +28 -4
- package/dist/contexts/index.d.ts +28 -4
- package/dist/contexts/index.js +10 -5
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/index.mjs +9 -4
- package/dist/core/index.d.mts +6 -6
- package/dist/core/index.d.ts +6 -6
- package/dist/core/index.js +5 -5
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +4 -4
- package/dist/features/analytics/index.d.mts +2 -2
- package/dist/features/analytics/index.d.ts +2 -2
- package/dist/features/analytics/index.js +124 -123
- package/dist/features/analytics/index.js.map +1 -1
- package/dist/features/analytics/index.mjs +6 -5
- package/dist/features/analytics/index.mjs.map +1 -1
- package/dist/features/analytics/server.d.mts +10 -2
- package/dist/features/analytics/server.d.ts +10 -2
- package/dist/features/analytics/server.js +8 -6
- package/dist/features/analytics/server.js.map +1 -1
- package/dist/features/analytics/server.mjs +6 -4
- package/dist/features/analytics/server.mjs.map +1 -1
- package/dist/features/help/index.d.mts +2 -2
- package/dist/features/help/index.d.ts +2 -2
- package/dist/features/help/index.js +39 -38
- package/dist/features/help/index.js.map +1 -1
- package/dist/features/help/index.mjs +5 -4
- package/dist/features/help/index.mjs.map +1 -1
- package/dist/features/tokenusage/index.d.mts +2 -2
- package/dist/features/tokenusage/index.d.ts +2 -2
- package/dist/features/tokenusage/index.js +127 -126
- package/dist/features/tokenusage/index.js.map +1 -1
- package/dist/features/tokenusage/index.mjs +6 -5
- package/dist/features/tokenusage/index.mjs.map +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -9
- package/dist/next-config/index.d.mts +43 -0
- package/dist/next-config/index.d.ts +43 -0
- package/dist/next-config/index.js +230 -0
- package/dist/next-config/index.js.map +1 -0
- package/dist/next-config/index.mjs +230 -0
- package/dist/next-config/index.mjs.map +1 -0
- package/dist/{request-FXF63NSQ.mjs → request-3IUMNVOS.mjs} +2 -2
- package/dist/request-LZBAOT3Y.js +8 -0
- package/dist/request-LZBAOT3Y.js.map +1 -0
- package/dist/server/cachedGet.d.mts +28 -0
- package/dist/server/cachedGet.d.ts +28 -0
- package/dist/server/cachedGet.js +60 -0
- package/dist/server/cachedGet.js.map +1 -0
- package/dist/server/cachedGet.mjs +60 -0
- package/dist/server/cachedGet.mjs.map +1 -0
- package/dist/server/cachedGet.stub.d.mts +7 -0
- package/dist/server/cachedGet.stub.d.ts +7 -0
- package/dist/server/cachedGet.stub.js +17 -0
- package/dist/server/cachedGet.stub.js.map +1 -0
- package/dist/server/cachedGet.stub.mjs +17 -0
- package/dist/server/cachedGet.stub.mjs.map +1 -0
- package/dist/server/index.d.mts +27 -25
- package/dist/server/index.d.ts +27 -25
- package/dist/server/index.js +13 -6
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +15 -8
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/index.mjs.map +1 -1
- package/dist/{types-D0uLYV2P.d.mts → types-Bq_UA8Lg.d.mts} +1 -1
- package/dist/{types-Cn153-mH.d.ts → types-bsm8Fp55.d.ts} +1 -1
- package/dist/{usePageUrlGenerator-B-3FRKBD.d.ts → usePageUrlGenerator-J_ECv-oQ.d.ts} +1 -1
- package/dist/{usePageUrlGenerator-CCJ_cdQy.d.mts → usePageUrlGenerator-uKBjAKqC.d.mts} +1 -1
- package/package.json +12 -1
- package/src/components/forms/__tests__/EditorSheet.test.tsx +25 -1
- package/src/components/forms/__tests__/useEditorDialog.test.ts +164 -1
- package/src/components/forms/useEditorDialog.ts +69 -2
- package/src/contexts/SessionContext.tsx +20 -0
- package/src/contexts/SocketContext.tsx +30 -3
- package/src/contexts/ViewportContext.tsx +17 -2
- package/src/contexts/__tests__/SessionContext.test.tsx +58 -0
- package/src/contexts/__tests__/SocketContext.session.test.tsx +77 -0
- package/src/contexts/index.ts +1 -0
- package/src/core/abstracts/AbstractService.ts +4 -6
- package/src/core/abstracts/__tests__/AbstractService.locale.test.ts +64 -0
- package/src/features/analytics/components/server/AnalyticsAdminPage.tsx +5 -1
- package/src/features/analytics/components/server/AnalyticsJourneyPage.tsx +5 -1
- package/src/features/notification/contexts/NotificationContext.tsx +5 -2
- package/src/features/notification/contexts/__tests__/NotificationContext.spec.tsx +22 -0
- package/src/features/user/contexts/CurrentUserContext.tsx +7 -5
- package/src/features/user/contexts/__tests__/CurrentUserContext.spec.tsx +63 -3
- package/src/hooks/__tests__/useSocket.render.test.ts +22 -0
- package/src/hooks/useSocket.ts +0 -1
- package/src/i18n/__tests__/config.test.ts +27 -0
- package/src/i18n/config.ts +17 -0
- package/src/i18n/index.ts +2 -0
- package/src/next-config/__tests__/createNextConfig.test.ts +268 -0
- package/src/next-config/csp.ts +128 -0
- package/src/next-config/headers.ts +61 -0
- package/src/next-config/index.ts +114 -0
- package/src/server/JsonApiServer.ts +3 -1
- package/src/server/ServerSession.ts +29 -1
- package/src/server/__tests__/JsonApiServer.test.ts +41 -0
- package/src/server/__tests__/ServerSession.read.test.ts +67 -0
- package/src/server/__tests__/cache.test.ts +48 -0
- package/src/server/__tests__/cachedGet.test.ts +125 -0
- package/src/server/__tests__/request.test.ts +96 -1
- package/src/server/cache.ts +21 -4
- package/src/server/cacheDigest.ts +10 -0
- package/src/server/cacheProfiles.ts +15 -0
- package/src/server/cachedGet.stub.ts +15 -0
- package/src/server/cachedGet.ts +80 -0
- package/src/server/request.ts +33 -32
- package/src/shadcnui/ui/__tests__/sidebar.menu-skeleton.test.tsx +50 -0
- package/src/shadcnui/ui/__tests__/sidebar.session.test.tsx +133 -0
- package/src/shadcnui/ui/sidebar.tsx +121 -18
- package/src/testing/matchers/jsonApiMatchers.ts +1 -0
- package/src/unified/JsonApiRequest.ts +4 -1
- package/src/unified/__tests__/JsonApiGet.cache.test.ts +51 -0
- package/src/utils/__tests__/map-thenable.test.ts +29 -0
- package/src/utils/__tests__/use-mobile.test.tsx +102 -1
- package/src/utils/map-thenable.ts +15 -0
- package/src/utils/use-mobile.tsx +13 -4
- package/dist/BlockNoteEditor-36VL2TNM.js.map +0 -1
- package/dist/JsonApiRequest-TE5WD3WS.js +0 -26
- package/dist/chunk-26MQIJNB.js.map +0 -1
- package/dist/chunk-4Z45NYPR.js.map +0 -1
- package/dist/chunk-5TRFNKJS.js.map +0 -1
- package/dist/chunk-7B4E42R5.mjs.map +0 -1
- package/dist/chunk-CAKOFJZD.js.map +0 -1
- package/dist/chunk-E3I4MT53.mjs.map +0 -1
- package/dist/chunk-GHFMKH3M.js.map +0 -1
- package/dist/chunk-HPUV6FBW.mjs.map +0 -1
- package/dist/chunk-KOTKKBJT.js.map +0 -1
- package/dist/chunk-Q6J2ICKO.mjs.map +0 -1
- package/dist/chunk-SJLXPHK5.mjs.map +0 -1
- package/dist/request-ZTX6I63X.js +0 -8
- package/dist/request-ZTX6I63X.js.map +0 -1
- /package/dist/{BlockNoteViewer-KRTAFTUX.mjs.map → BlockNoteViewer-DQYT6IJW.mjs.map} +0 -0
- /package/dist/{JsonApiRequest-UHOWNI3O.mjs.map → JsonApiRequest-MEP6AXDT.mjs.map} +0 -0
- /package/dist/{chunk-U65JPKO3.mjs.map → chunk-R6ZYB4VN.mjs.map} +0 -0
- /package/dist/{request-FXF63NSQ.mjs.map → request-3IUMNVOS.mjs.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkTWBZ2GSXjs = require('../../chunk-TWBZ2GSX.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -33,8 +33,9 @@ var _chunkGKDHYB2Rjs = require('../../chunk-GKDHYB2R.js');
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
37
|
-
require('../../chunk-
|
|
36
|
+
var _chunkNFCXUAE6js = require('../../chunk-NFCXUAE6.js');
|
|
37
|
+
require('../../chunk-5W5MN7JP.js');
|
|
38
|
+
require('../../chunk-G4JR3SFV.js');
|
|
38
39
|
|
|
39
40
|
|
|
40
41
|
|
|
@@ -47,10 +48,10 @@ require('../../chunk-4Z45NYPR.js');
|
|
|
47
48
|
|
|
48
49
|
|
|
49
50
|
|
|
50
|
-
var
|
|
51
|
-
require('../../chunk-26MQIJNB.js');
|
|
51
|
+
var _chunk6OFANJTEjs = require('../../chunk-6OFANJTE.js');
|
|
52
52
|
require('../../chunk-LXKSUWAV.js');
|
|
53
53
|
require('../../chunk-JTPRJNT2.js');
|
|
54
|
+
require('../../chunk-WGVNJXZO.js');
|
|
54
55
|
require('../../chunk-3EPNHTMH.js');
|
|
55
56
|
|
|
56
57
|
|
|
@@ -62,7 +63,7 @@ var _react = require('react');
|
|
|
62
63
|
var _uuid = require('uuid');
|
|
63
64
|
|
|
64
65
|
// src/features/analytics/data/AnalyticsService.ts
|
|
65
|
-
var AnalyticsService = class extends
|
|
66
|
+
var AnalyticsService = class extends _chunk6OFANJTEjs.AbstractService {
|
|
66
67
|
static {
|
|
67
68
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsService");
|
|
68
69
|
}
|
|
@@ -74,9 +75,9 @@ var AnalyticsService = class extends _chunkCAKOFJZDjs.AbstractService {
|
|
|
74
75
|
static async track(input) {
|
|
75
76
|
try {
|
|
76
77
|
await this.callApi({
|
|
77
|
-
type:
|
|
78
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsEvent,
|
|
78
79
|
method: "POST" /* POST */,
|
|
79
|
-
endpoint: new (0,
|
|
80
|
+
endpoint: new (0, _chunk6OFANJTEjs.EndpointCreator)({ endpoint: _chunk6OFANJTEjs.Modules.AnalyticsEvent }).generate(),
|
|
80
81
|
input,
|
|
81
82
|
suppressGlobalError: true
|
|
82
83
|
});
|
|
@@ -223,7 +224,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
|
|
|
223
224
|
};
|
|
224
225
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
225
226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-md:w-full max-md:[&_#date]:w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
226
|
-
|
|
227
|
+
_chunkNFCXUAE6js.DateRangeSelector,
|
|
227
228
|
{
|
|
228
229
|
onDateChange: (range) => {
|
|
229
230
|
if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
|
|
@@ -267,13 +268,13 @@ function Segmented({
|
|
|
267
268
|
children: options.map((option) => {
|
|
268
269
|
const selected = option.value === value;
|
|
269
270
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
270
|
-
|
|
271
|
+
_chunkNFCXUAE6js.Button,
|
|
271
272
|
{
|
|
272
273
|
type: "button",
|
|
273
274
|
size: "sm",
|
|
274
275
|
variant: selected ? "default" : "ghost",
|
|
275
276
|
"aria-pressed": selected,
|
|
276
|
-
className:
|
|
277
|
+
className: _chunk6OFANJTEjs.cn.call(void 0, !selected && "text-muted-foreground"),
|
|
277
278
|
onClick: () => onSelect(option.value),
|
|
278
279
|
children: option.label
|
|
279
280
|
},
|
|
@@ -293,45 +294,45 @@ function withFilters(endpoint, filters) {
|
|
|
293
294
|
return endpoint;
|
|
294
295
|
}
|
|
295
296
|
_chunk7QVYU63Ejs.__name.call(void 0, withFilters, "withFilters");
|
|
296
|
-
var AnalyticsAdminService = class extends
|
|
297
|
+
var AnalyticsAdminService = class extends _chunk6OFANJTEjs.AbstractService {
|
|
297
298
|
static {
|
|
298
299
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsAdminService");
|
|
299
300
|
}
|
|
300
301
|
/** Headline tiles: one row per window (current, previous). */
|
|
301
302
|
static async getSummary(filters) {
|
|
302
|
-
const endpoint = withFilters(new (0,
|
|
303
|
+
const endpoint = withFilters(new (0, _chunk6OFANJTEjs.EndpointCreator)({ endpoint: _chunk6OFANJTEjs.Modules.AnalyticsSummary }), filters);
|
|
303
304
|
return this.callApi({
|
|
304
|
-
type:
|
|
305
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsSummary,
|
|
305
306
|
method: "GET" /* GET */,
|
|
306
307
|
endpoint: endpoint.generate()
|
|
307
308
|
});
|
|
308
309
|
}
|
|
309
310
|
static async getTimeline(params) {
|
|
310
|
-
const endpoint = withFilters(new (0,
|
|
311
|
+
const endpoint = withFilters(new (0, _chunk6OFANJTEjs.EndpointCreator)({ endpoint: _chunk6OFANJTEjs.Modules.AnalyticsTimeline }), params);
|
|
311
312
|
endpoint.addAdditionalParam("granularity", params.granularity);
|
|
312
313
|
return this.callApi({
|
|
313
|
-
type:
|
|
314
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsTimeline,
|
|
314
315
|
method: "GET" /* GET */,
|
|
315
316
|
endpoint: endpoint.generate()
|
|
316
317
|
});
|
|
317
318
|
}
|
|
318
319
|
static async getBreakdown(params) {
|
|
319
|
-
const endpoint = withFilters(new (0,
|
|
320
|
+
const endpoint = withFilters(new (0, _chunk6OFANJTEjs.EndpointCreator)({ endpoint: _chunk6OFANJTEjs.Modules.AnalyticsBreakdown }), params);
|
|
320
321
|
endpoint.addAdditionalParam("dimension", params.dimension);
|
|
321
322
|
if (params.limit !== void 0) endpoint.addAdditionalParam("limit", String(params.limit));
|
|
322
323
|
return this.callApi({
|
|
323
|
-
type:
|
|
324
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsBreakdown,
|
|
324
325
|
method: "GET" /* GET */,
|
|
325
326
|
endpoint: endpoint.generate()
|
|
326
327
|
});
|
|
327
328
|
}
|
|
328
329
|
/** Newest sessions first, cursor-paginated through `next`. */
|
|
329
330
|
static async getSessions(params) {
|
|
330
|
-
const endpoint = withFilters(new (0,
|
|
331
|
+
const endpoint = withFilters(new (0, _chunk6OFANJTEjs.EndpointCreator)({ endpoint: _chunk6OFANJTEjs.Modules.AnalyticsSession }), params);
|
|
331
332
|
if (params.visitorId) endpoint.addAdditionalParam("visitorId", params.visitorId);
|
|
332
333
|
if (params.userId) endpoint.addAdditionalParam("userId", params.userId);
|
|
333
334
|
return this.callApi({
|
|
334
|
-
type:
|
|
335
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsSession,
|
|
335
336
|
method: "GET" /* GET */,
|
|
336
337
|
endpoint: endpoint.generate(),
|
|
337
338
|
next: params.next
|
|
@@ -339,20 +340,20 @@ var AnalyticsAdminService = class extends _chunkCAKOFJZDjs.AbstractService {
|
|
|
339
340
|
}
|
|
340
341
|
static async getSession(params) {
|
|
341
342
|
return this.callApi({
|
|
342
|
-
type:
|
|
343
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsSession,
|
|
343
344
|
method: "GET" /* GET */,
|
|
344
|
-
endpoint: new (0,
|
|
345
|
+
endpoint: new (0, _chunk6OFANJTEjs.EndpointCreator)({ endpoint: _chunk6OFANJTEjs.Modules.AnalyticsSession, id: params.id }).generate()
|
|
345
346
|
});
|
|
346
347
|
}
|
|
347
348
|
/** The journey: every page view of one session, oldest first. */
|
|
348
349
|
static async getSessionPageViews(params) {
|
|
349
350
|
return this.callApi({
|
|
350
|
-
type:
|
|
351
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsPageView,
|
|
351
352
|
method: "GET" /* GET */,
|
|
352
|
-
endpoint: new (0,
|
|
353
|
-
endpoint:
|
|
353
|
+
endpoint: new (0, _chunk6OFANJTEjs.EndpointCreator)({
|
|
354
|
+
endpoint: _chunk6OFANJTEjs.Modules.AnalyticsSession,
|
|
354
355
|
id: params.sessionId,
|
|
355
|
-
childEndpoint:
|
|
356
|
+
childEndpoint: _chunk6OFANJTEjs.Modules.AnalyticsPageView
|
|
356
357
|
}).generate()
|
|
357
358
|
});
|
|
358
359
|
}
|
|
@@ -387,7 +388,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
387
388
|
sessionPageUrl = ANALYTICS_SESSION_PAGE_URL
|
|
388
389
|
}) => {
|
|
389
390
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
390
|
-
const generateUrl =
|
|
391
|
+
const generateUrl = _chunkNFCXUAE6js.usePageUrlGenerator.call(void 0, );
|
|
391
392
|
const [filters, setFilterState] = _react.useState.call(void 0, () => {
|
|
392
393
|
const range = defaultRange();
|
|
393
394
|
return {
|
|
@@ -451,7 +452,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
451
452
|
const sessionsNext = {};
|
|
452
453
|
try {
|
|
453
454
|
const nextSessions = await AnalyticsAdminService.next({
|
|
454
|
-
type:
|
|
455
|
+
type: _chunk6OFANJTEjs.Modules.AnalyticsSession,
|
|
455
456
|
endpoint: sessionsNextPage,
|
|
456
457
|
next: sessionsNext
|
|
457
458
|
});
|
|
@@ -511,7 +512,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
511
512
|
error
|
|
512
513
|
]
|
|
513
514
|
);
|
|
514
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
515
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
|
|
515
516
|
}, "AnalyticsAdminProvider");
|
|
516
517
|
var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
|
|
517
518
|
const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
|
|
@@ -531,7 +532,7 @@ var _lucidereact = require('lucide-react');
|
|
|
531
532
|
var ZERO = { visitors: 0, sessions: 0, pageViews: 0, pagesPerSession: 0, consentShare: 0 };
|
|
532
533
|
function AnalyticsAdminTiles({ summary }) {
|
|
533
534
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
534
|
-
const { decimal } =
|
|
535
|
+
const { decimal } = _chunkTWBZ2GSXjs.useUsageFormatters.call(void 0, );
|
|
535
536
|
const rowFor = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (window2) => _nullishCoalesce(summary.find((r) => r.section === "total" && r.window === window2), () => ( ZERO)), "rowFor");
|
|
536
537
|
const current = rowFor("current");
|
|
537
538
|
const previous = rowFor("previous");
|
|
@@ -544,7 +545,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
544
545
|
testId: "analytics-tile-visitors",
|
|
545
546
|
label: t("analytics.admin.tiles.visitors"),
|
|
546
547
|
value: decimal(current.visitors, 0),
|
|
547
|
-
delta:
|
|
548
|
+
delta: _chunkTWBZ2GSXjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
|
|
548
549
|
previousLabel,
|
|
549
550
|
decimal
|
|
550
551
|
}
|
|
@@ -555,7 +556,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
555
556
|
testId: "analytics-tile-sessions",
|
|
556
557
|
label: t("analytics.admin.tiles.sessions"),
|
|
557
558
|
value: decimal(current.sessions, 0),
|
|
558
|
-
delta:
|
|
559
|
+
delta: _chunkTWBZ2GSXjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
|
|
559
560
|
previousLabel,
|
|
560
561
|
decimal
|
|
561
562
|
}
|
|
@@ -566,7 +567,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
566
567
|
testId: "analytics-tile-page-views",
|
|
567
568
|
label: t("analytics.admin.tiles.page_views"),
|
|
568
569
|
value: decimal(current.pageViews, 0),
|
|
569
|
-
delta:
|
|
570
|
+
delta: _chunkTWBZ2GSXjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
|
|
570
571
|
previousLabel,
|
|
571
572
|
decimal
|
|
572
573
|
}
|
|
@@ -579,7 +580,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
579
580
|
testId: "analytics-tile-pages-per-session",
|
|
580
581
|
label: t("analytics.admin.tiles.pages_per_session"),
|
|
581
582
|
value: decimal(current.pagesPerSession, 1),
|
|
582
|
-
delta:
|
|
583
|
+
delta: _chunkTWBZ2GSXjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
|
|
583
584
|
decimal
|
|
584
585
|
}
|
|
585
586
|
),
|
|
@@ -604,8 +605,8 @@ function LeadTile({
|
|
|
604
605
|
previousLabel,
|
|
605
606
|
decimal
|
|
606
607
|
}) {
|
|
607
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
608
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
608
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.CardContent, { className: "grid gap-1", children: [
|
|
609
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.MicroLabel, { children: label }),
|
|
609
610
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
|
|
610
611
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
|
|
611
612
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
|
|
@@ -621,8 +622,8 @@ function SupportingTile({
|
|
|
621
622
|
delta,
|
|
622
623
|
decimal
|
|
623
624
|
}) {
|
|
624
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
625
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
625
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.CardContent, { className: "grid gap-1", children: [
|
|
626
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.MicroLabel, { children: label }),
|
|
626
627
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
627
628
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
|
|
628
629
|
delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
|
|
@@ -645,7 +646,7 @@ function Delta({
|
|
|
645
646
|
"span",
|
|
646
647
|
{
|
|
647
648
|
"data-testid": testId,
|
|
648
|
-
className:
|
|
649
|
+
className: _chunk6OFANJTEjs.cn.call(void 0,
|
|
649
650
|
"inline-flex items-center gap-0.5 text-xs tabular-nums",
|
|
650
651
|
increased ? "text-success" : "text-destructive"
|
|
651
652
|
),
|
|
@@ -673,15 +674,15 @@ function AnalyticsBreakdownTable({ breakdowns }) {
|
|
|
673
674
|
route: t("analytics.admin.dimensions.route"),
|
|
674
675
|
landing: t("analytics.admin.dimensions.landing")
|
|
675
676
|
};
|
|
676
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
677
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
678
|
-
ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
677
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
|
|
678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TabsList, { className: "max-md:w-full max-md:justify-start max-md:overflow-x-auto", children: ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
|
|
679
|
+
ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
|
|
679
680
|
] });
|
|
680
681
|
}
|
|
681
682
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
|
|
682
683
|
function BreakdownRows({ rows }) {
|
|
683
684
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
684
|
-
const { decimal } =
|
|
685
|
+
const { decimal } = _chunkTWBZ2GSXjs.useUsageFormatters.call(void 0, );
|
|
685
686
|
const sortedRows = _react.useMemo.call(void 0, () => [...rows].sort((a, b) => b.visitors - a.visitors), [rows]);
|
|
686
687
|
if (sortedRows.length === 0) {
|
|
687
688
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
|
|
@@ -690,18 +691,18 @@ function BreakdownRows({ rows }) {
|
|
|
690
691
|
// The package's <Table> wraps itself in an `overflow-x-clip` container, which
|
|
691
692
|
// would swallow the overflow before this scroller ever saw it — hence the
|
|
692
693
|
// child override. Wide tables must scroll, never widen the page.
|
|
693
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
694
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
695
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
696
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
697
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
698
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
694
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Table, { children: [
|
|
695
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.TableRow, { children: [
|
|
696
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
|
|
697
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
|
|
698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
|
|
699
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
|
|
699
700
|
] }) }),
|
|
700
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
701
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
702
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
703
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
704
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
701
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
|
|
702
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
|
|
703
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
|
|
704
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
|
|
705
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
|
|
705
706
|
] }, row.id)) })
|
|
706
707
|
] }) })
|
|
707
708
|
);
|
|
@@ -716,48 +717,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
|
|
|
716
717
|
function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
|
|
717
718
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
718
719
|
const locale = _nextintl.useLocale.call(void 0, );
|
|
719
|
-
const generateUrl =
|
|
720
|
-
const { decimal } =
|
|
720
|
+
const generateUrl = _chunkNFCXUAE6js.usePageUrlGenerator.call(void 0, );
|
|
721
|
+
const { decimal } = _chunkTWBZ2GSXjs.useUsageFormatters.call(void 0, );
|
|
721
722
|
const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
|
|
722
723
|
if (rows.length === 0) {
|
|
723
724
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
|
|
724
725
|
}
|
|
725
726
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
|
|
726
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
727
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
728
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
729
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
730
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
731
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
732
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
733
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
727
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Table, { children: [
|
|
728
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.TableRow, { children: [
|
|
729
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
|
|
730
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
|
|
731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
|
|
732
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
|
|
733
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
|
|
734
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
|
|
734
735
|
] }) }),
|
|
735
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
736
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableBody, { children: rows.map((row) => {
|
|
736
737
|
const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
|
|
737
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
738
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
739
|
-
|
|
738
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
|
|
739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
740
|
+
_chunkNFCXUAE6js.Link,
|
|
740
741
|
{
|
|
741
742
|
href: generateUrl({ page: sessionPageUrl, id: row.id }),
|
|
742
743
|
"data-testid": `analytics-session-link-${row.id}`,
|
|
743
744
|
children: dateTime.format(row.startedAt)
|
|
744
745
|
}
|
|
745
746
|
) }),
|
|
746
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
747
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
|
|
747
748
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
|
|
748
749
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
|
|
749
750
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
750
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
|
|
751
752
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
|
|
752
753
|
] }) }),
|
|
753
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
755
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
756
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-xs", children: source }),
|
|
755
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-xs", children: row.landingRoute }),
|
|
756
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
|
|
757
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
|
|
757
758
|
] }, row.id);
|
|
758
759
|
}) })
|
|
759
760
|
] }) }),
|
|
760
|
-
hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
761
|
+
hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
|
|
761
762
|
] });
|
|
762
763
|
}
|
|
763
764
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
|
|
@@ -789,7 +790,7 @@ var inferGranularity = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (buc
|
|
|
789
790
|
}, "inferGranularity");
|
|
790
791
|
function AnalyticsTimelineChart({ rows, className }) {
|
|
791
792
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
792
|
-
const { compact, bucketDate, decimal } =
|
|
793
|
+
const { compact, bucketDate, decimal } = _chunkTWBZ2GSXjs.useUsageFormatters.call(void 0, );
|
|
793
794
|
const { resolvedTheme } = _nextthemes.useTheme.call(void 0, );
|
|
794
795
|
const mode = resolvedTheme === "dark" ? "dark" : "light";
|
|
795
796
|
const chartData = _react.useMemo.call(void 0, () => {
|
|
@@ -824,7 +825,7 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
824
825
|
// rtl-ok: deliberate LTR island (chart)
|
|
825
826
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
|
|
826
827
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
|
|
827
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
828
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.ChartContainer, { config: chartConfig, className: "aspect-auto h-72 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _recharts.BarChart, { accessibilityLayer: true, data: chartData, margin: { top: 8, right: 8, bottom: 0, left: 0 }, children: [
|
|
828
829
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
|
|
829
830
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
830
831
|
_recharts.XAxis,
|
|
@@ -848,10 +849,10 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
848
849
|
}
|
|
849
850
|
),
|
|
850
851
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
851
|
-
|
|
852
|
+
_chunkNFCXUAE6js.ChartTooltip,
|
|
852
853
|
{
|
|
853
854
|
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
854
|
-
|
|
855
|
+
_chunkNFCXUAE6js.ChartTooltipContent,
|
|
855
856
|
{
|
|
856
857
|
labelFormatter: (value) => bucketDate(String(value), granularity),
|
|
857
858
|
valueFormatter: (value) => decimal(Number(value), 0)
|
|
@@ -859,13 +860,13 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
859
860
|
)
|
|
860
861
|
}
|
|
861
862
|
),
|
|
862
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
863
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.ChartLegendContent, {}) }),
|
|
863
864
|
SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
864
865
|
_recharts.Bar,
|
|
865
866
|
{
|
|
866
867
|
dataKey: series,
|
|
867
868
|
maxBarSize: 28,
|
|
868
|
-
fill:
|
|
869
|
+
fill: _chunkTWBZ2GSXjs.seriesColor.call(void 0, index, mode),
|
|
869
870
|
stroke: "var(--background)",
|
|
870
871
|
strokeWidth: 2,
|
|
871
872
|
radius: [4, 4, 0, 0]
|
|
@@ -894,25 +895,25 @@ function AnalyticsAdminContainer() {
|
|
|
894
895
|
error
|
|
895
896
|
} = useAnalyticsAdmin();
|
|
896
897
|
if (error) {
|
|
897
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
898
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
|
|
898
899
|
}
|
|
899
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
900
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
900
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.RoundPageContainer, { fullWidth: true, forceHeader: true });
|
|
901
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
|
|
901
902
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
902
903
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
|
|
903
904
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
|
|
904
905
|
] }),
|
|
905
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
906
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
907
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
906
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Card, { children: [
|
|
907
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
|
|
908
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
|
|
908
909
|
] }),
|
|
909
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
910
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
911
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
910
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Card, { children: [
|
|
911
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
|
|
912
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
|
|
912
913
|
] }),
|
|
913
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
914
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
915
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
914
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Card, { children: [
|
|
915
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
|
|
916
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
916
917
|
AnalyticsSessionsTable,
|
|
917
918
|
{
|
|
918
919
|
rows: sessions,
|
|
@@ -935,7 +936,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
|
|
|
935
936
|
function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL2 }) {
|
|
936
937
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
937
938
|
const locale = _nextintl.useLocale.call(void 0, );
|
|
938
|
-
const generateUrl =
|
|
939
|
+
const generateUrl = _chunkNFCXUAE6js.usePageUrlGenerator.call(void 0, );
|
|
939
940
|
const [session, setSession] = _react.useState.call(void 0, void 0);
|
|
940
941
|
const [pageViews, setPageViews] = _react.useState.call(void 0, []);
|
|
941
942
|
const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
|
|
@@ -991,26 +992,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
991
992
|
const title = { type: t("analytics.admin.panels.journey") };
|
|
992
993
|
const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
|
|
993
994
|
if (error) {
|
|
994
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
995
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
|
|
995
996
|
}
|
|
996
|
-
if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
997
|
+
if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.RoundPageContainer, { fullWidth: true, forceHeader: true });
|
|
997
998
|
const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
|
|
998
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
999
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
999
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
|
|
1000
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.CardContent, { className: "flex flex-col gap-3", children: [
|
|
1000
1001
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
1001
1002
|
session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
|
|
1002
1003
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
|
|
1003
1004
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
|
|
1004
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1005
|
-
session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1005
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
|
|
1006
|
+
session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
|
|
1006
1007
|
] }),
|
|
1007
1008
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
|
|
1008
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1009
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1010
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1011
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1009
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
|
|
1010
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
|
|
1011
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
|
|
1012
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
|
|
1012
1013
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1013
|
-
|
|
1014
|
+
_chunkNFCXUAE6js.DetailField,
|
|
1014
1015
|
{
|
|
1015
1016
|
label: t("analytics.admin.columns.visitor"),
|
|
1016
1017
|
value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
|
|
@@ -1018,31 +1019,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
1018
1019
|
)
|
|
1019
1020
|
] })
|
|
1020
1021
|
] }) }),
|
|
1021
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1022
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1023
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1022
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Card, { children: [
|
|
1023
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
|
|
1024
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
|
|
1024
1025
|
// The package's <Table> wraps itself in an `overflow-x-clip`
|
|
1025
1026
|
// container — hence the child override, so wide rows scroll.
|
|
1026
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1027
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1028
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1029
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1030
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1027
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Table, { children: [
|
|
1028
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.TableRow, { children: [
|
|
1029
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
|
|
1030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
|
|
1031
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
|
|
1031
1032
|
] }) }),
|
|
1032
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1033
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableBody, { children: pageViews.map((pageView, index) => {
|
|
1033
1034
|
const previous = index > 0 ? pageViews[index - 1] : void 0;
|
|
1034
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1035
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1036
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1037
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1035
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
|
|
1036
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
|
|
1037
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
|
|
1038
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.TableCell, { className: "text-xs", children: pageView.path })
|
|
1038
1039
|
] }, pageView.id);
|
|
1039
1040
|
}) })
|
|
1040
1041
|
] }) })
|
|
1041
1042
|
) })
|
|
1042
1043
|
] }),
|
|
1043
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1044
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1045
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1044
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNFCXUAE6js.Card, { children: [
|
|
1045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
|
|
1046
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1046
1047
|
AnalyticsSessionsTable,
|
|
1047
1048
|
{
|
|
1048
1049
|
rows: otherSessions,
|
|
@@ -1054,7 +1055,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
1054
1055
|
] })
|
|
1055
1056
|
] }) });
|
|
1056
1057
|
}, "renderBody");
|
|
1057
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1058
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFCXUAE6js.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
|
|
1058
1059
|
}
|
|
1059
1060
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
|
|
1060
1061
|
function unit(locale, name, value) {
|
|
@@ -1162,5 +1163,5 @@ var ANALYTICS_ADMIN_I18N_KEYS = [
|
|
|
1162
1163
|
|
|
1163
1164
|
|
|
1164
1165
|
|
|
1165
|
-
exports.ANALYTICS_ADMIN_I18N_KEYS = ANALYTICS_ADMIN_I18N_KEYS; exports.ANALYTICS_DIMENSIONS = ANALYTICS_DIMENSIONS; exports.ANALYTICS_GRANULARITIES = ANALYTICS_GRANULARITIES; exports.ANALYTICS_SECTIONS = ANALYTICS_SECTIONS; exports.AnalyticsAdminContainer = AnalyticsAdminContainer; exports.AnalyticsAdminFilterBar = AnalyticsAdminFilterBar; exports.AnalyticsAdminPageContainer = AnalyticsAdminPageContainer; exports.AnalyticsAdminProvider = AnalyticsAdminProvider; exports.AnalyticsAdminService = AnalyticsAdminService; exports.AnalyticsAdminTiles = AnalyticsAdminTiles; exports.AnalyticsBreakdown =
|
|
1166
|
+
exports.ANALYTICS_ADMIN_I18N_KEYS = ANALYTICS_ADMIN_I18N_KEYS; exports.ANALYTICS_DIMENSIONS = ANALYTICS_DIMENSIONS; exports.ANALYTICS_GRANULARITIES = ANALYTICS_GRANULARITIES; exports.ANALYTICS_SECTIONS = ANALYTICS_SECTIONS; exports.AnalyticsAdminContainer = AnalyticsAdminContainer; exports.AnalyticsAdminFilterBar = AnalyticsAdminFilterBar; exports.AnalyticsAdminPageContainer = AnalyticsAdminPageContainer; exports.AnalyticsAdminProvider = AnalyticsAdminProvider; exports.AnalyticsAdminService = AnalyticsAdminService; exports.AnalyticsAdminTiles = AnalyticsAdminTiles; exports.AnalyticsBreakdown = _chunk6OFANJTEjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunk6OFANJTEjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunk6OFANJTEjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunk6OFANJTEjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunk6OFANJTEjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunk6OFANJTEjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunk6OFANJTEjs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
|
|
1166
1167
|
//# sourceMappingURL=index.js.map
|