@carlonicora/nextjs-jsonapi 5.2.0 → 5.4.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-EGY4ZAAM.js → BlockNoteEditor-4YCAIEPT.js} +23 -22
- package/dist/BlockNoteEditor-4YCAIEPT.js.map +1 -0
- package/dist/{BlockNoteEditor-2QJVK2HH.mjs → BlockNoteEditor-YQL2SGFR.mjs} +8 -7
- package/dist/BlockNoteEditor-YQL2SGFR.mjs.map +1 -0
- package/dist/{BlockNoteViewer-6BQXJ4TB.mjs → BlockNoteViewer-AEJKJ27Q.mjs} +2 -2
- package/dist/{BlockNoteViewer-I2MMFH3S.js → BlockNoteViewer-YL3J7J2Y.js} +3 -3
- package/dist/{BlockNoteViewer-I2MMFH3S.js.map → BlockNoteViewer-YL3J7J2Y.js.map} +1 -1
- package/dist/BlogCategoryFields-DO48vOTE.d.mts +14 -0
- package/dist/BlogCategoryFields-DO48vOTE.d.ts +14 -0
- package/dist/BlogPostInterface-BB_4wcDR.d.mts +124 -0
- package/dist/BlogPostInterface-bWAT1rfR.d.ts +124 -0
- package/dist/billing/index.js +441 -441
- package/dist/billing/index.mjs +3 -3
- package/dist/blog-public.types-BbrzsC1c.d.mts +30 -0
- package/dist/blog-public.types-BbrzsC1c.d.ts +30 -0
- package/dist/{chunk-3VEQ5JZJ.js → chunk-3NLAXVIN.js} +860 -849
- package/dist/{chunk-3VEQ5JZJ.js.map → chunk-3NLAXVIN.js.map} +1 -1
- package/dist/{chunk-YMUPTXOT.mjs → chunk-3YW35YHQ.mjs} +1 -101
- package/dist/chunk-3YW35YHQ.mjs.map +1 -0
- package/dist/{chunk-EXICQC4A.js → chunk-5PPG6PL7.js} +3 -3
- package/dist/{chunk-EXICQC4A.js.map → chunk-5PPG6PL7.js.map} +1 -1
- package/dist/{chunk-NPKFMRH5.mjs → chunk-6DC2WVVB.mjs} +2 -2
- package/dist/{chunk-2Z3ZCYXX.mjs → chunk-EUKTBOI2.mjs} +19 -8
- package/dist/chunk-EUKTBOI2.mjs.map +1 -0
- package/dist/{chunk-THKYH65N.js → chunk-KSYQEKJX.js} +11 -111
- package/dist/chunk-KSYQEKJX.js.map +1 -0
- package/dist/{chunk-S5MQDWWC.js → chunk-NFBOSPNJ.js} +1451 -176
- package/dist/chunk-NFBOSPNJ.js.map +1 -0
- package/dist/{chunk-JEZQTZQ4.mjs → chunk-QMYQRPQC.mjs} +2 -2
- package/dist/{chunk-HNOWSFM5.mjs → chunk-WC63PJSC.mjs} +1278 -3
- package/dist/chunk-WC63PJSC.mjs.map +1 -0
- package/dist/chunk-XCHSX3VC.mjs +107 -0
- package/dist/chunk-XCHSX3VC.mjs.map +1 -0
- package/dist/{chunk-75MLT74B.js → chunk-YNCQSWQW.js} +8 -8
- package/dist/{chunk-75MLT74B.js.map → chunk-YNCQSWQW.js.map} +1 -1
- package/dist/chunk-YW4ZCEWB.js +107 -0
- package/dist/chunk-YW4ZCEWB.js.map +1 -0
- package/dist/client/index.d.mts +6 -39
- package/dist/client/index.d.ts +6 -39
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/components/index.d.mts +15 -4
- package/dist/components/index.d.ts +15 -4
- package/dist/components/index.js +4 -4
- package/dist/components/index.mjs +3 -3
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.d.mts +400 -3
- package/dist/core/index.d.ts +400 -3
- package/dist/core/index.js +64 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +63 -1
- package/dist/email-automation-enrollment.fields-BZvF14qx.d.mts +82 -0
- package/dist/email-automation-enrollment.fields-Cp3VMzFq.d.ts +82 -0
- package/dist/email-automations/index.css +30 -0
- package/dist/email-automations/index.css.map +1 -0
- package/dist/email-automations/index.d.mts +303 -0
- package/dist/email-automations/index.d.ts +303 -0
- package/dist/email-automations/index.js +1705 -0
- package/dist/email-automations/index.js.map +1 -0
- package/dist/email-automations/index.mjs +1705 -0
- package/dist/email-automations/index.mjs.map +1 -0
- package/dist/features/analytics/index.js +122 -122
- package/dist/features/analytics/index.mjs +4 -4
- package/dist/features/analytics/server.js +6 -5
- package/dist/features/analytics/server.js.map +1 -1
- package/dist/features/analytics/server.mjs +4 -3
- package/dist/features/analytics/server.mjs.map +1 -1
- package/dist/features/blog/index.css +30 -0
- package/dist/features/blog/index.css.map +1 -0
- package/dist/features/blog/index.d.mts +266 -0
- package/dist/features/blog/index.d.ts +266 -0
- package/dist/features/blog/index.js +1799 -0
- package/dist/features/blog/index.js.map +1 -0
- package/dist/features/blog/index.mjs +1799 -0
- package/dist/features/blog/index.mjs.map +1 -0
- package/dist/features/blog/server.d.mts +33 -0
- package/dist/features/blog/server.d.ts +33 -0
- package/dist/features/blog/server.js +139 -0
- package/dist/features/blog/server.js.map +1 -0
- package/dist/features/blog/server.mjs +139 -0
- package/dist/features/blog/server.mjs.map +1 -0
- package/dist/features/help/index.js +37 -37
- package/dist/features/help/index.mjs +3 -3
- package/dist/features/tokenusage/index.js +125 -125
- package/dist/features/tokenusage/index.mjs +4 -4
- package/dist/index.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +65 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +64 -2
- package/dist/{s3.service-CY-jgOAM.d.ts → s3.service-Bz_K-tjz.d.ts} +11 -0
- package/dist/{s3.service-Sri0QP7Z.d.mts → s3.service-D5zNCEW3.d.mts} +11 -0
- package/dist/server/index.d.mts +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +8 -6
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +12 -10
- package/dist/types-70acd-8C.d.mts +39 -0
- package/dist/types-l8SFleXi.d.ts +39 -0
- package/messages/en.json +210 -0
- package/messages/it.json +210 -0
- package/package.json +21 -1
- package/src/components/editors/BlockNoteEditor.tsx +13 -3
- package/src/components/forms/FormBlockNote.tsx +4 -0
- package/src/components/forms/FormFieldWrapper.tsx +1 -1
- package/src/components/forms/FormTextarea.tsx +2 -1
- package/src/components/navigations/ContentTitle.tsx +14 -3
- package/src/core/index.ts +12 -0
- package/src/core/registry/ModuleRegistry.ts +11 -0
- package/src/email-automations/index.ts +5 -0
- package/src/features/blog/BlogModules.ts +49 -0
- package/src/features/blog/components/admin/BlogAdminContainer.tsx +32 -0
- package/src/features/blog/components/admin/BlogCategoriesList.tsx +56 -0
- package/src/features/blog/components/admin/BlogCategoryEditor.tsx +230 -0
- package/src/features/blog/components/admin/BlogCoverImageField.tsx +123 -0
- package/src/features/blog/components/admin/BlogLayoutSetting.tsx +86 -0
- package/src/features/blog/components/admin/BlogPostComparison.tsx +54 -0
- package/src/features/blog/components/admin/BlogPostContainer.tsx +102 -0
- package/src/features/blog/components/admin/BlogPostDeleter.tsx +35 -0
- package/src/features/blog/components/admin/BlogPostEditor.tsx +207 -0
- package/src/features/blog/components/admin/BlogPostPublishButton.tsx +50 -0
- package/src/features/blog/components/admin/BlogPostTranslationEditor.tsx +110 -0
- package/src/features/blog/components/admin/BlogPostTranslationPanel.tsx +136 -0
- package/src/features/blog/components/admin/BlogPostsList.tsx +58 -0
- package/src/features/blog/components/admin/BlogTranslationStatus.tsx +104 -0
- package/src/features/blog/components/admin/__tests__/BlogPostTranslationPanel.spec.tsx +100 -0
- package/src/features/blog/components/admin/__tests__/BlogPostsList.spec.tsx +30 -0
- package/src/features/blog/components/admin/index.ts +14 -0
- package/src/features/blog/components/public/BlogCategoryChips.tsx +59 -0
- package/src/features/blog/components/public/BlogList.tsx +21 -0
- package/src/features/blog/components/public/BlogListColumn.tsx +53 -0
- package/src/features/blog/components/public/BlogListFeatured.tsx +57 -0
- package/src/features/blog/components/public/BlogListParts.tsx +74 -0
- package/src/features/blog/components/public/BlogListRail.tsx +62 -0
- package/src/features/blog/components/public/BlogPostCard.tsx +132 -0
- package/src/features/blog/components/public/BlogPostMeta.tsx +49 -0
- package/src/features/blog/components/public/BlogPostView.tsx +74 -0
- package/src/features/blog/components/public/BlogSearchBox.tsx +52 -0
- package/src/features/blog/components/public/__tests__/BlogList.spec.tsx +173 -0
- package/src/features/blog/components/public/__tests__/BlogPostView.spec.tsx +128 -0
- package/src/features/blog/components/public/blogPublicHelpers.ts +30 -0
- package/src/features/blog/components/public/index.ts +3 -0
- package/src/features/blog/contexts/BlogPostContext.tsx +66 -0
- package/src/features/blog/contexts/index.ts +1 -0
- package/src/features/blog/data/BlogCategory.ts +93 -0
- package/src/features/blog/data/BlogCategoryFields.ts +4 -0
- package/src/features/blog/data/BlogCategoryInterface.ts +24 -0
- package/src/features/blog/data/BlogCategoryService.ts +54 -0
- package/src/features/blog/data/BlogCategoryTranslation.ts +90 -0
- package/src/features/blog/data/BlogCategoryTranslationInterface.ts +22 -0
- package/src/features/blog/data/BlogCategoryTranslationService.ts +30 -0
- package/src/features/blog/data/BlogPost.spec.ts +123 -0
- package/src/features/blog/data/BlogPost.ts +159 -0
- package/src/features/blog/data/BlogPostFields.ts +7 -0
- package/src/features/blog/data/BlogPostInterface.ts +39 -0
- package/src/features/blog/data/BlogPostService.ts +82 -0
- package/src/features/blog/data/BlogPostTranslation.spec.ts +73 -0
- package/src/features/blog/data/BlogPostTranslation.ts +110 -0
- package/src/features/blog/data/BlogPostTranslationInterface.ts +27 -0
- package/src/features/blog/data/BlogPostTranslationService.ts +30 -0
- package/src/features/blog/data/BlogSettings.ts +37 -0
- package/src/features/blog/data/BlogSettingsInterface.ts +11 -0
- package/src/features/blog/data/BlogSettingsService.ts +24 -0
- package/src/features/blog/data/index.ts +17 -0
- package/src/features/blog/hooks/index.ts +3 -0
- package/src/features/blog/hooks/useBlogCategoryNames.ts +34 -0
- package/src/features/blog/hooks/useBlogCategoryTableStructure.tsx +84 -0
- package/src/features/blog/hooks/useBlogPostTableStructure.tsx +126 -0
- package/src/features/blog/index.ts +15 -0
- package/src/features/blog/server/fetchers.ts +120 -0
- package/src/features/blog/server/toPublic.spec.ts +91 -0
- package/src/features/blog/server/toPublic.ts +36 -0
- package/src/features/blog/server-entry.ts +17 -0
- package/src/features/blog/types/blog-public.types.ts +34 -0
- package/src/features/blog/types/blog.constants.ts +40 -0
- package/src/features/email-automation/EmailAutomationEnrollmentModule.ts +11 -0
- package/src/features/email-automation/EmailAutomationModule.ts +30 -0
- package/src/features/email-automation/EmailAutomationStepModule.ts +11 -0
- package/src/features/email-automation/EmailAutomationTriggerModule.ts +11 -0
- package/src/features/email-automation/components/__tests__/EmailAutomationEditor.spec.tsx +104 -0
- package/src/features/email-automation/components/canvas/EmailAutomationActiveSwitch.tsx +49 -0
- package/src/features/email-automation/components/canvas/EmailAutomationCanvas.tsx +474 -0
- package/src/features/email-automation/components/canvas/EmailAutomationCanvasInspector.tsx +89 -0
- package/src/features/email-automation/components/canvas/EmailAutomationCanvasTab.tsx +32 -0
- package/src/features/email-automation/components/canvas/__tests__/buildCanvasGraph.spec.ts +67 -0
- package/src/features/email-automation/components/canvas/buildCanvasGraph.ts +141 -0
- package/src/features/email-automation/components/canvas/edges/DelayEdge.tsx +68 -0
- package/src/features/email-automation/components/canvas/nodes/EmailStepNode.tsx +43 -0
- package/src/features/email-automation/components/canvas/nodes/TriggerNode.tsx +23 -0
- package/src/features/email-automation/components/canvas/shared/CanvasToolbar.tsx +53 -0
- package/src/features/email-automation/components/canvas/shared/EmptyCanvas.tsx +11 -0
- package/src/features/email-automation/components/canvas/shared/__tests__/autoLayout.spec.ts +42 -0
- package/src/features/email-automation/components/canvas/shared/__tests__/longPress.spec.ts +51 -0
- package/src/features/email-automation/components/canvas/shared/autoLayout.ts +55 -0
- package/src/features/email-automation/components/canvas/shared/index.ts +4 -0
- package/src/features/email-automation/components/canvas/shared/longPress.ts +57 -0
- package/src/features/email-automation/components/containers/EmailAutomationContainer.tsx +80 -0
- package/src/features/email-automation/components/containers/EmailAutomationsListContainer.tsx +27 -0
- package/src/features/email-automation/components/forms/EmailAutomationEditor.tsx +153 -0
- package/src/features/email-automation/components/forms/EmailStepEditor.tsx +151 -0
- package/src/features/email-automation/components/index.ts +15 -0
- package/src/features/email-automation/components/lists/EmailAutomationRecipientsList.tsx +90 -0
- package/src/features/email-automation/components/lists/EmailAutomationsList.tsx +76 -0
- package/src/features/email-automation/components/unsubscribe/EmailUnsubscribe.tsx +99 -0
- package/src/features/email-automation/components/unsubscribe/__tests__/EmailUnsubscribe.spec.tsx +55 -0
- package/src/features/email-automation/contexts/EmailAutomationContext.tsx +175 -0
- package/src/features/email-automation/data/EmailAutomation.ts +87 -0
- package/src/features/email-automation/data/EmailAutomationEnrollment.ts +105 -0
- package/src/features/email-automation/data/EmailAutomationEnrollmentInterface.ts +18 -0
- package/src/features/email-automation/data/EmailAutomationEnrollmentService.ts +31 -0
- package/src/features/email-automation/data/EmailAutomationInterface.ts +22 -0
- package/src/features/email-automation/data/EmailAutomationService.ts +106 -0
- package/src/features/email-automation/data/EmailAutomationStep.ts +104 -0
- package/src/features/email-automation/data/EmailAutomationStepInterface.ts +23 -0
- package/src/features/email-automation/data/EmailAutomationStepService.ts +80 -0
- package/src/features/email-automation/data/EmailAutomationTrigger.ts +28 -0
- package/src/features/email-automation/data/EmailAutomationTriggerInterface.ts +6 -0
- package/src/features/email-automation/data/__tests__/email-automation-models.spec.ts +103 -0
- package/src/features/email-automation/data/email-automation-enrollment.fields.ts +8 -0
- package/src/features/email-automation/data/email-automation.fields.ts +9 -0
- package/src/features/email-automation/data/index.ts +13 -0
- package/src/features/email-automation/hooks/index.ts +2 -0
- package/src/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.tsx +126 -0
- package/src/features/email-automation/hooks/useEmailAutomationTableStructure.tsx +119 -0
- package/src/features/email-automation/index.ts +5 -0
- package/src/features/s3/data/s3.service.ts +17 -0
- package/dist/BlockNoteEditor-2QJVK2HH.mjs.map +0 -1
- package/dist/BlockNoteEditor-EGY4ZAAM.js.map +0 -1
- package/dist/chunk-2Z3ZCYXX.mjs.map +0 -1
- package/dist/chunk-HNOWSFM5.mjs.map +0 -1
- package/dist/chunk-S5MQDWWC.js.map +0 -1
- package/dist/chunk-THKYH65N.js.map +0 -1
- package/dist/chunk-YMUPTXOT.mjs.map +0 -1
- /package/dist/{BlockNoteViewer-6BQXJ4TB.mjs.map → BlockNoteViewer-AEJKJ27Q.mjs.map} +0 -0
- /package/dist/{chunk-NPKFMRH5.mjs.map → chunk-6DC2WVVB.mjs.map} +0 -0
- /package/dist/{chunk-JEZQTZQ4.mjs.map → chunk-QMYQRPQC.mjs.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunk5PPG6PL7js = require('../../chunk-5PPG6PL7.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -33,8 +33,8 @@ var _chunkEXICQC4Ajs = require('../../chunk-EXICQC4A.js');
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
37
|
-
require('../../chunk-
|
|
36
|
+
var _chunk3NLAXVINjs = require('../../chunk-3NLAXVIN.js');
|
|
37
|
+
require('../../chunk-YNCQSWQW.js');
|
|
38
38
|
require('../../chunk-G4JR3SFV.js');
|
|
39
39
|
|
|
40
40
|
|
|
@@ -48,7 +48,7 @@ require('../../chunk-G4JR3SFV.js');
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
var
|
|
51
|
+
var _chunkNFBOSPNJjs = require('../../chunk-NFBOSPNJ.js');
|
|
52
52
|
require('../../chunk-LXKSUWAV.js');
|
|
53
53
|
require('../../chunk-JTPRJNT2.js');
|
|
54
54
|
require('../../chunk-GHE4VT2R.js');
|
|
@@ -63,7 +63,7 @@ var _react = require('react');
|
|
|
63
63
|
var _uuid = require('uuid');
|
|
64
64
|
|
|
65
65
|
// src/features/analytics/data/AnalyticsService.ts
|
|
66
|
-
var AnalyticsService = class extends
|
|
66
|
+
var AnalyticsService = class extends _chunkNFBOSPNJjs.AbstractService {
|
|
67
67
|
static {
|
|
68
68
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsService");
|
|
69
69
|
}
|
|
@@ -75,9 +75,9 @@ var AnalyticsService = class extends _chunkS5MQDWWCjs.AbstractService {
|
|
|
75
75
|
static async track(input) {
|
|
76
76
|
try {
|
|
77
77
|
await this.callApi({
|
|
78
|
-
type:
|
|
78
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsEvent,
|
|
79
79
|
method: "POST" /* POST */,
|
|
80
|
-
endpoint: new (0,
|
|
80
|
+
endpoint: new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsEvent }).generate(),
|
|
81
81
|
input,
|
|
82
82
|
suppressGlobalError: true
|
|
83
83
|
});
|
|
@@ -224,7 +224,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
|
|
|
224
224
|
};
|
|
225
225
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
226
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,
|
|
227
|
-
|
|
227
|
+
_chunk3NLAXVINjs.DateRangeSelector,
|
|
228
228
|
{
|
|
229
229
|
onDateChange: (range) => {
|
|
230
230
|
if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
|
|
@@ -268,13 +268,13 @@ function Segmented({
|
|
|
268
268
|
children: options.map((option) => {
|
|
269
269
|
const selected = option.value === value;
|
|
270
270
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
271
|
-
|
|
271
|
+
_chunk3NLAXVINjs.Button,
|
|
272
272
|
{
|
|
273
273
|
type: "button",
|
|
274
274
|
size: "sm",
|
|
275
275
|
variant: selected ? "default" : "ghost",
|
|
276
276
|
"aria-pressed": selected,
|
|
277
|
-
className:
|
|
277
|
+
className: _chunkNFBOSPNJjs.cn.call(void 0, !selected && "text-muted-foreground"),
|
|
278
278
|
onClick: () => onSelect(option.value),
|
|
279
279
|
children: option.label
|
|
280
280
|
},
|
|
@@ -294,45 +294,45 @@ function withFilters(endpoint, filters) {
|
|
|
294
294
|
return endpoint;
|
|
295
295
|
}
|
|
296
296
|
_chunk7QVYU63Ejs.__name.call(void 0, withFilters, "withFilters");
|
|
297
|
-
var AnalyticsAdminService = class extends
|
|
297
|
+
var AnalyticsAdminService = class extends _chunkNFBOSPNJjs.AbstractService {
|
|
298
298
|
static {
|
|
299
299
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsAdminService");
|
|
300
300
|
}
|
|
301
301
|
/** Headline tiles: one row per window (current, previous). */
|
|
302
302
|
static async getSummary(filters) {
|
|
303
|
-
const endpoint = withFilters(new (0,
|
|
303
|
+
const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSummary }), filters);
|
|
304
304
|
return this.callApi({
|
|
305
|
-
type:
|
|
305
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsSummary,
|
|
306
306
|
method: "GET" /* GET */,
|
|
307
307
|
endpoint: endpoint.generate()
|
|
308
308
|
});
|
|
309
309
|
}
|
|
310
310
|
static async getTimeline(params) {
|
|
311
|
-
const endpoint = withFilters(new (0,
|
|
311
|
+
const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsTimeline }), params);
|
|
312
312
|
endpoint.addAdditionalParam("granularity", params.granularity);
|
|
313
313
|
return this.callApi({
|
|
314
|
-
type:
|
|
314
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsTimeline,
|
|
315
315
|
method: "GET" /* GET */,
|
|
316
316
|
endpoint: endpoint.generate()
|
|
317
317
|
});
|
|
318
318
|
}
|
|
319
319
|
static async getBreakdown(params) {
|
|
320
|
-
const endpoint = withFilters(new (0,
|
|
320
|
+
const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsBreakdown }), params);
|
|
321
321
|
endpoint.addAdditionalParam("dimension", params.dimension);
|
|
322
322
|
if (params.limit !== void 0) endpoint.addAdditionalParam("limit", String(params.limit));
|
|
323
323
|
return this.callApi({
|
|
324
|
-
type:
|
|
324
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsBreakdown,
|
|
325
325
|
method: "GET" /* GET */,
|
|
326
326
|
endpoint: endpoint.generate()
|
|
327
327
|
});
|
|
328
328
|
}
|
|
329
329
|
/** Newest sessions first, cursor-paginated through `next`. */
|
|
330
330
|
static async getSessions(params) {
|
|
331
|
-
const endpoint = withFilters(new (0,
|
|
331
|
+
const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSession }), params);
|
|
332
332
|
if (params.visitorId) endpoint.addAdditionalParam("visitorId", params.visitorId);
|
|
333
333
|
if (params.userId) endpoint.addAdditionalParam("userId", params.userId);
|
|
334
334
|
return this.callApi({
|
|
335
|
-
type:
|
|
335
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
|
|
336
336
|
method: "GET" /* GET */,
|
|
337
337
|
endpoint: endpoint.generate(),
|
|
338
338
|
next: params.next
|
|
@@ -340,20 +340,20 @@ var AnalyticsAdminService = class extends _chunkS5MQDWWCjs.AbstractService {
|
|
|
340
340
|
}
|
|
341
341
|
static async getSession(params) {
|
|
342
342
|
return this.callApi({
|
|
343
|
-
type:
|
|
343
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
|
|
344
344
|
method: "GET" /* GET */,
|
|
345
|
-
endpoint: new (0,
|
|
345
|
+
endpoint: new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSession, id: params.id }).generate()
|
|
346
346
|
});
|
|
347
347
|
}
|
|
348
348
|
/** The journey: every page view of one session, oldest first. */
|
|
349
349
|
static async getSessionPageViews(params) {
|
|
350
350
|
return this.callApi({
|
|
351
|
-
type:
|
|
351
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsPageView,
|
|
352
352
|
method: "GET" /* GET */,
|
|
353
|
-
endpoint: new (0,
|
|
354
|
-
endpoint:
|
|
353
|
+
endpoint: new (0, _chunkNFBOSPNJjs.EndpointCreator)({
|
|
354
|
+
endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
|
|
355
355
|
id: params.sessionId,
|
|
356
|
-
childEndpoint:
|
|
356
|
+
childEndpoint: _chunkNFBOSPNJjs.Modules.AnalyticsPageView
|
|
357
357
|
}).generate()
|
|
358
358
|
});
|
|
359
359
|
}
|
|
@@ -388,7 +388,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
388
388
|
sessionPageUrl = ANALYTICS_SESSION_PAGE_URL
|
|
389
389
|
}) => {
|
|
390
390
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
391
|
-
const generateUrl =
|
|
391
|
+
const generateUrl = _chunk3NLAXVINjs.usePageUrlGenerator.call(void 0, );
|
|
392
392
|
const [filters, setFilterState] = _react.useState.call(void 0, () => {
|
|
393
393
|
const range = defaultRange();
|
|
394
394
|
return {
|
|
@@ -452,7 +452,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
452
452
|
const sessionsNext = {};
|
|
453
453
|
try {
|
|
454
454
|
const nextSessions = await AnalyticsAdminService.next({
|
|
455
|
-
type:
|
|
455
|
+
type: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
|
|
456
456
|
endpoint: sessionsNextPage,
|
|
457
457
|
next: sessionsNext
|
|
458
458
|
});
|
|
@@ -512,7 +512,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
|
|
|
512
512
|
error
|
|
513
513
|
]
|
|
514
514
|
);
|
|
515
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
515
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
|
|
516
516
|
}, "AnalyticsAdminProvider");
|
|
517
517
|
var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
|
|
518
518
|
const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
|
|
@@ -532,7 +532,7 @@ var _lucidereact = require('lucide-react');
|
|
|
532
532
|
var ZERO = { visitors: 0, sessions: 0, pageViews: 0, pagesPerSession: 0, consentShare: 0 };
|
|
533
533
|
function AnalyticsAdminTiles({ summary }) {
|
|
534
534
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
535
|
-
const { decimal } =
|
|
535
|
+
const { decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
|
|
536
536
|
const rowFor = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (window2) => _nullishCoalesce(summary.find((r) => r.section === "total" && r.window === window2), () => ( ZERO)), "rowFor");
|
|
537
537
|
const current = rowFor("current");
|
|
538
538
|
const previous = rowFor("previous");
|
|
@@ -545,7 +545,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
545
545
|
testId: "analytics-tile-visitors",
|
|
546
546
|
label: t("analytics.admin.tiles.visitors"),
|
|
547
547
|
value: decimal(current.visitors, 0),
|
|
548
|
-
delta:
|
|
548
|
+
delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.visitors, previous.visitors),
|
|
549
549
|
previousLabel,
|
|
550
550
|
decimal
|
|
551
551
|
}
|
|
@@ -556,7 +556,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
556
556
|
testId: "analytics-tile-sessions",
|
|
557
557
|
label: t("analytics.admin.tiles.sessions"),
|
|
558
558
|
value: decimal(current.sessions, 0),
|
|
559
|
-
delta:
|
|
559
|
+
delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.sessions, previous.sessions),
|
|
560
560
|
previousLabel,
|
|
561
561
|
decimal
|
|
562
562
|
}
|
|
@@ -567,7 +567,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
567
567
|
testId: "analytics-tile-page-views",
|
|
568
568
|
label: t("analytics.admin.tiles.page_views"),
|
|
569
569
|
value: decimal(current.pageViews, 0),
|
|
570
|
-
delta:
|
|
570
|
+
delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
|
|
571
571
|
previousLabel,
|
|
572
572
|
decimal
|
|
573
573
|
}
|
|
@@ -580,7 +580,7 @@ function AnalyticsAdminTiles({ summary }) {
|
|
|
580
580
|
testId: "analytics-tile-pages-per-session",
|
|
581
581
|
label: t("analytics.admin.tiles.pages_per_session"),
|
|
582
582
|
value: decimal(current.pagesPerSession, 1),
|
|
583
|
-
delta:
|
|
583
|
+
delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
|
|
584
584
|
decimal
|
|
585
585
|
}
|
|
586
586
|
),
|
|
@@ -605,8 +605,8 @@ function LeadTile({
|
|
|
605
605
|
previousLabel,
|
|
606
606
|
decimal
|
|
607
607
|
}) {
|
|
608
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
609
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
608
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.CardContent, { className: "grid gap-1", children: [
|
|
609
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.MicroLabel, { children: label }),
|
|
610
610
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
|
|
611
611
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
|
|
612
612
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
|
|
@@ -622,8 +622,8 @@ function SupportingTile({
|
|
|
622
622
|
delta,
|
|
623
623
|
decimal
|
|
624
624
|
}) {
|
|
625
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
626
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
625
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.CardContent, { className: "grid gap-1", children: [
|
|
626
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.MicroLabel, { children: label }),
|
|
627
627
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
628
628
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
|
|
629
629
|
delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
|
|
@@ -646,7 +646,7 @@ function Delta({
|
|
|
646
646
|
"span",
|
|
647
647
|
{
|
|
648
648
|
"data-testid": testId,
|
|
649
|
-
className:
|
|
649
|
+
className: _chunkNFBOSPNJjs.cn.call(void 0,
|
|
650
650
|
"inline-flex items-center gap-0.5 text-xs tabular-nums",
|
|
651
651
|
increased ? "text-success" : "text-destructive"
|
|
652
652
|
),
|
|
@@ -674,15 +674,15 @@ function AnalyticsBreakdownTable({ breakdowns }) {
|
|
|
674
674
|
route: t("analytics.admin.dimensions.route"),
|
|
675
675
|
landing: t("analytics.admin.dimensions.landing")
|
|
676
676
|
};
|
|
677
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
678
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
679
|
-
ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
677
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
|
|
678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.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, _chunk3NLAXVINjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
|
|
679
|
+
ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
|
|
680
680
|
] });
|
|
681
681
|
}
|
|
682
682
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
|
|
683
683
|
function BreakdownRows({ rows }) {
|
|
684
684
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
685
|
-
const { decimal } =
|
|
685
|
+
const { decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
|
|
686
686
|
const sortedRows = _react.useMemo.call(void 0, () => [...rows].sort((a, b) => b.visitors - a.visitors), [rows]);
|
|
687
687
|
if (sortedRows.length === 0) {
|
|
688
688
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
|
|
@@ -691,18 +691,18 @@ function BreakdownRows({ rows }) {
|
|
|
691
691
|
// The package's <Table> wraps itself in an `overflow-x-clip` container, which
|
|
692
692
|
// would swallow the overflow before this scroller ever saw it — hence the
|
|
693
693
|
// child override. Wide tables must scroll, never widen the page.
|
|
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,
|
|
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,
|
|
699
|
-
/* @__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, _chunk3NLAXVINjs.Table, { children: [
|
|
695
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { children: [
|
|
696
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
|
|
697
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
|
|
698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
|
|
699
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
|
|
700
700
|
] }) }),
|
|
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,
|
|
705
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
701
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
|
|
702
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
|
|
703
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
|
|
704
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
|
|
705
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
|
|
706
706
|
] }, row.id)) })
|
|
707
707
|
] }) })
|
|
708
708
|
);
|
|
@@ -717,48 +717,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
|
|
|
717
717
|
function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
|
|
718
718
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
719
719
|
const locale = _nextintl.useLocale.call(void 0, );
|
|
720
|
-
const generateUrl =
|
|
721
|
-
const { decimal } =
|
|
720
|
+
const generateUrl = _chunk3NLAXVINjs.usePageUrlGenerator.call(void 0, );
|
|
721
|
+
const { decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
|
|
722
722
|
const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
|
|
723
723
|
if (rows.length === 0) {
|
|
724
724
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
|
|
725
725
|
}
|
|
726
726
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
|
|
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,
|
|
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,
|
|
734
|
-
/* @__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, _chunk3NLAXVINjs.Table, { children: [
|
|
728
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { children: [
|
|
729
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
|
|
730
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
|
|
731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
|
|
732
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
|
|
733
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
|
|
734
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
|
|
735
735
|
] }) }),
|
|
736
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
736
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableBody, { children: rows.map((row) => {
|
|
737
737
|
const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
|
|
738
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
739
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
740
|
-
|
|
738
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
|
|
739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
740
|
+
_chunk3NLAXVINjs.Link,
|
|
741
741
|
{
|
|
742
742
|
href: generateUrl({ page: sessionPageUrl, id: row.id }),
|
|
743
743
|
"data-testid": `analytics-session-link-${row.id}`,
|
|
744
744
|
children: dateTime.format(row.startedAt)
|
|
745
745
|
}
|
|
746
746
|
) }),
|
|
747
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
747
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
|
|
748
748
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
|
|
749
749
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
|
|
750
750
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
|
|
751
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
|
|
752
752
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
|
|
753
753
|
] }) }),
|
|
754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
755
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
756
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
757
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: source }),
|
|
755
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: row.landingRoute }),
|
|
756
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
|
|
757
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
|
|
758
758
|
] }, row.id);
|
|
759
759
|
}) })
|
|
760
760
|
] }) }),
|
|
761
|
-
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, _chunk3NLAXVINjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
|
|
762
762
|
] });
|
|
763
763
|
}
|
|
764
764
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
|
|
@@ -790,7 +790,7 @@ var inferGranularity = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (buc
|
|
|
790
790
|
}, "inferGranularity");
|
|
791
791
|
function AnalyticsTimelineChart({ rows, className }) {
|
|
792
792
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
793
|
-
const { compact, bucketDate, decimal } =
|
|
793
|
+
const { compact, bucketDate, decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
|
|
794
794
|
const { resolvedTheme } = _nextthemes.useTheme.call(void 0, );
|
|
795
795
|
const mode = resolvedTheme === "dark" ? "dark" : "light";
|
|
796
796
|
const chartData = _react.useMemo.call(void 0, () => {
|
|
@@ -825,7 +825,7 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
825
825
|
// rtl-ok: deliberate LTR island (chart)
|
|
826
826
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
|
|
827
827
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
|
|
828
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
828
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.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: [
|
|
829
829
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
|
|
830
830
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
831
831
|
_recharts.XAxis,
|
|
@@ -849,10 +849,10 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
849
849
|
}
|
|
850
850
|
),
|
|
851
851
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
852
|
-
|
|
852
|
+
_chunk3NLAXVINjs.ChartTooltip,
|
|
853
853
|
{
|
|
854
854
|
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
855
|
-
|
|
855
|
+
_chunk3NLAXVINjs.ChartTooltipContent,
|
|
856
856
|
{
|
|
857
857
|
labelFormatter: (value) => bucketDate(String(value), granularity),
|
|
858
858
|
valueFormatter: (value) => decimal(Number(value), 0)
|
|
@@ -860,13 +860,13 @@ function AnalyticsTimelineChart({ rows, className }) {
|
|
|
860
860
|
)
|
|
861
861
|
}
|
|
862
862
|
),
|
|
863
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
863
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.ChartLegendContent, {}) }),
|
|
864
864
|
SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
865
865
|
_recharts.Bar,
|
|
866
866
|
{
|
|
867
867
|
dataKey: series,
|
|
868
868
|
maxBarSize: 28,
|
|
869
|
-
fill:
|
|
869
|
+
fill: _chunk5PPG6PL7js.seriesColor.call(void 0, index, mode),
|
|
870
870
|
stroke: "var(--background)",
|
|
871
871
|
strokeWidth: 2,
|
|
872
872
|
radius: [4, 4, 0, 0]
|
|
@@ -895,25 +895,25 @@ function AnalyticsAdminContainer() {
|
|
|
895
895
|
error
|
|
896
896
|
} = useAnalyticsAdmin();
|
|
897
897
|
if (error) {
|
|
898
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
898
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
|
|
899
899
|
}
|
|
900
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
901
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
900
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true });
|
|
901
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
|
|
902
902
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
903
903
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
|
|
904
904
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
|
|
905
905
|
] }),
|
|
906
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
907
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
908
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
906
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
|
|
907
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
|
|
908
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
|
|
909
909
|
] }),
|
|
910
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
911
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
912
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
910
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
|
|
911
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
|
|
912
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
|
|
913
913
|
] }),
|
|
914
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
915
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
916
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
914
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
|
|
915
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
|
|
916
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
917
917
|
AnalyticsSessionsTable,
|
|
918
918
|
{
|
|
919
919
|
rows: sessions,
|
|
@@ -936,7 +936,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
|
|
|
936
936
|
function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL2 }) {
|
|
937
937
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
938
938
|
const locale = _nextintl.useLocale.call(void 0, );
|
|
939
|
-
const generateUrl =
|
|
939
|
+
const generateUrl = _chunk3NLAXVINjs.usePageUrlGenerator.call(void 0, );
|
|
940
940
|
const [session, setSession] = _react.useState.call(void 0, void 0);
|
|
941
941
|
const [pageViews, setPageViews] = _react.useState.call(void 0, []);
|
|
942
942
|
const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
|
|
@@ -992,26 +992,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
992
992
|
const title = { type: t("analytics.admin.panels.journey") };
|
|
993
993
|
const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
|
|
994
994
|
if (error) {
|
|
995
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
995
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
|
|
996
996
|
}
|
|
997
|
-
if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
997
|
+
if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true });
|
|
998
998
|
const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
|
|
999
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1000
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
999
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.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, _chunk3NLAXVINjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.CardContent, { className: "flex flex-col gap-3", children: [
|
|
1001
1001
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
1002
1002
|
session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
|
|
1003
1003
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
|
|
1004
1004
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
|
|
1005
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1006
|
-
session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1005
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
|
|
1006
|
+
session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
|
|
1007
1007
|
] }),
|
|
1008
1008
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
|
|
1009
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1010
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1011
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1012
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1009
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
|
|
1010
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
|
|
1011
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
|
|
1012
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
|
|
1013
1013
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1014
|
-
|
|
1014
|
+
_chunk3NLAXVINjs.DetailField,
|
|
1015
1015
|
{
|
|
1016
1016
|
label: t("analytics.admin.columns.visitor"),
|
|
1017
1017
|
value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
|
|
@@ -1019,31 +1019,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
1019
1019
|
)
|
|
1020
1020
|
] })
|
|
1021
1021
|
] }) }),
|
|
1022
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1023
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1024
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1022
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
|
|
1023
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
|
|
1024
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
|
|
1025
1025
|
// The package's <Table> wraps itself in an `overflow-x-clip`
|
|
1026
1026
|
// container — hence the child override, so wide rows scroll.
|
|
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,
|
|
1028
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1029
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1030
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1031
|
-
/* @__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, _chunk3NLAXVINjs.Table, { children: [
|
|
1028
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { children: [
|
|
1029
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
|
|
1030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
|
|
1031
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
|
|
1032
1032
|
] }) }),
|
|
1033
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1033
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableBody, { children: pageViews.map((pageView, index) => {
|
|
1034
1034
|
const previous = index > 0 ? pageViews[index - 1] : void 0;
|
|
1035
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1036
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1037
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1038
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1035
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
|
|
1036
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
|
|
1037
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.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, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: pageView.path })
|
|
1039
1039
|
] }, pageView.id);
|
|
1040
1040
|
}) })
|
|
1041
1041
|
] }) })
|
|
1042
1042
|
) })
|
|
1043
1043
|
] }),
|
|
1044
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1045
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1046
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1044
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
|
|
1045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
|
|
1046
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1047
1047
|
AnalyticsSessionsTable,
|
|
1048
1048
|
{
|
|
1049
1049
|
rows: otherSessions,
|
|
@@ -1055,7 +1055,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
|
|
|
1055
1055
|
] })
|
|
1056
1056
|
] }) });
|
|
1057
1057
|
}, "renderBody");
|
|
1058
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1058
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
|
|
1059
1059
|
}
|
|
1060
1060
|
_chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
|
|
1061
1061
|
function unit(locale, name, value) {
|
|
@@ -1163,5 +1163,5 @@ var ANALYTICS_ADMIN_I18N_KEYS = [
|
|
|
1163
1163
|
|
|
1164
1164
|
|
|
1165
1165
|
|
|
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 =
|
|
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 = _chunkNFBOSPNJjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkNFBOSPNJjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkNFBOSPNJjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkNFBOSPNJjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkNFBOSPNJjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkNFBOSPNJjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkNFBOSPNJjs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
|
|
1167
1167
|
//# sourceMappingURL=index.js.map
|