@carlonicora/nextjs-jsonapi 6.12.1 → 6.13.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/{ApiData-DPKNfY-9.d.mts → ApiData-Be8yxCOX.d.mts} +2 -0
- package/dist/{ApiData-DPKNfY-9.d.ts → ApiData-Be8yxCOX.d.ts} +2 -0
- package/dist/{BlockNoteEditor-N2NBYCPC.mjs → BlockNoteEditor-22Q4DJBU.mjs} +20 -8
- package/dist/BlockNoteEditor-22Q4DJBU.mjs.map +1 -0
- package/dist/{BlockNoteEditor-CBYKEXAQ.js → BlockNoteEditor-2VLPSEKS.js} +34 -22
- package/dist/BlockNoteEditor-2VLPSEKS.js.map +1 -0
- package/dist/{BlockNoteViewer-WGCDB7IJ.js → BlockNoteViewer-2XYASA5Y.js} +8 -5
- package/dist/BlockNoteViewer-2XYASA5Y.js.map +1 -0
- package/dist/{BlockNoteViewer-MTGS6YJV.mjs → BlockNoteViewer-NBW2H6LC.mjs} +7 -4
- package/dist/{BlockNoteViewer-MTGS6YJV.mjs.map → BlockNoteViewer-NBW2H6LC.mjs.map} +1 -1
- package/dist/{JsonApiRequest-A66XK5WT.mjs → JsonApiRequest-F6TMJ42G.mjs} +2 -2
- package/dist/JsonApiRequest-WISJZSDE.js +26 -0
- package/dist/{JsonApiRequest-FZGPLNUF.js.map → JsonApiRequest-WISJZSDE.js.map} +1 -1
- package/dist/billing/index.js +499 -494
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/index.mjs +13 -8
- package/dist/billing/index.mjs.map +1 -1
- package/dist/chunk-27LQDGNP.mjs +317 -0
- package/dist/chunk-27LQDGNP.mjs.map +1 -0
- package/dist/{chunk-6NZKWIOR.js → chunk-2H342HNN.js} +956 -929
- package/dist/chunk-2H342HNN.js.map +1 -0
- package/dist/{chunk-KSYQEKJX.js → chunk-2SV4SS6N.js} +14 -14
- package/dist/{chunk-KSYQEKJX.js.map → chunk-2SV4SS6N.js.map} +1 -1
- package/dist/{chunk-4FNGWALA.mjs → chunk-47BBY5KA.mjs} +6 -4
- package/dist/{chunk-4FNGWALA.mjs.map → chunk-47BBY5KA.mjs.map} +1 -1
- package/dist/chunk-6JUCIWDC.mjs +570 -0
- package/dist/chunk-6JUCIWDC.mjs.map +1 -0
- package/dist/chunk-7DBJTNSU.mjs +1049 -0
- package/dist/chunk-7DBJTNSU.mjs.map +1 -0
- package/dist/chunk-7JZHPMGW.mjs +704 -0
- package/dist/chunk-7JZHPMGW.mjs.map +1 -0
- package/dist/{chunk-L6PYFQTO.js → chunk-7ZHTPFFT.js} +16 -14
- package/dist/chunk-7ZHTPFFT.js.map +1 -0
- package/dist/chunk-B6JGKDP2.js +214 -0
- package/dist/chunk-B6JGKDP2.js.map +1 -0
- package/dist/{chunk-3YW35YHQ.mjs → chunk-BH6JWIKI.mjs} +5 -5
- package/dist/chunk-BZ5J2FIV.js +570 -0
- package/dist/chunk-BZ5J2FIV.js.map +1 -0
- package/dist/{chunk-V5MI7RNB.mjs → chunk-DGWOVYEC.mjs} +2 -2
- package/dist/chunk-DOCIFE6A.mjs +212 -0
- package/dist/chunk-DOCIFE6A.mjs.map +1 -0
- package/dist/chunk-GB6DBFYY.js +25 -0
- package/dist/chunk-GB6DBFYY.js.map +1 -0
- package/dist/{chunk-6XJOQFCP.mjs → chunk-H4NLDX5G.mjs} +59 -32
- package/dist/chunk-H4NLDX5G.mjs.map +1 -0
- package/dist/{chunk-EWCY6QJA.mjs → chunk-JJMMT24D.mjs} +37 -3
- package/dist/chunk-JJMMT24D.mjs.map +1 -0
- package/dist/{chunk-JTPRJNT2.js → chunk-KMW7UNL2.js} +38 -3
- package/dist/chunk-KMW7UNL2.js.map +1 -0
- package/dist/chunk-MHB36MYE.js +317 -0
- package/dist/chunk-MHB36MYE.js.map +1 -0
- package/dist/{chunk-FF4EIQ6H.js → chunk-MOGEGWXW.js} +1039 -1680
- package/dist/chunk-MOGEGWXW.js.map +1 -0
- package/dist/{chunk-AA52ORW2.mjs → chunk-P445QGOC.mjs} +61 -702
- package/dist/chunk-P445QGOC.mjs.map +1 -0
- package/dist/chunk-PV4Z5W6V.js +212 -0
- package/dist/chunk-PV4Z5W6V.js.map +1 -0
- package/dist/chunk-PXDUJ47N.js +1049 -0
- package/dist/chunk-PXDUJ47N.js.map +1 -0
- package/dist/{chunk-GHE4VT2R.js → chunk-QKNGZDSQ.js} +2 -2
- package/dist/{chunk-GHE4VT2R.js.map → chunk-QKNGZDSQ.js.map} +1 -1
- package/dist/chunk-W62MHDWM.js +704 -0
- package/dist/chunk-W62MHDWM.js.map +1 -0
- package/dist/chunk-XXP3TQHF.mjs +25 -0
- package/dist/chunk-XXP3TQHF.mjs.map +1 -0
- package/dist/chunk-YRKIFYOE.mjs +214 -0
- package/dist/chunk-YRKIFYOE.mjs.map +1 -0
- package/dist/{chunk-O3PDL2CV.js → chunk-Z4POQWFG.js} +40 -6
- package/dist/chunk-Z4POQWFG.js.map +1 -0
- package/dist/{chunk-PI56A4DG.mjs → chunk-ZLTOUZN2.mjs} +37 -2
- package/dist/chunk-ZLTOUZN2.mjs.map +1 -0
- package/dist/client/index.d.mts +2 -2
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +14 -9
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +24 -19
- package/dist/components/index.d.mts +7 -1
- package/dist/components/index.d.ts +7 -1
- package/dist/components/index.js +11 -7
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +10 -6
- package/dist/contexts/index.d.mts +1 -1
- package/dist/contexts/index.d.ts +1 -1
- package/dist/contexts/index.js +11 -7
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/index.mjs +10 -6
- package/dist/core/index.d.mts +128 -2
- package/dist/core/index.d.ts +128 -2
- package/dist/core/index.js +17 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +22 -9
- package/dist/email-automations/index.js +101 -96
- package/dist/email-automations/index.js.map +1 -1
- package/dist/email-automations/index.mjs +13 -8
- package/dist/email-automations/index.mjs.map +1 -1
- package/dist/features/analytics/index.js +128 -123
- package/dist/features/analytics/index.js.map +1 -1
- package/dist/features/analytics/index.mjs +13 -8
- package/dist/features/analytics/index.mjs.map +1 -1
- package/dist/features/analytics/server.js +11 -8
- package/dist/features/analytics/server.js.map +1 -1
- package/dist/features/analytics/server.mjs +9 -6
- package/dist/features/analytics/server.mjs.map +1 -1
- package/dist/features/blog/index.js +158 -153
- package/dist/features/blog/index.js.map +1 -1
- package/dist/features/blog/index.mjs +14 -9
- package/dist/features/blog/index.mjs.map +1 -1
- package/dist/features/blog/server.js +30 -26
- package/dist/features/blog/server.js.map +1 -1
- package/dist/features/blog/server.mjs +10 -6
- package/dist/features/blog/server.mjs.map +1 -1
- package/dist/features/help/index.js +44 -40
- package/dist/features/help/index.js.map +1 -1
- package/dist/features/help/index.mjs +10 -6
- package/dist/features/help/index.mjs.map +1 -1
- package/dist/features/tokenusage/index.js +134 -129
- package/dist/features/tokenusage/index.js.map +1 -1
- package/dist/features/tokenusage/index.mjs +13 -8
- package/dist/features/tokenusage/index.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +18 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -11
- package/dist/lifecycle-4GUOTB46.js +23 -0
- package/dist/lifecycle-4GUOTB46.js.map +1 -0
- package/dist/lifecycle-LKGPRBS7.mjs +23 -0
- package/dist/local-transport-7H3SPZSA.js +15 -0
- package/dist/local-transport-7H3SPZSA.js.map +1 -0
- package/dist/local-transport-QYFKA6AN.mjs +15 -0
- package/dist/local-transport-QYFKA6AN.mjs.map +1 -0
- package/dist/offline/index.d.mts +607 -0
- package/dist/offline/index.d.ts +607 -0
- package/dist/offline/index.js +1052 -0
- package/dist/offline/index.js.map +1 -0
- package/dist/offline/index.mjs +1052 -0
- package/dist/offline/index.mjs.map +1 -0
- package/dist/offline/sqlite/device-worker.mjs +62 -0
- package/dist/offline/sqlite/index.mjs +17392 -0
- package/dist/offline/sqlite/sqlite3-opfs-async-proxy.js +881 -0
- package/dist/offline/sqlite/sqlite3.wasm +0 -0
- package/dist/request-KTBV6HHH.js +10 -0
- package/dist/request-KTBV6HHH.js.map +1 -0
- package/dist/request-SQOUNWZ4.mjs +10 -0
- package/dist/request-SQOUNWZ4.mjs.map +1 -0
- package/dist/server/cachedGet.d.mts +1 -1
- package/dist/server/cachedGet.d.ts +1 -1
- package/dist/server/cachedGet.stub.d.mts +1 -1
- package/dist/server/cachedGet.stub.d.ts +1 -1
- package/dist/server/index.d.mts +28 -2
- package/dist/server/index.d.ts +28 -2
- package/dist/server/index.js +18 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +18 -8
- package/dist/{useSocket-IRHtk2xc.d.ts → useSocket-Bo9M0t0J.d.ts} +3 -1
- package/dist/{useSocket-C8fqU4od.d.mts → useSocket-J5qanQPN.d.mts} +3 -1
- package/dist/write-through-FDQ7N4YI.js +15 -0
- package/dist/write-through-FDQ7N4YI.js.map +1 -0
- package/dist/write-through-R25VQMH6.mjs +15 -0
- package/dist/write-through-R25VQMH6.mjs.map +1 -0
- package/package.json +7 -1
- package/pwa/sw.js +277 -26
- package/src/client/request.ts +37 -0
- package/src/components/containers/RoundPageContainer.tsx +8 -8
- package/src/components/editors/BlockNoteEditor.tsx +14 -0
- package/src/components/editors/__tests__/BlockNoteEditor.empty-change.spec.tsx +205 -0
- package/src/contexts/SocketContext.tsx +7 -1
- package/src/contexts/__tests__/SocketContext.session.spec.tsx +52 -5
- package/src/core/factories/RehydrationFactory.ts +28 -8
- package/src/core/factories/__tests__/RehydrationFactory.spec.ts +33 -0
- package/src/core/index.ts +3 -0
- package/src/core/interfaces/ApiData.ts +2 -0
- package/src/core/registry/ModuleRegistry.ts +3 -0
- package/src/features/auth/components/forms/Logout.tsx +8 -1
- package/src/features/auth/components/forms/__tests__/Logout.spec.tsx +62 -0
- package/src/hooks/__tests__/useSocket.pause.spec.ts +39 -0
- package/src/hooks/useSocket.ts +20 -1
- package/src/offline/__tests__/answer-builders.spec.ts +176 -0
- package/src/offline/__tests__/device-switch.spec.ts +179 -0
- package/src/offline/__tests__/generic-answers.spec.ts +380 -0
- package/src/offline/__tests__/local-transport.spec.ts +150 -0
- package/src/offline/__tests__/logout.spec.ts +122 -0
- package/src/offline/__tests__/offline-fixtures.ts +89 -0
- package/src/offline/__tests__/router.spec.ts +56 -0
- package/src/offline/__tests__/state.spec.ts +62 -0
- package/src/offline/__tests__/write-through.spec.ts +137 -0
- package/src/offline/config.ts +229 -0
- package/src/offline/configure.ts +14 -0
- package/src/offline/device-switch.ts +75 -0
- package/src/offline/generic-answers.ts +706 -0
- package/src/offline/index.ts +67 -0
- package/src/offline/local-transport.ts +189 -0
- package/src/offline/logout.ts +41 -0
- package/src/offline/router.ts +41 -0
- package/src/offline/server/__tests__/build-offline-manifest.spec.ts +76 -0
- package/src/offline/server/build-offline-manifest.ts +49 -0
- package/src/offline/state-hooks.ts +10 -0
- package/src/offline/state.ts +143 -0
- package/src/offline/store/DeviceStore.ts +112 -0
- package/src/offline/store/__tests__/device-store-lifecycle.spec.ts +343 -0
- package/src/offline/store/__tests__/shared-database.spec.ts +151 -0
- package/src/offline/store/__tests__/sql-device-store.spec.ts +399 -0
- package/src/offline/store/lifecycle.ts +315 -0
- package/src/offline/store/schema.ts +101 -0
- package/src/offline/store/shared-database.ts +321 -0
- package/src/offline/store/sql-device-store.ts +469 -0
- package/src/offline/store/worker-client.ts +71 -0
- package/src/offline/store/worker.ts +87 -0
- package/src/offline/sync/__tests__/conflicts.spec.ts +185 -0
- package/src/offline/sync/__tests__/queue-drain.spec.ts +364 -0
- package/src/offline/sync/__tests__/runtime.spec.ts +337 -0
- package/src/offline/sync/__tests__/sync-fixtures.ts +103 -0
- package/src/offline/sync/__tests__/sync-root.spec.ts +727 -0
- package/src/offline/sync/artwork-cache.ts +67 -0
- package/src/offline/sync/conflicts.ts +211 -0
- package/src/offline/sync/counts.ts +39 -0
- package/src/offline/sync/drain-queue.ts +246 -0
- package/src/offline/sync/known-roots.ts +37 -0
- package/src/offline/sync/models/OfflineChangeSet.ts +34 -0
- package/src/offline/sync/models/OfflineChangeSetInterface.ts +54 -0
- package/src/offline/sync/models/RootSync.ts +68 -0
- package/src/offline/sync/models/RootSyncInterface.ts +20 -0
- package/src/offline/sync/models/__tests__/OfflineChangeSet.spec.ts +47 -0
- package/src/offline/sync/models/__tests__/RootSync.spec.ts +54 -0
- package/src/offline/sync/models/index.ts +5 -0
- package/src/offline/sync/models/offline.modules.ts +14 -0
- package/src/offline/sync/runtime.ts +226 -0
- package/src/offline/sync/session-refresh.ts +32 -0
- package/src/offline/sync/sync-root.ts +336 -0
- package/src/offline/sync/waiting.ts +40 -0
- package/src/offline/types.ts +115 -0
- package/src/offline/write-through.ts +189 -0
- package/src/pwa/__tests__/sw.spec.ts +358 -1
- package/src/server/index.ts +5 -0
- package/src/unified/__tests__/JsonApiRequest.offline.spec.ts +243 -0
- package/dist/BlockNoteEditor-CBYKEXAQ.js.map +0 -1
- package/dist/BlockNoteEditor-N2NBYCPC.mjs.map +0 -1
- package/dist/BlockNoteViewer-WGCDB7IJ.js.map +0 -1
- package/dist/JsonApiRequest-FZGPLNUF.js +0 -26
- package/dist/chunk-6NZKWIOR.js.map +0 -1
- package/dist/chunk-6XJOQFCP.mjs.map +0 -1
- package/dist/chunk-AA52ORW2.mjs.map +0 -1
- package/dist/chunk-EWCY6QJA.mjs.map +0 -1
- package/dist/chunk-FF4EIQ6H.js.map +0 -1
- package/dist/chunk-JTPRJNT2.js.map +0 -1
- package/dist/chunk-L6PYFQTO.js.map +0 -1
- package/dist/chunk-O3PDL2CV.js.map +0 -1
- package/dist/chunk-PI56A4DG.mjs.map +0 -1
- package/dist/request-5RLK2AM3.mjs +0 -9
- package/dist/request-EUGTI3BE.js +0 -9
- package/dist/request-EUGTI3BE.js.map +0 -1
- /package/dist/{JsonApiRequest-A66XK5WT.mjs.map → JsonApiRequest-F6TMJ42G.mjs.map} +0 -0
- /package/dist/{chunk-3YW35YHQ.mjs.map → chunk-BH6JWIKI.mjs.map} +0 -0
- /package/dist/{chunk-V5MI7RNB.mjs.map → chunk-DGWOVYEC.mjs.map} +0 -0
- /package/dist/{request-5RLK2AM3.mjs.map → lifecycle-LKGPRBS7.mjs.map} +0 -0
|
@@ -31,8 +31,9 @@
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
var
|
|
35
|
-
require('../../chunk-
|
|
34
|
+
var _chunk2H342HNNjs = require('../../chunk-2H342HNN.js');
|
|
35
|
+
require('../../chunk-3EPNHTMH.js');
|
|
36
|
+
require('../../chunk-7ZHTPFFT.js');
|
|
36
37
|
require('../../chunk-G4JR3SFV.js');
|
|
37
38
|
|
|
38
39
|
|
|
@@ -44,13 +45,17 @@ require('../../chunk-G4JR3SFV.js');
|
|
|
44
45
|
|
|
45
46
|
|
|
46
47
|
|
|
48
|
+
var _chunkMOGEGWXWjs = require('../../chunk-MOGEGWXW.js');
|
|
49
|
+
require('../../chunk-GB6DBFYY.js');
|
|
50
|
+
|
|
47
51
|
|
|
48
52
|
|
|
49
|
-
var
|
|
50
|
-
require('../../chunk-
|
|
53
|
+
var _chunkBZ5J2FIVjs = require('../../chunk-BZ5J2FIV.js');
|
|
54
|
+
require('../../chunk-PV4Z5W6V.js');
|
|
55
|
+
require('../../chunk-KMW7UNL2.js');
|
|
56
|
+
require('../../chunk-MHB36MYE.js');
|
|
57
|
+
require('../../chunk-QKNGZDSQ.js');
|
|
51
58
|
require('../../chunk-LXKSUWAV.js');
|
|
52
|
-
require('../../chunk-JTPRJNT2.js');
|
|
53
|
-
require('../../chunk-3EPNHTMH.js');
|
|
54
59
|
|
|
55
60
|
|
|
56
61
|
var _chunk7QVYU63Ejs = require('../../chunk-7QVYU63E.js');
|
|
@@ -61,7 +66,7 @@ var _react = require('react');
|
|
|
61
66
|
var _uuid = require('uuid');
|
|
62
67
|
|
|
63
68
|
// src/features/analytics/data/AnalyticsService.ts
|
|
64
|
-
var AnalyticsService = class extends
|
|
69
|
+
var AnalyticsService = class extends _chunkMOGEGWXWjs.AbstractService {
|
|
65
70
|
static {
|
|
66
71
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsService");
|
|
67
72
|
}
|
|
@@ -73,9 +78,9 @@ var AnalyticsService = class extends _chunkFF4EIQ6Hjs.AbstractService {
|
|
|
73
78
|
static async track(input) {
|
|
74
79
|
try {
|
|
75
80
|
await this.callApi({
|
|
76
|
-
type:
|
|
81
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsEvent,
|
|
77
82
|
method: "POST" /* POST */,
|
|
78
|
-
endpoint: new (0,
|
|
83
|
+
endpoint: new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsEvent }).generate(),
|
|
79
84
|
input,
|
|
80
85
|
suppressGlobalError: true
|
|
81
86
|
});
|
|
@@ -224,7 +229,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
|
|
|
224
229
|
};
|
|
225
230
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
226
231
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-md:w-full max-md:[&_#date]:w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
227
|
-
|
|
232
|
+
_chunk2H342HNNjs.DateRangeSelector,
|
|
228
233
|
{
|
|
229
234
|
onDateChange: (range) => {
|
|
230
235
|
if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
|
|
@@ -268,13 +273,13 @@ function Segmented({
|
|
|
268
273
|
children: options.map((option) => {
|
|
269
274
|
const selected = option.value === value;
|
|
270
275
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
271
|
-
|
|
276
|
+
_chunk2H342HNNjs.Button,
|
|
272
277
|
{
|
|
273
278
|
type: "button",
|
|
274
279
|
size: "sm",
|
|
275
280
|
variant: selected ? "default" : "ghost",
|
|
276
281
|
"aria-pressed": selected,
|
|
277
|
-
className:
|
|
282
|
+
className: _chunkMOGEGWXWjs.cn.call(void 0, !selected && "text-muted-foreground"),
|
|
278
283
|
onClick: () => onSelect(option.value),
|
|
279
284
|
children: option.label
|
|
280
285
|
},
|
|
@@ -294,45 +299,45 @@ function withFilters(endpoint, filters) {
|
|
|
294
299
|
return endpoint;
|
|
295
300
|
}
|
|
296
301
|
_chunk7QVYU63Ejs.__name.call(void 0, withFilters, "withFilters");
|
|
297
|
-
var AnalyticsAdminService = class extends
|
|
302
|
+
var AnalyticsAdminService = class extends _chunkMOGEGWXWjs.AbstractService {
|
|
298
303
|
static {
|
|
299
304
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsAdminService");
|
|
300
305
|
}
|
|
301
306
|
/** Headline tiles: one row per window (current, previous). */
|
|
302
307
|
static async getSummary(filters) {
|
|
303
|
-
const endpoint = withFilters(new (0,
|
|
308
|
+
const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary }), filters);
|
|
304
309
|
return this.callApi({
|
|
305
|
-
type:
|
|
310
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary,
|
|
306
311
|
method: "GET" /* GET */,
|
|
307
312
|
endpoint: endpoint.generate()
|
|
308
313
|
});
|
|
309
314
|
}
|
|
310
315
|
static async getTimeline(params) {
|
|
311
|
-
const endpoint = withFilters(new (0,
|
|
316
|
+
const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsTimeline }), params);
|
|
312
317
|
endpoint.addAdditionalParam("granularity", params.granularity);
|
|
313
318
|
return this.callApi({
|
|
314
|
-
type:
|
|
319
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsTimeline,
|
|
315
320
|
method: "GET" /* GET */,
|
|
316
321
|
endpoint: endpoint.generate()
|
|
317
322
|
});
|
|
318
323
|
}
|
|
319
324
|
static async getBreakdown(params) {
|
|
320
|
-
const endpoint = withFilters(new (0,
|
|
325
|
+
const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsBreakdown }), params);
|
|
321
326
|
endpoint.addAdditionalParam("dimension", params.dimension);
|
|
322
327
|
if (params.limit !== void 0) endpoint.addAdditionalParam("limit", String(params.limit));
|
|
323
328
|
return this.callApi({
|
|
324
|
-
type:
|
|
329
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsBreakdown,
|
|
325
330
|
method: "GET" /* GET */,
|
|
326
331
|
endpoint: endpoint.generate()
|
|
327
332
|
});
|
|
328
333
|
}
|
|
329
334
|
/** Newest sessions first, cursor-paginated through `next`. */
|
|
330
335
|
static async getSessions(params) {
|
|
331
|
-
const endpoint = withFilters(new (0,
|
|
336
|
+
const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSession }), params);
|
|
332
337
|
if (params.visitorId) endpoint.addAdditionalParam("visitorId", params.visitorId);
|
|
333
338
|
if (params.userId) endpoint.addAdditionalParam("userId", params.userId);
|
|
334
339
|
return this.callApi({
|
|
335
|
-
type:
|
|
340
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
|
|
336
341
|
method: "GET" /* GET */,
|
|
337
342
|
endpoint: endpoint.generate(),
|
|
338
343
|
next: params.next
|
|
@@ -340,20 +345,20 @@ var AnalyticsAdminService = class extends _chunkFF4EIQ6Hjs.AbstractService {
|
|
|
340
345
|
}
|
|
341
346
|
static async getSession(params) {
|
|
342
347
|
return this.callApi({
|
|
343
|
-
type:
|
|
348
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
|
|
344
349
|
method: "GET" /* GET */,
|
|
345
|
-
endpoint: new (0,
|
|
350
|
+
endpoint: new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSession, id: params.id }).generate()
|
|
346
351
|
});
|
|
347
352
|
}
|
|
348
353
|
/** The journey: every page view of one session, oldest first. */
|
|
349
354
|
static async getSessionPageViews(params) {
|
|
350
355
|
return this.callApi({
|
|
351
|
-
type:
|
|
356
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsPageView,
|
|
352
357
|
method: "GET" /* GET */,
|
|
353
|
-
endpoint: new (0,
|
|
354
|
-
endpoint:
|
|
358
|
+
endpoint: new (0, _chunkBZ5J2FIVjs.EndpointCreator)({
|
|
359
|
+
endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
|
|
355
360
|
id: params.sessionId,
|
|
356
|
-
childEndpoint:
|
|
361
|
+
childEndpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsPageView
|
|
357
362
|
}).generate()
|
|
358
363
|
});
|
|
359
364
|
}
|
|
@@ -449,7 +454,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
449
454
|
const sessionsNext = {};
|
|
450
455
|
try {
|
|
451
456
|
const nextSessions = await AnalyticsAdminService.next({
|
|
452
|
-
type:
|
|
457
|
+
type: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
|
|
453
458
|
endpoint: sessionsNextPage,
|
|
454
459
|
next: sessionsNext
|
|
455
460
|
});
|
|
@@ -504,7 +509,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
504
509
|
error
|
|
505
510
|
]
|
|
506
511
|
);
|
|
507
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
512
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
|
|
508
513
|
}, "AnalyticsAdminProvider");
|
|
509
514
|
var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
|
|
510
515
|
const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
|
|
@@ -524,7 +529,7 @@ var _lucidereact = require('lucide-react');
|
|
|
524
529
|
var ZERO = { visitors: 0, sessions: 0, pageViews: 0, pagesPerSession: 0, consentShare: 0 };
|
|
525
530
|
function AnalyticsAdminTiles({ summary }) {
|
|
526
531
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
527
|
-
const { decimal } =
|
|
532
|
+
const { decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
|
|
528
533
|
const rowFor = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (window2) => _nullishCoalesce(summary.find((r) => r.section === "total" && r.window === window2), () => ( ZERO)), "rowFor");
|
|
529
534
|
const current = rowFor("current");
|
|
530
535
|
const previous = rowFor("previous");
|
|
@@ -537,7 +542,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
537
542
|
testId: "analytics-tile-visitors",
|
|
538
543
|
label: t("analytics.admin.tiles.visitors"),
|
|
539
544
|
value: decimal(current.visitors, 0),
|
|
540
|
-
delta:
|
|
545
|
+
delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
|
|
541
546
|
previousLabel,
|
|
542
547
|
decimal
|
|
543
548
|
}
|
|
@@ -548,7 +553,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
548
553
|
testId: "analytics-tile-sessions",
|
|
549
554
|
label: t("analytics.admin.tiles.sessions"),
|
|
550
555
|
value: decimal(current.sessions, 0),
|
|
551
|
-
delta:
|
|
556
|
+
delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
|
|
552
557
|
previousLabel,
|
|
553
558
|
decimal
|
|
554
559
|
}
|
|
@@ -559,7 +564,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
559
564
|
testId: "analytics-tile-page-views",
|
|
560
565
|
label: t("analytics.admin.tiles.page_views"),
|
|
561
566
|
value: decimal(current.pageViews, 0),
|
|
562
|
-
delta:
|
|
567
|
+
delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
|
|
563
568
|
previousLabel,
|
|
564
569
|
decimal
|
|
565
570
|
}
|
|
@@ -572,7 +577,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
572
577
|
testId: "analytics-tile-pages-per-session",
|
|
573
578
|
label: t("analytics.admin.tiles.pages_per_session"),
|
|
574
579
|
value: decimal(current.pagesPerSession, 1),
|
|
575
|
-
delta:
|
|
580
|
+
delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
|
|
576
581
|
decimal
|
|
577
582
|
}
|
|
578
583
|
),
|
|
@@ -597,8 +602,8 @@ function LeadTile({
|
|
|
597
602
|
previousLabel,
|
|
598
603
|
decimal
|
|
599
604
|
}) {
|
|
600
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
601
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
605
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.CardContent, { className: "grid gap-1", children: [
|
|
606
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.MicroLabel, { children: label }),
|
|
602
607
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
|
|
603
608
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
|
|
604
609
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
|
|
@@ -614,8 +619,8 @@ function SupportingTile({
|
|
|
614
619
|
delta,
|
|
615
620
|
decimal
|
|
616
621
|
}) {
|
|
617
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
618
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
622
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.CardContent, { className: "grid gap-1", children: [
|
|
623
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.MicroLabel, { children: label }),
|
|
619
624
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
620
625
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
|
|
621
626
|
delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
|
|
@@ -638,7 +643,7 @@ function Delta({
|
|
|
638
643
|
"span",
|
|
639
644
|
{
|
|
640
645
|
"data-testid": testId,
|
|
641
|
-
className:
|
|
646
|
+
className: _chunkMOGEGWXWjs.cn.call(void 0,
|
|
642
647
|
"inline-flex items-center gap-0.5 text-xs tabular-nums",
|
|
643
648
|
increased ? "text-success" : "text-destructive"
|
|
644
649
|
),
|
|
@@ -666,15 +671,15 @@ function AnalyticsBreakdownTable({ breakdowns }) {
|
|
|
666
671
|
route: t("analytics.admin.dimensions.route"),
|
|
667
672
|
landing: t("analytics.admin.dimensions.landing")
|
|
668
673
|
};
|
|
669
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
670
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
671
|
-
ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
674
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
|
|
675
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.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, _chunk2H342HNNjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
|
|
676
|
+
ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
|
|
672
677
|
] });
|
|
673
678
|
}
|
|
674
679
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
|
|
675
680
|
function BreakdownRows({ rows }) {
|
|
676
681
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
677
|
-
const { decimal } =
|
|
682
|
+
const { decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
|
|
678
683
|
const sortedRows = _react.useMemo.call(void 0, () => [...rows].sort((a, b) => b.visitors - a.visitors), [rows]);
|
|
679
684
|
if (sortedRows.length === 0) {
|
|
680
685
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
|
|
@@ -683,18 +688,18 @@ function BreakdownRows({ rows }) {
|
|
|
683
688
|
// The package's <Table> wraps itself in an `overflow-x-clip` container, which
|
|
684
689
|
// would swallow the overflow before this scroller ever saw it — hence the
|
|
685
690
|
// child override. Wide tables must scroll, never widen the page.
|
|
686
|
-
/* @__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,
|
|
687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
689
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
690
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
691
|
+
/* @__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, _chunk2H342HNNjs.Table, { children: [
|
|
692
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { children: [
|
|
693
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
|
|
694
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
|
|
695
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
|
|
696
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
|
|
692
697
|
] }) }),
|
|
693
|
-
/* @__PURE__ */ _jsxruntime.jsx.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, _chunk2H342HNNjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
|
|
699
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
|
|
700
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
|
|
701
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
|
|
702
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
|
|
698
703
|
] }, row.id)) })
|
|
699
704
|
] }) })
|
|
700
705
|
);
|
|
@@ -709,48 +714,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
|
|
|
709
714
|
function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
|
|
710
715
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
711
716
|
const locale = _nextintl.useLocale.call(void 0, );
|
|
712
|
-
const generateUrl =
|
|
713
|
-
const { decimal } =
|
|
717
|
+
const generateUrl = _chunk2H342HNNjs.usePageUrlGenerator.call(void 0, );
|
|
718
|
+
const { decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
|
|
714
719
|
const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
|
|
715
720
|
if (rows.length === 0) {
|
|
716
721
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
|
|
717
722
|
}
|
|
718
723
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
|
|
719
|
-
/* @__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,
|
|
720
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
721
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
722
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
723
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
724
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
725
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
726
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
724
|
+
/* @__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, _chunk2H342HNNjs.Table, { children: [
|
|
725
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { children: [
|
|
726
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
|
|
727
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
|
|
728
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
|
|
729
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
|
|
730
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
|
|
731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
|
|
727
732
|
] }) }),
|
|
728
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
733
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableBody, { children: rows.map((row) => {
|
|
729
734
|
const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
|
|
730
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
731
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
732
|
-
|
|
735
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
|
|
736
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
737
|
+
_chunk2H342HNNjs.Link,
|
|
733
738
|
{
|
|
734
739
|
href: generateUrl({ page: sessionPageUrl, id: row.id }),
|
|
735
740
|
"data-testid": `analytics-session-link-${row.id}`,
|
|
736
741
|
children: dateTime.format(row.startedAt)
|
|
737
742
|
}
|
|
738
743
|
) }),
|
|
739
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
744
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
|
|
740
745
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
|
|
741
746
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
|
|
742
747
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
743
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
|
|
744
749
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
|
|
745
750
|
] }) }),
|
|
746
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
747
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
748
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
749
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: source }),
|
|
752
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: row.landingRoute }),
|
|
753
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
|
|
754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
|
|
750
755
|
] }, row.id);
|
|
751
756
|
}) })
|
|
752
757
|
] }) }),
|
|
753
|
-
hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
758
|
+
hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
|
|
754
759
|
] });
|
|
755
760
|
}
|
|
756
761
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
|
|
@@ -782,7 +787,7 @@ var inferGranularity = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (buc
|
|
|
782
787
|
}, "inferGranularity");
|
|
783
788
|
function AnalyticsTimelineChart({ rows, className }) {
|
|
784
789
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
785
|
-
const { compact, bucketDate, decimal } =
|
|
790
|
+
const { compact, bucketDate, decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
|
|
786
791
|
const { resolvedTheme } = _nextthemes.useTheme.call(void 0, );
|
|
787
792
|
const mode = resolvedTheme === "dark" ? "dark" : "light";
|
|
788
793
|
const chartData = _react.useMemo.call(void 0, () => {
|
|
@@ -817,7 +822,7 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
817
822
|
// rtl-ok: deliberate LTR island (chart)
|
|
818
823
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
|
|
819
824
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
|
|
820
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
825
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.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: [
|
|
821
826
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
|
|
822
827
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
823
828
|
_recharts.XAxis,
|
|
@@ -841,10 +846,10 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
841
846
|
}
|
|
842
847
|
),
|
|
843
848
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
844
|
-
|
|
849
|
+
_chunk2H342HNNjs.ChartTooltip,
|
|
845
850
|
{
|
|
846
851
|
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
847
|
-
|
|
852
|
+
_chunk2H342HNNjs.ChartTooltipContent,
|
|
848
853
|
{
|
|
849
854
|
labelFormatter: (value) => bucketDate(String(value), granularity),
|
|
850
855
|
valueFormatter: (value) => decimal(Number(value), 0)
|
|
@@ -852,13 +857,13 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
852
857
|
)
|
|
853
858
|
}
|
|
854
859
|
),
|
|
855
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
860
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.ChartLegendContent, {}) }),
|
|
856
861
|
SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
857
862
|
_recharts.Bar,
|
|
858
863
|
{
|
|
859
864
|
dataKey: series,
|
|
860
865
|
maxBarSize: 28,
|
|
861
|
-
fill:
|
|
866
|
+
fill: _chunk2H342HNNjs.seriesColor.call(void 0, index, mode),
|
|
862
867
|
stroke: "var(--background)",
|
|
863
868
|
strokeWidth: 2,
|
|
864
869
|
radius: [4, 4, 0, 0]
|
|
@@ -887,25 +892,25 @@ function AnalyticsAdminContainer() {
|
|
|
887
892
|
error
|
|
888
893
|
} = useAnalyticsAdmin();
|
|
889
894
|
if (error) {
|
|
890
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
895
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
|
|
891
896
|
}
|
|
892
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
893
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
897
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
|
|
898
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
|
|
894
899
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
895
900
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
|
|
896
901
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
|
|
897
902
|
] }),
|
|
898
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
899
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
900
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
903
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
|
|
904
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
|
|
905
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
|
|
901
906
|
] }),
|
|
902
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
903
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
904
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
907
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
|
|
908
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
|
|
909
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
|
|
905
910
|
] }),
|
|
906
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
907
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
908
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
911
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
|
|
912
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
|
|
913
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
909
914
|
AnalyticsSessionsTable,
|
|
910
915
|
{
|
|
911
916
|
rows: sessions,
|
|
@@ -928,7 +933,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
|
|
|
928
933
|
function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL }) {
|
|
929
934
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
930
935
|
const locale = _nextintl.useLocale.call(void 0, );
|
|
931
|
-
const generateUrl =
|
|
936
|
+
const generateUrl = _chunk2H342HNNjs.usePageUrlGenerator.call(void 0, );
|
|
932
937
|
const [session, setSession] = _react.useState.call(void 0, void 0);
|
|
933
938
|
const [pageViews, setPageViews] = _react.useState.call(void 0, []);
|
|
934
939
|
const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
|
|
@@ -984,26 +989,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
984
989
|
const title = { type: t("analytics.admin.panels.journey") };
|
|
985
990
|
const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
|
|
986
991
|
if (error) {
|
|
987
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
992
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
|
|
988
993
|
}
|
|
989
|
-
if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
994
|
+
if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
|
|
990
995
|
const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
|
|
991
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
992
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
996
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
|
|
997
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.CardContent, { className: "flex flex-col gap-3", children: [
|
|
993
998
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
994
999
|
session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
|
|
995
1000
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
|
|
996
1001
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
|
|
997
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
998
|
-
session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1002
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
|
|
1003
|
+
session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
|
|
999
1004
|
] }),
|
|
1000
1005
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
|
|
1001
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1002
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1003
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1004
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1006
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
|
|
1007
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
|
|
1008
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
|
|
1009
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
|
|
1005
1010
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1006
|
-
|
|
1011
|
+
_chunk2H342HNNjs.DetailField,
|
|
1007
1012
|
{
|
|
1008
1013
|
label: t("analytics.admin.columns.visitor"),
|
|
1009
1014
|
value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
|
|
@@ -1011,31 +1016,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
1011
1016
|
)
|
|
1012
1017
|
] })
|
|
1013
1018
|
] }) }),
|
|
1014
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1015
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1016
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1019
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
|
|
1020
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
|
|
1021
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
|
|
1017
1022
|
// The package's <Table> wraps itself in an `overflow-x-clip`
|
|
1018
1023
|
// container — hence the child override, so wide rows scroll.
|
|
1019
|
-
/* @__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,
|
|
1020
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1021
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1022
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1023
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1024
|
+
/* @__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, _chunk2H342HNNjs.Table, { children: [
|
|
1025
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { children: [
|
|
1026
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
|
|
1027
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
|
|
1028
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
|
|
1024
1029
|
] }) }),
|
|
1025
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableBody, { children: pageViews.map((pageView, index) => {
|
|
1026
1031
|
const previous = index > 0 ? pageViews[index - 1] : void 0;
|
|
1027
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1028
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1029
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1030
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1032
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
|
|
1033
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
|
|
1034
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
|
|
1035
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: pageView.path })
|
|
1031
1036
|
] }, pageView.id);
|
|
1032
1037
|
}) })
|
|
1033
1038
|
] }) })
|
|
1034
1039
|
) })
|
|
1035
1040
|
] }),
|
|
1036
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1037
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1038
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1041
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
|
|
1042
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
|
|
1043
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1039
1044
|
AnalyticsSessionsTable,
|
|
1040
1045
|
{
|
|
1041
1046
|
rows: otherSessions,
|
|
@@ -1047,7 +1052,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
1047
1052
|
] })
|
|
1048
1053
|
] }) });
|
|
1049
1054
|
}, "renderBody");
|
|
1050
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1055
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
|
|
1051
1056
|
}
|
|
1052
1057
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
|
|
1053
1058
|
function unit(locale, name, value) {
|
|
@@ -1155,5 +1160,5 @@ var ANALYTICS_ADMIN_I18N_KEYS = [
|
|
|
1155
1160
|
|
|
1156
1161
|
|
|
1157
1162
|
|
|
1158
|
-
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 =
|
|
1163
|
+
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 = _chunkMOGEGWXWjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkMOGEGWXWjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkMOGEGWXWjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkMOGEGWXWjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkMOGEGWXWjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkMOGEGWXWjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkMOGEGWXWjs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
|
|
1159
1164
|
//# sourceMappingURL=index.js.map
|