medusa-analytics 0.0.10 → 0.0.11

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.
@@ -40,19 +40,13 @@ function OrdersOverTimeTooltip({
40
40
  }
41
41
  const STATUS_COLORS = {
42
42
  pending: "#F59E0B",
43
- confirmed: "#3B82F6",
44
- processing: "#8B5CF6",
45
- shipped: "#06B6D4",
46
- delivered: "#10B981",
47
- cancelled: "#EF4444"
43
+ cancelled: "#EF4444",
44
+ delivered: "#10B981"
48
45
  };
49
46
  const ORDER_CHART_STATUSES = [
50
47
  { key: "pending", label: "Pending", color: STATUS_COLORS.pending },
51
- { key: "confirmed", label: "Confirmed", color: STATUS_COLORS.confirmed },
52
- { key: "processing", label: "Processing", color: STATUS_COLORS.processing },
53
- { key: "shipped", label: "Shipped", color: STATUS_COLORS.shipped },
54
- { key: "delivered", label: "Delivered", color: STATUS_COLORS.delivered },
55
- { key: "cancelled", label: "Cancelled", color: STATUS_COLORS.cancelled }
48
+ { key: "cancelled", label: "Cancelled", color: STATUS_COLORS.cancelled },
49
+ { key: "delivered", label: "Delivered", color: STATUS_COLORS.delivered }
56
50
  ];
57
51
  function formatCurrency(value) {
58
52
  return new Intl.NumberFormat("en-IN", {
@@ -134,11 +128,10 @@ function OrdersDashboard() {
134
128
  if (error || !data) {
135
129
  return /* @__PURE__ */ jsxRuntime.jsx(ui.Container, { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-danger", children: error ?? "Failed to load analytics" }) });
136
130
  }
137
- const pieData = ORDER_CHART_STATUSES.map(({ key, label, color }) => ({
138
- name: label,
139
- value: data.statusCounts[key] ?? 0,
140
- color
141
- })).filter((d) => d.value > 0);
131
+ const pieData = ORDER_CHART_STATUSES.map(({ key, label, color }) => {
132
+ const value = key === "delivered" ? data.statusCounts.delivered ?? data.deliveredOrders ?? 0 : key === "cancelled" ? data.statusCounts.cancelled ?? data.cancelledOrders ?? 0 : data.statusCounts.pending ?? data.pendingOrders ?? 0;
133
+ return { name: label, value, color };
134
+ }).filter((d) => d.value > 0);
142
135
  const returnsExchangesData = [
143
136
  { name: "Return orders", value: data.returnOrders, color: "#EF4444" },
144
137
  { name: "Exchange orders", value: data.exchangeOrders, color: "#F59E0B" }
@@ -188,7 +181,7 @@ function OrdersDashboard() {
188
181
  /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: data.avgFulfillmentTimeHours != null ? `${data.avgFulfillmentTimeHours}h` : "—" })
189
182
  ] })
190
183
  ] }),
191
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4", children: [
184
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4", children: [
192
185
  /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "p-4", children: [
193
186
  /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-muted text-sm", children: "Cancelled orders" }),
194
187
  /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: data.cancelledOrders.toLocaleString() })
@@ -197,10 +190,6 @@ function OrdersDashboard() {
197
190
  /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-muted text-sm", children: "Delivered orders" }),
198
191
  /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: data.deliveredOrders.toLocaleString() })
199
192
  ] }),
200
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "p-4", children: [
201
- /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-muted text-sm", children: "Shipped orders" }),
202
- /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: (data.shippedOrders ?? 0).toLocaleString() })
203
- ] }),
204
193
  /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "p-4", children: [
205
194
  /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-muted text-sm", children: "Exchange orders" }),
206
195
  /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: data.exchangeOrders.toLocaleString() })
@@ -210,10 +199,10 @@ function OrdersDashboard() {
210
199
  /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: data.returnOrders.toLocaleString() })
211
200
  ] })
212
201
  ] }),
213
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "p-6", children: [
214
- /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h3", className: "mb-4", children: "Orders by status" }),
215
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-8 items-start", children: [
216
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[300px] flex flex-col overflow-visible", style: { padding: "20px 24px" }, children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.PieChart, { margin: { top: 16, right: 24, bottom: 16, left: 24 }, children: [
202
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Container, { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row flex-wrap gap-6 items-stretch", children: [
203
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0 flex flex-col", style: { minWidth: "280px" }, children: [
204
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h3", className: "mb-3", children: "Orders by status" }),
205
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-h-[280px] flex items-center justify-center", children: pieData.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.PieChart, { margin: { top: 8, right: 8, bottom: 8, left: 8 }, children: [
217
206
  /* @__PURE__ */ jsxRuntime.jsx(
218
207
  recharts.Pie,
219
208
  {
@@ -231,31 +220,31 @@ function OrdersDashboard() {
231
220
  ),
232
221
  /* @__PURE__ */ jsxRuntime.jsx(recharts.Tooltip, { formatter: (value) => [value ?? 0, "Orders"] }),
233
222
  /* @__PURE__ */ jsxRuntime.jsx(recharts.Legend, { verticalAlign: "bottom", height: 36 })
234
- ] }) }) }),
235
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-[300px] flex flex-col overflow-visible", style: { padding: "20px 24px" }, children: [
236
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-ui-fg-subtle mb-3 text-sm font-medium", children: "Returns & exchanges" }),
237
- returnsExchangesData.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.PieChart, { margin: { top: 16, right: 24, bottom: 16, left: 24 }, children: [
238
- /* @__PURE__ */ jsxRuntime.jsx(
239
- recharts.Pie,
240
- {
241
- data: returnsExchangesData,
242
- cx: "50%",
243
- cy: "50%",
244
- innerRadius: 52,
245
- outerRadius: 78,
246
- paddingAngle: 2,
247
- dataKey: "value",
248
- nameKey: "name",
249
- isAnimationActive: true,
250
- children: returnsExchangesData.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsx(recharts.Cell, { fill: entry.color }, `cell-re-${index}`))
251
- }
252
- ),
253
- /* @__PURE__ */ jsxRuntime.jsx(recharts.Tooltip, { formatter: (value) => [value ?? 0, "Count"] }),
254
- /* @__PURE__ */ jsxRuntime.jsx(recharts.Legend, { verticalAlign: "bottom", height: 36 })
255
- ] }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-[280px] text-ui-fg-muted text-sm", children: "No returns or exchanges in this period" })
256
- ] })
223
+ ] }) }) : /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-muted text-sm", children: "No orders in this period" }) })
224
+ ] }),
225
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0 flex flex-col", style: { minWidth: "280px" }, children: [
226
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h3", className: "mb-3", children: "Returns & exchanges" }),
227
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-h-[280px] flex items-center justify-center", children: returnsExchangesData.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.PieChart, { margin: { top: 8, right: 8, bottom: 8, left: 8 }, children: [
228
+ /* @__PURE__ */ jsxRuntime.jsx(
229
+ recharts.Pie,
230
+ {
231
+ data: returnsExchangesData,
232
+ cx: "50%",
233
+ cy: "50%",
234
+ innerRadius: 52,
235
+ outerRadius: 78,
236
+ paddingAngle: 2,
237
+ dataKey: "value",
238
+ nameKey: "name",
239
+ isAnimationActive: true,
240
+ children: returnsExchangesData.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsx(recharts.Cell, { fill: entry.color }, `cell-re-${index}`))
241
+ }
242
+ ),
243
+ /* @__PURE__ */ jsxRuntime.jsx(recharts.Tooltip, { formatter: (value) => [value ?? 0, "Count"] }),
244
+ /* @__PURE__ */ jsxRuntime.jsx(recharts.Legend, { verticalAlign: "bottom", height: 36 })
245
+ ] }) }) : /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-muted text-sm", children: "No returns or exchanges in this period" }) })
257
246
  ] })
258
- ] }),
247
+ ] }) }),
259
248
  /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "p-6", children: [
260
249
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4 mb-4", children: [
261
250
  /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h3", children: "Orders over time" }),
@@ -39,19 +39,13 @@ function OrdersOverTimeTooltip({
39
39
  }
40
40
  const STATUS_COLORS = {
41
41
  pending: "#F59E0B",
42
- confirmed: "#3B82F6",
43
- processing: "#8B5CF6",
44
- shipped: "#06B6D4",
45
- delivered: "#10B981",
46
- cancelled: "#EF4444"
42
+ cancelled: "#EF4444",
43
+ delivered: "#10B981"
47
44
  };
48
45
  const ORDER_CHART_STATUSES = [
49
46
  { key: "pending", label: "Pending", color: STATUS_COLORS.pending },
50
- { key: "confirmed", label: "Confirmed", color: STATUS_COLORS.confirmed },
51
- { key: "processing", label: "Processing", color: STATUS_COLORS.processing },
52
- { key: "shipped", label: "Shipped", color: STATUS_COLORS.shipped },
53
- { key: "delivered", label: "Delivered", color: STATUS_COLORS.delivered },
54
- { key: "cancelled", label: "Cancelled", color: STATUS_COLORS.cancelled }
47
+ { key: "cancelled", label: "Cancelled", color: STATUS_COLORS.cancelled },
48
+ { key: "delivered", label: "Delivered", color: STATUS_COLORS.delivered }
55
49
  ];
56
50
  function formatCurrency(value) {
57
51
  return new Intl.NumberFormat("en-IN", {
@@ -133,11 +127,10 @@ function OrdersDashboard() {
133
127
  if (error || !data) {
134
128
  return /* @__PURE__ */ jsx(Container, { className: "p-6", children: /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-danger", children: error ?? "Failed to load analytics" }) });
135
129
  }
136
- const pieData = ORDER_CHART_STATUSES.map(({ key, label, color }) => ({
137
- name: label,
138
- value: data.statusCounts[key] ?? 0,
139
- color
140
- })).filter((d) => d.value > 0);
130
+ const pieData = ORDER_CHART_STATUSES.map(({ key, label, color }) => {
131
+ const value = key === "delivered" ? data.statusCounts.delivered ?? data.deliveredOrders ?? 0 : key === "cancelled" ? data.statusCounts.cancelled ?? data.cancelledOrders ?? 0 : data.statusCounts.pending ?? data.pendingOrders ?? 0;
132
+ return { name: label, value, color };
133
+ }).filter((d) => d.value > 0);
141
134
  const returnsExchangesData = [
142
135
  { name: "Return orders", value: data.returnOrders, color: "#EF4444" },
143
136
  { name: "Exchange orders", value: data.exchangeOrders, color: "#F59E0B" }
@@ -187,7 +180,7 @@ function OrdersDashboard() {
187
180
  /* @__PURE__ */ jsx(Heading, { level: "h2", children: data.avgFulfillmentTimeHours != null ? `${data.avgFulfillmentTimeHours}h` : "—" })
188
181
  ] })
189
182
  ] }),
190
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4", children: [
183
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4", children: [
191
184
  /* @__PURE__ */ jsxs(Container, { className: "p-4", children: [
192
185
  /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-muted text-sm", children: "Cancelled orders" }),
193
186
  /* @__PURE__ */ jsx(Heading, { level: "h2", children: data.cancelledOrders.toLocaleString() })
@@ -196,10 +189,6 @@ function OrdersDashboard() {
196
189
  /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-muted text-sm", children: "Delivered orders" }),
197
190
  /* @__PURE__ */ jsx(Heading, { level: "h2", children: data.deliveredOrders.toLocaleString() })
198
191
  ] }),
199
- /* @__PURE__ */ jsxs(Container, { className: "p-4", children: [
200
- /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-muted text-sm", children: "Shipped orders" }),
201
- /* @__PURE__ */ jsx(Heading, { level: "h2", children: (data.shippedOrders ?? 0).toLocaleString() })
202
- ] }),
203
192
  /* @__PURE__ */ jsxs(Container, { className: "p-4", children: [
204
193
  /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-muted text-sm", children: "Exchange orders" }),
205
194
  /* @__PURE__ */ jsx(Heading, { level: "h2", children: data.exchangeOrders.toLocaleString() })
@@ -209,10 +198,10 @@ function OrdersDashboard() {
209
198
  /* @__PURE__ */ jsx(Heading, { level: "h2", children: data.returnOrders.toLocaleString() })
210
199
  ] })
211
200
  ] }),
212
- /* @__PURE__ */ jsxs(Container, { className: "p-6", children: [
213
- /* @__PURE__ */ jsx(Heading, { level: "h3", className: "mb-4", children: "Orders by status" }),
214
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-8 items-start", children: [
215
- /* @__PURE__ */ jsx("div", { className: "min-h-[300px] flex flex-col overflow-visible", style: { padding: "20px 24px" }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxs(PieChart, { margin: { top: 16, right: 24, bottom: 16, left: 24 }, children: [
201
+ /* @__PURE__ */ jsx(Container, { className: "p-6", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row flex-wrap gap-6 items-stretch", children: [
202
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0 flex flex-col", style: { minWidth: "280px" }, children: [
203
+ /* @__PURE__ */ jsx(Heading, { level: "h3", className: "mb-3", children: "Orders by status" }),
204
+ /* @__PURE__ */ jsx("div", { className: "flex-1 min-h-[280px] flex items-center justify-center", children: pieData.length > 0 ? /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxs(PieChart, { margin: { top: 8, right: 8, bottom: 8, left: 8 }, children: [
216
205
  /* @__PURE__ */ jsx(
217
206
  Pie,
218
207
  {
@@ -230,31 +219,31 @@ function OrdersDashboard() {
230
219
  ),
231
220
  /* @__PURE__ */ jsx(Tooltip, { formatter: (value) => [value ?? 0, "Orders"] }),
232
221
  /* @__PURE__ */ jsx(Legend, { verticalAlign: "bottom", height: 36 })
233
- ] }) }) }),
234
- /* @__PURE__ */ jsxs("div", { className: "min-h-[300px] flex flex-col overflow-visible", style: { padding: "20px 24px" }, children: [
235
- /* @__PURE__ */ jsx("p", { className: "text-ui-fg-subtle mb-3 text-sm font-medium", children: "Returns & exchanges" }),
236
- returnsExchangesData.length > 0 ? /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxs(PieChart, { margin: { top: 16, right: 24, bottom: 16, left: 24 }, children: [
237
- /* @__PURE__ */ jsx(
238
- Pie,
239
- {
240
- data: returnsExchangesData,
241
- cx: "50%",
242
- cy: "50%",
243
- innerRadius: 52,
244
- outerRadius: 78,
245
- paddingAngle: 2,
246
- dataKey: "value",
247
- nameKey: "name",
248
- isAnimationActive: true,
249
- children: returnsExchangesData.map((entry, index) => /* @__PURE__ */ jsx(Cell, { fill: entry.color }, `cell-re-${index}`))
250
- }
251
- ),
252
- /* @__PURE__ */ jsx(Tooltip, { formatter: (value) => [value ?? 0, "Count"] }),
253
- /* @__PURE__ */ jsx(Legend, { verticalAlign: "bottom", height: 36 })
254
- ] }) }) : /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-[280px] text-ui-fg-muted text-sm", children: "No returns or exchanges in this period" })
255
- ] })
222
+ ] }) }) : /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-muted text-sm", children: "No orders in this period" }) })
223
+ ] }),
224
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0 flex flex-col", style: { minWidth: "280px" }, children: [
225
+ /* @__PURE__ */ jsx(Heading, { level: "h3", className: "mb-3", children: "Returns & exchanges" }),
226
+ /* @__PURE__ */ jsx("div", { className: "flex-1 min-h-[280px] flex items-center justify-center", children: returnsExchangesData.length > 0 ? /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: 280, children: /* @__PURE__ */ jsxs(PieChart, { margin: { top: 8, right: 8, bottom: 8, left: 8 }, children: [
227
+ /* @__PURE__ */ jsx(
228
+ Pie,
229
+ {
230
+ data: returnsExchangesData,
231
+ cx: "50%",
232
+ cy: "50%",
233
+ innerRadius: 52,
234
+ outerRadius: 78,
235
+ paddingAngle: 2,
236
+ dataKey: "value",
237
+ nameKey: "name",
238
+ isAnimationActive: true,
239
+ children: returnsExchangesData.map((entry, index) => /* @__PURE__ */ jsx(Cell, { fill: entry.color }, `cell-re-${index}`))
240
+ }
241
+ ),
242
+ /* @__PURE__ */ jsx(Tooltip, { formatter: (value) => [value ?? 0, "Count"] }),
243
+ /* @__PURE__ */ jsx(Legend, { verticalAlign: "bottom", height: 36 })
244
+ ] }) }) : /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-muted text-sm", children: "No returns or exchanges in this period" }) })
256
245
  ] })
257
- ] }),
246
+ ] }) }),
258
247
  /* @__PURE__ */ jsxs(Container, { className: "p-6", children: [
259
248
  /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4 mb-4", children: [
260
249
  /* @__PURE__ */ jsx(Heading, { level: "h3", children: "Orders over time" }),
@@ -2,31 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GET = GET;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- /** Status buckets used for Orders by status pie chart */
6
- const STATUS_BUCKETS = [
7
- "pending",
8
- "confirmed",
9
- "processing",
10
- "shipped",
11
- "delivered",
12
- "cancelled",
13
- ];
14
- function normalizeStatus(status) {
15
- if (!status || typeof status !== "string")
5
+ /** Only three status buckets: pending, cancelled, delivered */
6
+ const STATUS_BUCKETS = ["pending", "cancelled", "delivered"];
7
+ function toSimpleStatus(status) {
8
+ if (status === undefined || status === null || typeof status !== "string")
16
9
  return "pending";
17
- const s = status.toLowerCase();
10
+ const s = String(status).trim().toLowerCase();
18
11
  if (s === "canceled" || s === "cancelled")
19
12
  return "cancelled";
20
- // Medusa v2 order status is pending|completed|draft|archived|canceled|requires_action (no shipped/delivered at order level)
21
- if (s === "completed")
13
+ // Medusa "completed" = delivered; also support "fulfilled" / "delivered" if used by custom flows
14
+ if (s === "completed" || s === "fulfilled" || s === "delivered")
22
15
  return "delivered";
23
- if (STATUS_BUCKETS.includes(s))
24
- return s;
25
16
  return "pending";
26
17
  }
27
18
  function isPendingStatus(status) {
28
- const normalized = normalizeStatus(status);
29
- return normalized !== "delivered" && normalized !== "cancelled";
19
+ return toSimpleStatus(status) === "pending";
30
20
  }
31
21
  const MIN_DAYS = 1;
32
22
  const MAX_DAYS = 365;
@@ -108,25 +98,15 @@ async function GET(req, res) {
108
98
  if (!inRange)
109
99
  continue;
110
100
  const status = o.status;
111
- const normalized = normalizeStatus(status);
112
- const fulfillments = o.fulfillments ?? [];
113
- const hasShippedFulfillment = fulfillments.some((f) => toValidDate(f.shipped_at) !== null);
114
- // Delivered = completed orders (Medusa counts these). Shipped = has fulfillment.shipped_at but not completed.
115
- if (normalized === "delivered") {
116
- statusCounts.delivered = (statusCounts.delivered ?? 0) + 1;
117
- }
118
- else if (hasShippedFulfillment) {
119
- statusCounts.shipped = (statusCounts.shipped ?? 0) + 1;
120
- }
121
- else {
122
- statusCounts[normalized] = (statusCounts[normalized] ?? 0) + 1;
123
- }
101
+ const simple = toSimpleStatus(status);
102
+ statusCounts[simple] = (statusCounts[simple] ?? 0) + 1;
124
103
  totalOrders += 1;
125
104
  if (typeof o.id === "string" && o.id) {
126
105
  orderIdsInRange.add(o.id);
127
106
  }
107
+ const fulfillments = o.fulfillments ?? [];
128
108
  // Total revenue and AOV: only include non-cancelled orders
129
- if (normalized !== "cancelled") {
109
+ if (simple !== "cancelled") {
130
110
  const total = typeof o.total === "number" ? o.total : 0;
131
111
  totalRevenue += total;
132
112
  nonCancelledCount += 1;
@@ -151,7 +131,13 @@ async function GET(req, res) {
151
131
  }
152
132
  const cancelledOrders = Math.floor(statusCounts.cancelled ?? 0);
153
133
  const deliveredOrders = Math.floor(statusCounts.delivered ?? 0);
154
- const shippedOrders = Math.floor(statusCounts.shipped ?? 0);
134
+ const pendingOrdersCount = Math.floor(statusCounts.pending ?? 0);
135
+ // Ensure statusCounts matches KPI values so chart and cards stay in sync
136
+ const finalStatusCounts = {
137
+ pending: pendingOrdersCount,
138
+ cancelled: cancelledOrders,
139
+ delivered: deliveredOrders,
140
+ };
155
141
  let exchangeOrders = 0;
156
142
  let returnOrders = 0;
157
143
  if (orderIdsInRange.size > 0) {
@@ -192,11 +178,10 @@ async function GET(req, res) {
192
178
  pendingOrders,
193
179
  cancelledOrders,
194
180
  deliveredOrders,
195
- shippedOrders,
196
181
  exchangeOrders: Math.floor(exchangeOrders),
197
182
  returnOrders: Math.floor(returnOrders),
198
183
  avgFulfillmentTimeHours,
199
- statusCounts,
184
+ statusCounts: finalStatusCounts,
200
185
  };
201
186
  res.json(body);
202
187
  }
@@ -208,4 +193,4 @@ async function GET(req, res) {
208
193
  });
209
194
  }
210
195
  }
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FuYWx5dGljcy9vcmRlcnMtc3VtbWFyeS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlFQSxrQkF3TUM7QUFuUUQscURBSWtDO0FBSWxDLHlEQUF5RDtBQUN6RCxNQUFNLGNBQWMsR0FBRztJQUNyQixTQUFTO0lBQ1QsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsV0FBVztJQUNYLFdBQVc7Q0FDSCxDQUFBO0FBRVYsU0FBUyxlQUFlLENBQUMsTUFBMEI7SUFDakQsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQUUsT0FBTyxTQUFTLENBQUE7SUFDM0QsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzlCLElBQUksQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEtBQUssV0FBVztRQUFFLE9BQU8sV0FBVyxDQUFBO0lBQzdELDRIQUE0SDtJQUM1SCxJQUFJLENBQUMsS0FBSyxXQUFXO1FBQUUsT0FBTyxXQUFXLENBQUE7SUFDekMsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLENBQW9DLENBQUM7UUFBRSxPQUFPLENBQW9DLENBQUE7SUFDOUcsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE1BQTBCO0lBQ2pELE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMxQyxPQUFPLFVBQVUsS0FBSyxXQUFXLElBQUksVUFBVSxLQUFLLFdBQVcsQ0FBQTtBQUNqRSxDQUFDO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0FBQ2xCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQTtBQUVwQixTQUFTLFNBQVMsQ0FBQyxDQUFPO0lBQ3hCLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFD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
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FuYWx5dGljcy9vcmRlcnMtc3VtbWFyeS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXdEQSxrQkFxTUM7QUF2UEQscURBSWtDO0FBSWxDLCtEQUErRDtBQUMvRCxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFVLENBQUE7QUFFckUsU0FBUyxjQUFjLENBQUMsTUFBMEI7SUFDaEQsSUFBSSxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUTtRQUFFLE9BQU8sU0FBUyxDQUFBO0lBQzNGLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUM3QyxJQUFJLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxLQUFLLFdBQVc7UUFBRSxPQUFPLFdBQVcsQ0FBQTtJQUM3RCxpR0FBaUc7SUFDakcsSUFBSSxDQUFDLEtBQUssV0FBVyxJQUFJLENBQUMsS0FBSyxXQUFXLElBQUksQ0FBQyxLQUFLLFdBQVc7UUFBRSxPQUFPLFdBQVcsQ0FBQTtJQUNuRixPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsTUFBMEI7SUFDakQsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxDQUFBO0FBQzdDLENBQUM7QUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFDbEIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFBO0FBRXBCLFNBQVMsU0FBUyxDQUFDLENBQU87SUFDeEIsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "medusa-analytics",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "A starter for Medusa plugins.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",