@carlonicora/nextjs-jsonapi 4.1.2 → 4.2.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/{AssistantMessageInterface-CubxuBIJ.d.ts → AssistantMessageInterface-DHJJO_Z_.d.ts} +1 -1
- package/dist/{AssistantMessageInterface-sHjI2zPN.d.mts → AssistantMessageInterface-S7oyERTT.d.mts} +1 -1
- package/dist/{BlockNoteEditor-VOYKZOP5.mjs → BlockNoteEditor-HXAHDJA7.mjs} +34 -27
- package/dist/BlockNoteEditor-HXAHDJA7.mjs.map +1 -0
- package/dist/{BlockNoteEditor-BENYTTCZ.js → BlockNoteEditor-LLCZDFLZ.js} +50 -43
- package/dist/BlockNoteEditor-LLCZDFLZ.js.map +1 -0
- package/dist/{BlockNoteViewer-USLR4Y7C.js → BlockNoteViewer-77CCTC2U.js} +3 -3
- package/dist/{BlockNoteViewer-USLR4Y7C.js.map → BlockNoteViewer-77CCTC2U.js.map} +1 -1
- package/dist/{BlockNoteViewer-Y2ZM4ESA.mjs → BlockNoteViewer-MDPO6BXN.mjs} +2 -2
- package/dist/{auth.interface-Df4vXbNz.d.mts → auth.interface-CeFCz9NU.d.mts} +1 -1
- package/dist/{auth.interface-BzI4onI_.d.ts → auth.interface-D1R7VVky.d.ts} +1 -1
- package/dist/billing/index.d.mts +40 -6
- package/dist/billing/index.d.ts +40 -6
- package/dist/billing/index.js +806 -774
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/index.mjs +494 -462
- package/dist/billing/index.mjs.map +1 -1
- package/dist/{chunk-6ISF5KNQ.mjs → chunk-2VXDZRYY.mjs} +1103 -816
- package/dist/chunk-2VXDZRYY.mjs.map +1 -0
- package/dist/{chunk-4BZJ4LAB.js → chunk-4ORLPEK7.js} +136 -104
- package/dist/chunk-4ORLPEK7.js.map +1 -0
- package/dist/{chunk-ZZ6E33FO.mjs → chunk-6DRSSW5O.mjs} +36 -4
- package/dist/chunk-6DRSSW5O.mjs.map +1 -0
- package/dist/{chunk-KS6WZP2E.js → chunk-6SMJRAE3.js} +4 -4
- package/dist/{chunk-KS6WZP2E.js.map → chunk-6SMJRAE3.js.map} +1 -1
- package/dist/{chunk-WQ77CUUZ.js → chunk-GPXYQMOZ.js} +7 -7
- package/dist/{chunk-WQ77CUUZ.js.map → chunk-GPXYQMOZ.js.map} +1 -1
- package/dist/{chunk-46S3KPLU.mjs → chunk-ILFFC6BG.mjs} +2 -2
- package/dist/{chunk-HZVVRIJQ.mjs → chunk-IUS2RHCX.mjs} +2 -2
- package/dist/{chunk-F7RNBGHS.js → chunk-KJMMBUOA.js} +3 -3
- package/dist/{chunk-F7RNBGHS.js.map → chunk-KJMMBUOA.js.map} +1 -1
- package/dist/{chunk-ZO3QQ5CQ.mjs → chunk-MQDR6MEE.mjs} +2 -2
- package/dist/{chunk-ORU7KLCY.js → chunk-VDVIUDY5.js} +1445 -1158
- package/dist/chunk-VDVIUDY5.js.map +1 -0
- package/dist/client/index.d.mts +20 -6
- package/dist/client/index.d.ts +20 -6
- package/dist/client/index.js +6 -4
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +5 -3
- package/dist/components/index.d.mts +59 -21
- package/dist/components/index.d.ts +59 -21
- package/dist/components/index.js +4 -4
- package/dist/components/index.mjs +3 -3
- package/dist/{config-CEAq4Ozy.d.mts → config-BP2vyddw.d.mts} +5 -0
- package/dist/{config-DydDHCfb.d.ts → config-BhW2QrRD.d.ts} +5 -0
- package/dist/contexts/index.d.mts +4 -4
- package/dist/contexts/index.d.ts +4 -4
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.d.mts +17 -9
- package/dist/core/index.d.ts +17 -9
- package/dist/core/index.js +4 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +3 -1
- package/dist/features/analytics/index.d.mts +1 -1
- package/dist/features/analytics/index.d.ts +1 -1
- package/dist/features/analytics/index.js +122 -122
- package/dist/features/analytics/index.mjs +4 -4
- package/dist/features/analytics/server.js +4 -4
- package/dist/features/analytics/server.mjs +2 -2
- package/dist/features/help/index.d.mts +1 -1
- package/dist/features/help/index.d.ts +1 -1
- package/dist/features/help/index.js +42 -40
- package/dist/features/help/index.js.map +1 -1
- package/dist/features/help/index.mjs +8 -6
- package/dist/features/help/index.mjs.map +1 -1
- package/dist/features/tokenusage/index.js +125 -125
- package/dist/features/tokenusage/index.mjs +4 -4
- package/dist/index.d.mts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -2
- package/dist/{notification.interface-P_pNfzZQ.d.mts → notification.interface-BB6GPpZY.d.mts} +1 -1
- package/dist/{notification.interface-BNCvnVCW.d.ts → notification.interface-CmAGrijJ.d.ts} +1 -1
- package/dist/{s3.service-CbUa6a-8.d.ts → s3.service-C-4YpEMu.d.ts} +7 -3
- package/dist/{s3.service-DAp8FbuG.d.mts → s3.service-dVj-nxMl.d.mts} +7 -3
- package/dist/server/index.d.mts +4 -4
- package/dist/server/index.d.ts +4 -4
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +2 -2
- package/dist/{useSocket-BHVIyigI.d.ts → useSocket-B0H9pmmH.d.ts} +1 -1
- package/dist/{useSocket-B9gTbuCj.d.mts → useSocket-B5RQb6v2.d.mts} +1 -1
- package/dist/{user.interface-CrmwJLYW.d.ts → user.interface-C0ZdsBZj.d.ts} +2 -0
- package/dist/{user.interface-CSaGWFbg.d.mts → user.interface-CIWGlbqM.d.mts} +2 -0
- package/package.json +1 -1
- package/src/components/containers/RoundPageContainer.tsx +3 -1
- package/src/components/containers/RoundPageContainerTitle.tsx +5 -2
- package/src/components/editors/BlockNoteEditor.tsx +31 -15
- package/src/components/editors/BlockNoteEditorAiActions.tsx +11 -7
- package/src/components/editors/__tests__/BlockNoteEditorAiActions.test.ts +10 -3
- package/src/components/errors/ErrorDetails.tsx +5 -2
- package/src/components/forms/CommonAssociationForm.tsx +1 -1
- package/src/components/forms/EntityMultiSelector.tsx +6 -2
- package/src/components/forms/EntitySelector.tsx +4 -1
- package/src/components/forms/FileUploader.tsx +3 -2
- package/src/components/forms/MultiFileUploader.tsx +3 -1
- package/src/components/navigations/Breadcrumb.tsx +3 -2
- package/src/components/navigations/Header.tsx +3 -1
- package/src/components/navigations/MobileNavigationBar.tsx +3 -1
- package/src/components/navigations/__tests__/Header.spec.tsx +2 -2
- package/src/components/tables/cells/cell.id.tsx +13 -2
- package/src/core/abstracts/AbstractService.ts +3 -3
- package/src/core/abstracts/ClientAbstractService.ts +3 -2
- package/src/features/assistant-action/components/ApprovalActionCard.tsx +74 -5
- package/src/features/assistant-action/components/__tests__/ApprovalActionCard.spec.tsx +81 -0
- package/src/features/assistant-message/components/parts/RelevanceMeter.tsx +4 -1
- package/src/features/assistant-message/components/parts/tabs/UsersTab.tsx +2 -1
- package/src/features/auth/components/buttons/GoogleSignInButton.tsx +4 -1
- package/src/features/auth/components/details/LandingComponent.tsx +1 -1
- package/src/features/auth/components/forms/ForgotPassword.tsx +1 -1
- package/src/features/auth/components/forms/Login.tsx +1 -1
- package/src/features/auth/components/forms/Register.tsx +1 -1
- package/src/features/auth/components/forms/ResetPassword.tsx +2 -2
- package/src/features/auth/components/two-factor/BackupCodesDialog.tsx +1 -1
- package/src/features/auth/components/two-factor/PasskeyButton.tsx +1 -1
- package/src/features/billing/components/cards/BillingUsageSummaryCard.tsx +21 -11
- package/src/features/billing/components/cards/CustomerInfoCard.tsx +16 -13
- package/src/features/billing/components/cards/InvoicesSummaryCard.tsx +33 -21
- package/src/features/billing/components/cards/PaymentMethodSummaryCard.tsx +20 -10
- package/src/features/billing/components/cards/SubscriptionSummaryCard.tsx +35 -22
- package/src/features/billing/components/containers/BillingDashboardContainer.tsx +24 -24
- package/src/features/billing/components/utils/__tests__/billing-formatters.spec.ts +63 -0
- package/src/features/billing/components/utils/currency.ts +67 -10
- package/src/features/billing/components/utils/date.ts +9 -4
- package/src/features/billing/components/utils/format-options.ts +20 -0
- package/src/features/billing/components/utils/index.ts +3 -1
- package/src/features/billing/components/utils/useBillingFormatOptions.ts +11 -0
- package/src/features/billing/components/widgets/BillingAlertBanner.tsx +8 -9
- package/src/features/billing/contexts/PriceContext.tsx +18 -6
- package/src/features/billing/i18n-keys.ts +212 -0
- package/src/features/billing/stripe-customer/components/containers/PaymentMethodsContainer.tsx +8 -8
- package/src/features/billing/stripe-customer/components/details/PaymentMethodCard.tsx +11 -9
- package/src/features/billing/stripe-customer/components/forms/PaymentMethodEditor.tsx +4 -4
- package/src/features/billing/stripe-customer/components/forms/PaymentMethodForm.tsx +9 -7
- package/src/features/billing/stripe-invoice/components/containers/InvoicesContainer.tsx +10 -8
- package/src/features/billing/stripe-invoice/components/details/InvoiceDetails.tsx +34 -29
- package/src/features/billing/stripe-invoice/components/lists/InvoicesList.tsx +12 -9
- package/src/features/billing/stripe-invoice/components/widgets/InvoiceStatusBadge.tsx +9 -6
- package/src/features/billing/stripe-price/components/details/PriceDetails.tsx +4 -3
- package/src/features/billing/stripe-price/components/forms/PriceArchiver.tsx +3 -1
- package/src/features/billing/stripe-price/components/forms/PriceEditor.tsx +3 -1
- package/src/features/billing/stripe-price/hooks/useStripePriceTableStructure.tsx +6 -5
- package/src/features/billing/stripe-promotion-code/components/PromoCodeInput.tsx +12 -7
- package/src/features/billing/stripe-promotion-code/data/stripe-promotion-code.service.ts +3 -1
- package/src/features/billing/stripe-subscription/components/containers/SubscriptionsContainer.tsx +10 -6
- package/src/features/billing/stripe-subscription/components/details/SubscriptionDetails.tsx +44 -29
- package/src/features/billing/stripe-subscription/components/forms/CancelSubscriptionDialog.tsx +14 -11
- package/src/features/billing/stripe-subscription/components/lists/SubscriptionsList.tsx +20 -17
- package/src/features/billing/stripe-subscription/components/widgets/IntervalToggle.tsx +4 -2
- package/src/features/billing/stripe-subscription/components/widgets/PricingCard.tsx +16 -7
- package/src/features/billing/stripe-subscription/components/widgets/ProductPricingList.tsx +3 -1
- package/src/features/billing/stripe-subscription/components/widgets/ProductPricingRow.tsx +3 -1
- package/src/features/billing/stripe-subscription/components/widgets/ProrationPreview.tsx +12 -7
- package/src/features/billing/stripe-subscription/components/widgets/SubscriptionConfirmation.tsx +11 -8
- package/src/features/billing/stripe-subscription/components/widgets/SubscriptionStatusBadge.tsx +13 -10
- package/src/features/billing/stripe-subscription/components/wizards/SubscriptionWizard.tsx +8 -6
- package/src/features/billing/stripe-subscription/components/wizards/WizardProgressIndicator.tsx +7 -4
- package/src/features/billing/stripe-subscription/components/wizards/WizardStepPaymentMethod.tsx +4 -2
- package/src/features/billing/stripe-subscription/components/wizards/WizardStepPlanSelection.tsx +3 -1
- package/src/features/billing/stripe-subscription/components/wizards/WizardStepReview.tsx +37 -28
- package/src/features/billing/stripe-subscription/hooks/useConfirmSubscriptionPayment.ts +9 -7
- package/src/features/billing/stripe-subscription/hooks/useSubscriptionWizard.ts +20 -9
- package/src/features/billing/stripe-usage/components/containers/UsageContainer.tsx +6 -6
- package/src/features/billing/stripe-usage/components/details/UsageSummaryCard.tsx +24 -9
- package/src/features/billing/stripe-usage/components/lists/UsageHistoryTable.tsx +16 -12
- package/src/features/company/components/details/TokenStatusIndicator.tsx +7 -5
- package/src/features/company/components/forms/CompanyEditor.tsx +2 -2
- package/src/features/help/components/HelpArticleBody.tsx +1 -1
- package/src/features/help/components/HelpHeader.tsx +1 -1
- package/src/features/help/components/HelpSideNav.tsx +1 -1
- package/src/features/help/i18n-keys.ts +2 -0
- package/src/features/notification/components/common/NotificationErrorBoundary.tsx +17 -12
- package/src/features/notification/components/containers/NotificationsListContainer.tsx +4 -2
- package/src/features/notification/components/notifications/Notification.tsx +6 -3
- package/src/features/notification/contexts/NotificationContext.tsx +9 -4
- package/src/features/notification/contexts/__tests__/NotificationContext.spec.tsx +13 -0
- package/src/features/notification/hooks/useNotificationTableStructure.tsx +4 -2
- package/src/features/oauth/components/OAuthClientCard.tsx +13 -7
- package/src/features/oauth/components/OAuthClientDetail.tsx +34 -30
- package/src/features/oauth/components/OAuthClientForm.tsx +24 -24
- package/src/features/oauth/components/OAuthClientList.tsx +10 -6
- package/src/features/oauth/components/OAuthClientSecretDisplay.tsx +10 -8
- package/src/features/oauth/components/OAuthRedirectUriInput.tsx +9 -13
- package/src/features/oauth/components/OAuthScopeSelector.tsx +15 -6
- package/src/features/oauth/components/__tests__/OAuthClientForm.spec.tsx +11 -9
- package/src/features/oauth/components/consent/OAuthScopeList.tsx +4 -2
- package/src/features/oauth/hooks/__tests__/useOAuthScopeText.spec.ts +30 -0
- package/src/features/oauth/hooks/index.ts +1 -0
- package/src/features/oauth/hooks/useOAuthClient.ts +11 -5
- package/src/features/oauth/hooks/useOAuthClients.ts +9 -3
- package/src/features/oauth/hooks/useOAuthConsent.ts +11 -5
- package/src/features/oauth/hooks/useOAuthScopeText.ts +33 -0
- package/src/features/rbac/components/RbacByRoleContainer.tsx +7 -6
- package/src/features/rbac/components/RbacContainer.tsx +7 -6
- package/src/features/rbac/contexts/RbacContext.tsx +3 -3
- package/src/features/user/components/containers/UserContainer.tsx +3 -1
- package/src/features/user/data/__tests__/user.test.ts +66 -0
- package/src/features/user/data/user.interface.ts +2 -0
- package/src/features/user/data/user.service.ts +9 -0
- package/src/features/user/data/user.ts +7 -0
- package/src/features/waitlist/components/forms/WaitlistForm.tsx +1 -1
- package/src/features/waitlist/components/lists/WaitlistList.tsx +1 -1
- package/src/i18n/__tests__/config.test.ts +21 -1
- package/src/i18n/config.ts +13 -0
- package/src/i18n/index.ts +1 -0
- package/src/shadcnui/custom/multi-select.tsx +47 -14
- package/src/shadcnui/custom/multiple-selector.tsx +14 -2
- package/src/shadcnui/ui/__tests__/use-ui-text.test.tsx +76 -0
- package/src/shadcnui/ui/breadcrumb.tsx +9 -2
- package/src/shadcnui/ui/carousel.tsx +15 -4
- package/src/shadcnui/ui/dialog.tsx +15 -2
- package/src/shadcnui/ui/sheet.tsx +6 -1
- package/src/shadcnui/ui/sidebar.tsx +33 -7
- package/src/shadcnui/ui/spinner.tsx +6 -1
- package/src/shadcnui/ui/use-ui-text.ts +49 -0
- package/src/utils/__tests__/date-formatter.test.ts +24 -1
- package/src/utils/date-formatter.ts +16 -0
- package/src/utils/index.ts +1 -1
- package/dist/BlockNoteEditor-BENYTTCZ.js.map +0 -1
- package/dist/BlockNoteEditor-VOYKZOP5.mjs.map +0 -1
- package/dist/chunk-4BZJ4LAB.js.map +0 -1
- package/dist/chunk-6ISF5KNQ.mjs.map +0 -1
- package/dist/chunk-ORU7KLCY.js.map +0 -1
- package/dist/chunk-ZZ6E33FO.mjs.map +0 -1
- /package/dist/{BlockNoteViewer-Y2ZM4ESA.mjs.map → BlockNoteViewer-MDPO6BXN.mjs.map} +0 -0
- /package/dist/{chunk-46S3KPLU.mjs.map → chunk-ILFFC6BG.mjs.map} +0 -0
- /package/dist/{chunk-HZVVRIJQ.mjs.map → chunk-IUS2RHCX.mjs.map} +0 -0
- /package/dist/{chunk-ZO3QQ5CQ.mjs.map → chunk-MQDR6MEE.mjs.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkKJMMBUOAjs = require('../../chunk-KJMMBUOA.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -33,8 +33,8 @@ var _chunkF7RNBGHSjs = require('../../chunk-F7RNBGHS.js');
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
37
|
-
require('../../chunk-
|
|
36
|
+
var _chunkVDVIUDY5js = require('../../chunk-VDVIUDY5.js');
|
|
37
|
+
require('../../chunk-GPXYQMOZ.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 _chunk4ORLPEK7js = require('../../chunk-4ORLPEK7.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 _chunk4ORLPEK7js.AbstractService {
|
|
67
67
|
static {
|
|
68
68
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsService");
|
|
69
69
|
}
|
|
@@ -75,9 +75,9 @@ var AnalyticsService = class extends _chunk4BZJ4LABjs.AbstractService {
|
|
|
75
75
|
static async track(input) {
|
|
76
76
|
try {
|
|
77
77
|
await this.callApi({
|
|
78
|
-
type:
|
|
78
|
+
type: _chunk4ORLPEK7js.Modules.AnalyticsEvent,
|
|
79
79
|
method: "POST" /* POST */,
|
|
80
|
-
endpoint: new (0,
|
|
80
|
+
endpoint: new (0, _chunk4ORLPEK7js.EndpointCreator)({ endpoint: _chunk4ORLPEK7js.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
|
+
_chunkVDVIUDY5js.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
|
+
_chunkVDVIUDY5js.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: _chunk4ORLPEK7js.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 _chunk4ORLPEK7js.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, _chunk4ORLPEK7js.EndpointCreator)({ endpoint: _chunk4ORLPEK7js.Modules.AnalyticsSummary }), filters);
|
|
304
304
|
return this.callApi({
|
|
305
|
-
type:
|
|
305
|
+
type: _chunk4ORLPEK7js.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, _chunk4ORLPEK7js.EndpointCreator)({ endpoint: _chunk4ORLPEK7js.Modules.AnalyticsTimeline }), params);
|
|
312
312
|
endpoint.addAdditionalParam("granularity", params.granularity);
|
|
313
313
|
return this.callApi({
|
|
314
|
-
type:
|
|
314
|
+
type: _chunk4ORLPEK7js.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, _chunk4ORLPEK7js.EndpointCreator)({ endpoint: _chunk4ORLPEK7js.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: _chunk4ORLPEK7js.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, _chunk4ORLPEK7js.EndpointCreator)({ endpoint: _chunk4ORLPEK7js.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: _chunk4ORLPEK7js.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 _chunk4BZJ4LABjs.AbstractService {
|
|
|
340
340
|
}
|
|
341
341
|
static async getSession(params) {
|
|
342
342
|
return this.callApi({
|
|
343
|
-
type:
|
|
343
|
+
type: _chunk4ORLPEK7js.Modules.AnalyticsSession,
|
|
344
344
|
method: "GET" /* GET */,
|
|
345
|
-
endpoint: new (0,
|
|
345
|
+
endpoint: new (0, _chunk4ORLPEK7js.EndpointCreator)({ endpoint: _chunk4ORLPEK7js.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: _chunk4ORLPEK7js.Modules.AnalyticsPageView,
|
|
352
352
|
method: "GET" /* GET */,
|
|
353
|
-
endpoint: new (0,
|
|
354
|
-
endpoint:
|
|
353
|
+
endpoint: new (0, _chunk4ORLPEK7js.EndpointCreator)({
|
|
354
|
+
endpoint: _chunk4ORLPEK7js.Modules.AnalyticsSession,
|
|
355
355
|
id: params.sessionId,
|
|
356
|
-
childEndpoint:
|
|
356
|
+
childEndpoint: _chunk4ORLPEK7js.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 = _chunkVDVIUDY5js.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: _chunk4ORLPEK7js.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, _chunkVDVIUDY5js.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 } = _chunkKJMMBUOAjs.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: _chunkKJMMBUOAjs.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: _chunkKJMMBUOAjs.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: _chunkKJMMBUOAjs.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: _chunkKJMMBUOAjs.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, _chunkVDVIUDY5js.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVDVIUDY5js.CardContent, { className: "grid gap-1", children: [
|
|
609
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVDVIUDY5js.CardContent, { className: "grid gap-1", children: [
|
|
626
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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: _chunk4ORLPEK7js.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, _chunkVDVIUDY5js.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
|
|
678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
|
|
679
|
+
ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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 } = _chunkKJMMBUOAjs.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, _chunkVDVIUDY5js.Table, { children: [
|
|
695
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVDVIUDY5js.TableRow, { children: [
|
|
696
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
|
|
697
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
|
|
698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
|
|
699
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVDVIUDY5js.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
|
|
702
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
|
|
703
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
|
|
704
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
|
|
705
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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 = _chunkVDVIUDY5js.usePageUrlGenerator.call(void 0, );
|
|
721
|
+
const { decimal } = _chunkKJMMBUOAjs.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, _chunkVDVIUDY5js.Table, { children: [
|
|
728
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVDVIUDY5js.TableRow, { children: [
|
|
729
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
|
|
730
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
|
|
731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
|
|
732
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
|
|
733
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
|
|
734
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
|
|
739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
740
|
+
_chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.TableCell, { className: "text-xs", children: source }),
|
|
755
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableCell, { className: "text-xs", children: row.landingRoute }),
|
|
756
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
|
|
757
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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 } = _chunkKJMMBUOAjs.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, _chunkVDVIUDY5js.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
|
+
_chunkVDVIUDY5js.ChartTooltip,
|
|
853
853
|
{
|
|
854
854
|
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
855
|
-
|
|
855
|
+
_chunkVDVIUDY5js.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, _chunkVDVIUDY5js.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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: _chunkKJMMBUOAjs.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, _chunkVDVIUDY5js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.RoundPageContainer, { fullWidth: true, forceHeader: true });
|
|
901
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Card, { children: [
|
|
907
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
|
|
908
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Card, { children: [
|
|
911
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
|
|
912
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Card, { children: [
|
|
915
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
|
|
916
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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 = _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
|
|
1006
|
+
session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
|
|
1010
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
|
|
1011
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
|
|
1012
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
|
|
1013
1013
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1014
|
-
|
|
1014
|
+
_chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Card, { children: [
|
|
1023
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
|
|
1024
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Table, { children: [
|
|
1028
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVDVIUDY5js.TableRow, { children: [
|
|
1029
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
|
|
1030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
|
|
1031
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
|
|
1036
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
|
|
1037
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.Card, { children: [
|
|
1045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
|
|
1046
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVDVIUDY5js.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, _chunkVDVIUDY5js.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 = _chunk4ORLPEK7js.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunk4ORLPEK7js.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunk4ORLPEK7js.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunk4ORLPEK7js.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunk4ORLPEK7js.AnalyticsSummary; exports.AnalyticsTimeline = _chunk4ORLPEK7js.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunk4ORLPEK7js.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
|
|
1167
1167
|
//# sourceMappingURL=index.js.map
|