@burdenoff/microfe-kadaikodi 2026.704.3 → 2026.704.5

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.
Files changed (145) hide show
  1. package/dist/kadaikodi/KadaikodiRoutes.js +34 -26
  2. package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
  3. package/dist/kadaikodi/components/viz/AllocationBar.js +68 -0
  4. package/dist/kadaikodi/components/viz/AllocationBar.js.map +1 -0
  5. package/dist/kadaikodi/components/viz/AreaChart.js +102 -0
  6. package/dist/kadaikodi/components/viz/AreaChart.js.map +1 -0
  7. package/dist/kadaikodi/components/viz/AvatarStack.js +36 -0
  8. package/dist/kadaikodi/components/viz/AvatarStack.js.map +1 -0
  9. package/dist/kadaikodi/components/viz/BarChart.js +83 -0
  10. package/dist/kadaikodi/components/viz/BarChart.js.map +1 -0
  11. package/dist/kadaikodi/components/viz/CertificateCard.js +4 -0
  12. package/dist/kadaikodi/components/viz/DonutChart.js +109 -0
  13. package/dist/kadaikodi/components/viz/DonutChart.js.map +1 -0
  14. package/dist/kadaikodi/components/viz/HBarFunnel.js +54 -0
  15. package/dist/kadaikodi/components/viz/HBarFunnel.js.map +1 -0
  16. package/dist/kadaikodi/components/viz/Heatmap.js +3 -0
  17. package/dist/kadaikodi/components/viz/KanbanBoard.js +50 -0
  18. package/dist/kadaikodi/components/viz/KanbanBoard.js.map +1 -0
  19. package/dist/kadaikodi/components/viz/LineChart.js +4 -0
  20. package/dist/kadaikodi/components/viz/OrgTree.js +2 -0
  21. package/dist/kadaikodi/components/viz/PathSteps.js +3 -0
  22. package/dist/kadaikodi/components/viz/ProgressRing.js +68 -0
  23. package/dist/kadaikodi/components/viz/ProgressRing.js.map +1 -0
  24. package/dist/kadaikodi/components/viz/RatingStars.js +51 -0
  25. package/dist/kadaikodi/components/viz/RatingStars.js.map +1 -0
  26. package/dist/kadaikodi/components/viz/SegmentedTabs.js +69 -0
  27. package/dist/kadaikodi/components/viz/SegmentedTabs.js.map +1 -0
  28. package/dist/kadaikodi/components/viz/SkillBar.js +3 -0
  29. package/dist/kadaikodi/components/viz/Sparkline.js +74 -0
  30. package/dist/kadaikodi/components/viz/Sparkline.js.map +1 -0
  31. package/dist/kadaikodi/components/viz/StatCard.js +60 -0
  32. package/dist/kadaikodi/components/viz/StatCard.js.map +1 -0
  33. package/dist/kadaikodi/components/viz/StepProgress.js +64 -0
  34. package/dist/kadaikodi/components/viz/StepProgress.js.map +1 -0
  35. package/dist/kadaikodi/components/viz/Timeline.js +66 -0
  36. package/dist/kadaikodi/components/viz/Timeline.js.map +1 -0
  37. package/dist/kadaikodi/components/viz/index.js +23 -0
  38. package/dist/kadaikodi/components/viz/lib/Avatar.js +30 -0
  39. package/dist/kadaikodi/components/viz/lib/Avatar.js.map +1 -0
  40. package/dist/kadaikodi/components/viz/lib/CartesianFrame.js +119 -0
  41. package/dist/kadaikodi/components/viz/lib/CartesianFrame.js.map +1 -0
  42. package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js +35 -0
  43. package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js.map +1 -0
  44. package/dist/kadaikodi/components/viz/lib/format.js +21 -0
  45. package/dist/kadaikodi/components/viz/lib/format.js.map +1 -0
  46. package/dist/kadaikodi/components/viz/lib/geometry.js +61 -0
  47. package/dist/kadaikodi/components/viz/lib/geometry.js.map +1 -0
  48. package/dist/kadaikodi/components/viz/lib/hooks.js +39 -0
  49. package/dist/kadaikodi/components/viz/lib/hooks.js.map +1 -0
  50. package/dist/kadaikodi/components/viz/lib/palette.js +27 -0
  51. package/dist/kadaikodi/components/viz/lib/palette.js.map +1 -0
  52. package/dist/kadaikodi/hooks/useKadaikodiApi.js +84 -6
  53. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  54. package/dist/kadaikodi/pages/HomePage.js +373 -631
  55. package/dist/kadaikodi/pages/HomePage.js.map +1 -1
  56. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +304 -169
  57. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  58. package/dist/kadaikodi/pages/admin/AdminDashboard.js +255 -271
  59. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  60. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +185 -125
  61. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  62. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +141 -102
  63. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  64. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  65. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +332 -276
  66. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  67. package/dist/kadaikodi/pages/admin/CartManagementPage.js +564 -729
  68. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  69. package/dist/kadaikodi/pages/admin/UserManagementPage.js +310 -366
  70. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  71. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +201 -120
  72. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  73. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +290 -257
  74. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  75. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +173 -194
  76. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  77. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +270 -228
  78. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  79. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +194 -173
  80. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  81. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +428 -347
  82. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  83. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +332 -0
  84. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -0
  85. package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js +373 -0
  86. package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js.map +1 -0
  87. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +294 -162
  88. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  89. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +180 -181
  90. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  91. package/dist/kadaikodi/pages/common/HelpSupportPage.js +310 -317
  92. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  93. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  94. package/dist/kadaikodi/pages/common/SettingsPage.js +502 -586
  95. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  96. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +239 -156
  97. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
  98. package/dist/kadaikodi/pages/customer/CartDetailPage.js +405 -248
  99. package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
  100. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +258 -232
  101. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
  102. package/dist/kadaikodi/pages/customer/CheckoutPage.js +254 -205
  103. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  104. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +5 -5
  105. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  106. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +189 -199
  107. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  108. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +272 -230
  109. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  110. package/dist/kadaikodi/pages/customer/FavoritesPage.js +150 -413
  111. package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
  112. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +173 -134
  113. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  114. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +411 -305
  115. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  116. package/dist/kadaikodi/pages/customer/ReviewsPage.js +310 -406
  117. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  118. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  119. package/dist/kadaikodi/pages/customer/shared.js +181 -0
  120. package/dist/kadaikodi/pages/customer/shared.js.map +1 -0
  121. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +438 -311
  122. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  123. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +320 -293
  124. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  125. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +159 -91
  126. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  127. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +137 -107
  128. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  129. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +157 -135
  130. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  131. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +280 -206
  132. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  133. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +441 -514
  134. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  135. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +428 -431
  136. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  137. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +328 -445
  138. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  139. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +141 -164
  140. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  141. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +360 -288
  142. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  143. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +303 -281
  144. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  145. package/package.json +1 -1
@@ -1,15 +1,20 @@
1
1
  import { cn as e } from "../../utils/cn.js";
2
2
  import { PageLayout as t } from "../../components/PageLayout.js";
3
- import { MetricsCard as n } from "../../components/MetricsCard.js";
4
- import { EmptyState as r } from "../../components/EmptyState.js";
5
- import { useDashboardStats as i, useOrders as a, useUpdateOrderStatus as o } from "../../hooks/useKadaikodiApi.js";
6
- import { formatCurrency as s } from "../../utils/formatters.js";
7
- import { useMemo as c, useState as l } from "react";
8
- import { AlertCircle as u, CheckCircle2 as d, Clock as f, Eye as p, IndianRupee as m, Loader2 as h, MapPin as g, RefreshCw as _, Search as v, ShoppingBag as y, Store as b, TrendingUp as x, X as S, XCircle as C } from "lucide-react";
3
+ import { EmptyState as n } from "../../components/EmptyState.js";
4
+ import { useDashboardStats as r, useOrders as i, useUpdateOrderStatus as a } from "../../hooks/useKadaikodiApi.js";
5
+ import { formatCurrency as o } from "../../utils/formatters.js";
6
+ import { DonutChart as s } from "../../components/viz/DonutChart.js";
7
+ import { StatCard as c } from "../../components/viz/StatCard.js";
8
+ import "../../components/viz/index.js";
9
+ import { useMemo as l, useState as u } from "react";
10
+ import { AlertCircle as d, CheckCircle2 as f, Clock as ee, Eye as p, IndianRupee as m, Loader2 as h, MapPin as g, RefreshCw as _, Search as v, ShoppingBag as y, Store as b, TrendingUp as x, X as S, XCircle as C } from "lucide-react";
9
11
  import { jsx as w, jsxs as T } from "react/jsx-runtime";
10
- import { EmphasisPanel as E, PagePurpose as D } from "@burdenoff/fe-libs/ui";
12
+ import { GlassCard as E, PagePurpose as D } from "@burdenoff/fe-libs/ui";
11
13
  //#region src/kadaikodi/pages/admin/AdminOrdersPage.tsx
12
- var O = [
14
+ var O = 1440 * 60 * 1e3, k = (e) => {
15
+ let t = new Date(e);
16
+ return t.setHours(0, 0, 0, 0), t.getTime();
17
+ }, A = [
13
18
  "pending",
14
19
  "confirmed",
15
20
  "preparing",
@@ -19,13 +24,31 @@ var O = [
19
24
  "delivered",
20
25
  "cancelled"
21
26
  ];
22
- function k() {
23
- let { data: k = [], isLoading: A } = a({}), { data: j } = i(), M = o(), [N, P] = l(""), [F, I] = l("all"), [L, R] = l(null), [z, B] = l(!1), V = (e) => s(e, { minimumFractionDigits: 0 }), H = (e) => e ? new Date(e).toLocaleString("en-IN", {
27
+ function j() {
28
+ let { data: j = [], isLoading: M } = i({}), { data: N } = r(), P = a(), [F, I] = u(""), [L, R] = u("all"), [z, B] = u(null), [V, H] = u(!1), U = (e) => o(e, { minimumFractionDigits: 0 }), W = (e) => e ? new Date(e).toLocaleString("en-IN", {
24
29
  day: "2-digit",
25
30
  month: "short",
26
31
  hour: "2-digit",
27
32
  minute: "2-digit"
28
- }) : "—", U = c(() => j && j.totalOrders > 0 ? j.totalRevenue / j.totalOrders : k.length === 0 ? 0 : k.reduce((e, t) => e + t.total, 0) / k.length, [j, k]), W = (e) => ({
33
+ }) : "—", G = l(() => N && N.totalOrders > 0 ? N.totalRevenue / N.totalOrders : j.length === 0 ? 0 : j.reduce((e, t) => e + t.total, 0) / j.length, [N, j]), { ordersPerDay: K, gmvPerDay: q } = l(() => {
34
+ let e = k(/* @__PURE__ */ new Date()), t = e - 29 * O, n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
35
+ for (let i = t; i <= e; i += O) n.set(i, 0), r.set(i, 0);
36
+ for (let e of j) {
37
+ let t = k(new Date(e.orderDate));
38
+ n.has(t) && (n.set(t, (n.get(t) ?? 0) + 1), r.set(t, (r.get(t) ?? 0) + (e.total ?? 0)));
39
+ }
40
+ return {
41
+ ordersPerDay: [...n.values()],
42
+ gmvPerDay: [...r.values()]
43
+ };
44
+ }, [j]), J = l(() => {
45
+ let e = /* @__PURE__ */ new Map();
46
+ for (let t of j) e.set(t.status, (e.get(t.status) ?? 0) + 1);
47
+ return [...e.entries()].sort((e, t) => t[1] - e[1]).map(([e, t]) => ({
48
+ label: e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase()),
49
+ value: t
50
+ }));
51
+ }, [j]), Y = (e) => ({
29
52
  delivered: "bg-status-success-bg-subtle text-status-success-text",
30
53
  preparing: "bg-status-warning-bg-subtle text-status-warning-text",
31
54
  ready: "bg-status-warning-bg-subtle text-status-warning-text",
@@ -33,31 +56,31 @@ function k() {
33
56
  out_for_delivery: "bg-[var(--color-accent-soft)] text-text-primary",
34
57
  cancelled: "bg-status-error-bg-subtle text-status-error-text",
35
58
  confirmed: "bg-[var(--color-accent-soft)] text-text-primary"
36
- })[e] ?? "bg-bg-sunken text-text-secondary", G = (e) => {
59
+ })[e] ?? "bg-bg-sunken text-text-secondary", X = (e) => {
37
60
  switch (e) {
38
- case "completed": return /* @__PURE__ */ w(d, { className: "h-4 w-4 text-status-success-text" });
61
+ case "completed": return /* @__PURE__ */ w(f, { className: "h-4 w-4 text-status-success-text" });
39
62
  case "failed": return /* @__PURE__ */ w(C, { className: "h-4 w-4 text-status-error-text" });
40
63
  case "refunded": return /* @__PURE__ */ w(_, { className: "h-4 w-4 text-text-primary" });
41
- default: return /* @__PURE__ */ w(u, { className: "h-4 w-4 text-status-warning-text" });
64
+ default: return /* @__PURE__ */ w(d, { className: "h-4 w-4 text-status-warning-text" });
42
65
  }
43
- }, K = c(() => k.filter((e) => {
44
- let t = !N || e.id.toLowerCase().includes(N.toLowerCase()) || e.cartName.toLowerCase().includes(N.toLowerCase()), n = F === "all" || e.status === F;
66
+ }, Z = l(() => j.filter((e) => {
67
+ let t = !F || e.id.toLowerCase().includes(F.toLowerCase()) || e.cartName.toLowerCase().includes(F.toLowerCase()), n = L === "all" || e.status === L;
45
68
  return t && n;
46
69
  }), [
47
- k,
48
- N,
49
- F
50
- ]), q = (e, t) => {
51
- M.mutate({
70
+ j,
71
+ F,
72
+ L
73
+ ]), Q = (e, t) => {
74
+ P.mutate({
52
75
  id: e,
53
76
  status: t.toUpperCase()
54
77
  }, { onSuccess: () => {
55
- R((e) => e && {
78
+ B((e) => e && {
56
79
  ...e,
57
80
  status: t
58
81
  });
59
82
  } });
60
- }, J = (e) => {
83
+ }, $ = (e) => {
61
84
  let t = e.deliveryAddress, n = [
62
85
  t.street,
63
86
  t.area,
@@ -66,7 +89,7 @@ function k() {
66
89
  ].filter(Boolean);
67
90
  return n.length > 0 ? n.join(", ") : "—";
68
91
  };
69
- return A ? /* @__PURE__ */ w(t, {
92
+ return M ? /* @__PURE__ */ w(t, {
70
93
  title: "Order Management",
71
94
  description: "Loading orders...",
72
95
  children: /* @__PURE__ */ T("div", {
@@ -78,42 +101,58 @@ function k() {
78
101
  })
79
102
  }) : /* @__PURE__ */ T(t, {
80
103
  title: "Order Management",
81
- description: `${j?.totalOrders ?? k.length} total orders on the platform`,
104
+ description: `${N?.totalOrders ?? j.length} total orders on the platform`,
82
105
  children: [
83
106
  /* @__PURE__ */ w(D, {
84
107
  className: "mb-6",
85
108
  children: "Every order placed across Kadaikodi in one queue. Use this page to keep operations running smoothly — search and filter orders, spot anything pending or stuck, open an order to see its full details, and step in when a customer or cart needs help. The metrics up top give you a live read on volume, revenue and what's awaiting action."
86
109
  }),
87
- j && /* @__PURE__ */ T(E, {
88
- className: "mb-6",
89
- children: [/* @__PURE__ */ w("h2", {
90
- className: "mb-4 text-lg font-semibold text-text-primary",
91
- children: "Orders at a Glance"
92
- }), /* @__PURE__ */ T("div", {
93
- className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",
110
+ N && /* @__PURE__ */ T("div", {
111
+ className: "mb-6 grid grid-cols-1 gap-4 lg:grid-cols-3",
112
+ children: [/* @__PURE__ */ T("div", {
113
+ className: "grid grid-cols-2 gap-4 lg:col-span-2",
94
114
  children: [
95
- /* @__PURE__ */ w(n, {
96
- icon: /* @__PURE__ */ w(y, { className: "h-5 w-5" }),
97
- value: (j.totalOrders ?? 0).toLocaleString("en-IN"),
98
- label: "Total Orders"
115
+ /* @__PURE__ */ w(c, {
116
+ label: "Total Orders",
117
+ value: (N.totalOrders ?? 0).toLocaleString("en-IN"),
118
+ icon: /* @__PURE__ */ w(y, { className: "h-4 w-4" }),
119
+ sparkline: K,
120
+ sparklineVariant: "area"
99
121
  }),
100
- /* @__PURE__ */ w(n, {
101
- icon: /* @__PURE__ */ w(m, { className: "h-5 w-5" }),
102
- value: V(j.totalRevenue),
103
- label: "Total Revenue"
122
+ /* @__PURE__ */ w(c, {
123
+ label: "Total Revenue",
124
+ value: U(N.totalRevenue),
125
+ icon: /* @__PURE__ */ w(m, { className: "h-4 w-4" }),
126
+ sparkline: q,
127
+ sparklineVariant: "area"
104
128
  }),
105
- /* @__PURE__ */ w(n, {
106
- icon: /* @__PURE__ */ w(x, { className: "h-5 w-5" }),
107
- value: V(U),
108
- label: "Avg Order Value"
129
+ /* @__PURE__ */ w(c, {
130
+ label: "Avg Order Value",
131
+ value: U(G),
132
+ icon: /* @__PURE__ */ w(x, { className: "h-4 w-4" })
109
133
  }),
110
- /* @__PURE__ */ w(n, {
111
- icon: /* @__PURE__ */ w(f, { className: "h-5 w-5" }),
112
- value: (j.pendingOrders ?? 0).toLocaleString("en-IN"),
134
+ /* @__PURE__ */ w(c, {
113
135
  label: "Pending Orders",
114
- trendValue: "Awaiting action"
136
+ value: (N.pendingOrders ?? 0).toLocaleString("en-IN"),
137
+ icon: /* @__PURE__ */ w(ee, { className: "h-4 w-4" })
115
138
  })
116
139
  ]
140
+ }), /* @__PURE__ */ T(E, {
141
+ treatment: "plain",
142
+ className: "p-6",
143
+ children: [/* @__PURE__ */ w("h3", {
144
+ className: "mb-4 text-base font-semibold text-text-primary",
145
+ children: "Order Status"
146
+ }), J.length > 0 ? /* @__PURE__ */ w(s, {
147
+ segments: J,
148
+ size: 140,
149
+ centerLabel: j.length.toLocaleString("en-IN"),
150
+ centerCaption: "orders",
151
+ valueFormatter: (e) => e.toLocaleString("en-IN")
152
+ }) : /* @__PURE__ */ w("p", {
153
+ className: "text-sm text-text-secondary",
154
+ children: "Status mix will appear here."
155
+ })]
117
156
  })]
118
157
  }),
119
158
  /* @__PURE__ */ w("div", {
@@ -125,18 +164,18 @@ function k() {
125
164
  children: [/* @__PURE__ */ w(v, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ w("input", {
126
165
  type: "text",
127
166
  placeholder: "Search by order ID or cart name...",
128
- value: N,
129
- onChange: (e) => P(e.target.value),
167
+ value: F,
168
+ onChange: (e) => I(e.target.value),
130
169
  className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-4 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
131
170
  })]
132
171
  }), /* @__PURE__ */ T("select", {
133
- value: F,
134
- onChange: (e) => I(e.target.value),
172
+ value: L,
173
+ onChange: (e) => R(e.target.value),
135
174
  className: "rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
136
175
  children: [/* @__PURE__ */ w("option", {
137
176
  value: "all",
138
177
  children: "All Status"
139
- }), O.map((e) => /* @__PURE__ */ w("option", {
178
+ }), A.map((e) => /* @__PURE__ */ w("option", {
140
179
  value: e,
141
180
  children: e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase())
142
181
  }, e))]
@@ -148,7 +187,7 @@ function k() {
148
187
  children: [
149
188
  /* @__PURE__ */ w("div", {
150
189
  className: "block md:hidden space-y-4 p-4",
151
- children: K.map((t) => /* @__PURE__ */ T("div", {
190
+ children: Z.map((t) => /* @__PURE__ */ T("div", {
152
191
  className: "rounded-lg border border-border-subtle bg-bg-sunken/30 p-4",
153
192
  children: [
154
193
  /* @__PURE__ */ T("div", {
@@ -158,9 +197,9 @@ function k() {
158
197
  children: t.cartName
159
198
  }), /* @__PURE__ */ w("p", {
160
199
  className: "text-sm text-text-secondary",
161
- children: H(t.orderDate)
200
+ children: W(t.orderDate)
162
201
  })] }), /* @__PURE__ */ w("span", {
163
- className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", W(t.status)),
202
+ className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", Y(t.status)),
164
203
  children: t.status.replace(/_/g, " ")
165
204
  })]
166
205
  }),
@@ -187,10 +226,10 @@ function k() {
187
226
  children: "Amount"
188
227
  }), /* @__PURE__ */ w("p", {
189
228
  className: "text-text-primary font-semibold text-lg",
190
- children: V(t.total)
229
+ children: U(t.total)
191
230
  })] }), /* @__PURE__ */ T("div", {
192
231
  className: "flex items-center gap-2",
193
- children: [G(t.paymentStatus), /* @__PURE__ */ T("div", {
232
+ children: [X(t.paymentStatus), /* @__PURE__ */ T("div", {
194
233
  className: "text-right",
195
234
  children: [/* @__PURE__ */ w("p", {
196
235
  className: "text-sm text-text-primary",
@@ -205,7 +244,7 @@ function k() {
205
244
  /* @__PURE__ */ T("button", {
206
245
  type: "button",
207
246
  onClick: () => {
208
- R(t), B(!0);
247
+ B(t), H(!0);
209
248
  },
210
249
  className: "w-full rounded-lg border border-border-subtle py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors flex items-center justify-center gap-2",
211
250
  children: [/* @__PURE__ */ w(p, { className: "h-4 w-4" }), " View Details"]
@@ -255,7 +294,7 @@ function k() {
255
294
  ]
256
295
  }) }), /* @__PURE__ */ w("tbody", {
257
296
  className: "divide-y divide-border",
258
- children: K.map((t) => /* @__PURE__ */ T("tr", {
297
+ children: Z.map((t) => /* @__PURE__ */ T("tr", {
259
298
  className: "hover:bg-accent/50 transition-colors",
260
299
  children: [
261
300
  /* @__PURE__ */ w("td", {
@@ -275,12 +314,12 @@ function k() {
275
314
  }),
276
315
  /* @__PURE__ */ w("td", {
277
316
  className: "px-4 py-3 text-sm font-semibold text-text-primary",
278
- children: V(t.total)
317
+ children: U(t.total)
279
318
  }),
280
319
  /* @__PURE__ */ w("td", {
281
320
  className: "px-4 py-3",
282
321
  children: /* @__PURE__ */ w("span", {
283
- className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", W(t.status)),
322
+ className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", Y(t.status)),
284
323
  children: t.status.replace(/_/g, " ")
285
324
  })
286
325
  }),
@@ -288,7 +327,7 @@ function k() {
288
327
  className: "px-4 py-3",
289
328
  children: /* @__PURE__ */ T("div", {
290
329
  className: "flex items-center gap-2",
291
- children: [G(t.paymentStatus), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("div", {
330
+ children: [X(t.paymentStatus), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("div", {
292
331
  className: "text-sm text-text-primary",
293
332
  children: t.paymentMethod
294
333
  }), /* @__PURE__ */ w("div", {
@@ -299,14 +338,14 @@ function k() {
299
338
  }),
300
339
  /* @__PURE__ */ w("td", {
301
340
  className: "px-4 py-3 text-sm text-text-secondary",
302
- children: H(t.orderDate)
341
+ children: W(t.orderDate)
303
342
  }),
304
343
  /* @__PURE__ */ w("td", {
305
344
  className: "px-4 py-3",
306
345
  children: /* @__PURE__ */ w("button", {
307
346
  type: "button",
308
347
  onClick: () => {
309
- R(t), B(!0);
348
+ B(t), H(!0);
310
349
  },
311
350
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-accent transition-colors",
312
351
  children: /* @__PURE__ */ w(p, { className: "h-4 w-4" })
@@ -317,14 +356,14 @@ function k() {
317
356
  })]
318
357
  })
319
358
  }),
320
- K.length === 0 && /* @__PURE__ */ w(r, {
359
+ Z.length === 0 && /* @__PURE__ */ w(n, {
321
360
  illustration: "empty-search",
322
- title: k.length === 0 ? "No orders yet" : "No orders found",
323
- description: k.length === 0 ? "Orders placed across the platform will appear here as they come in." : "No orders match your current search and filters. Try a different status or search term.",
324
- action: k.length > 0 ? /* @__PURE__ */ w("button", {
361
+ title: j.length === 0 ? "No orders yet" : "No orders found",
362
+ description: j.length === 0 ? "Orders placed across the platform will appear here as they come in." : "No orders match your current search and filters. Try a different status or search term.",
363
+ action: j.length > 0 ? /* @__PURE__ */ w("button", {
325
364
  type: "button",
326
365
  onClick: () => {
327
- P(""), I("all");
366
+ I(""), R("all");
328
367
  },
329
368
  className: "rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
330
369
  children: "Clear filters"
@@ -332,7 +371,7 @@ function k() {
332
371
  })
333
372
  ]
334
373
  }),
335
- z && L && /* @__PURE__ */ w("div", {
374
+ V && z && /* @__PURE__ */ w("div", {
336
375
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
337
376
  children: /* @__PURE__ */ T("div", {
338
377
  className: "w-full max-w-2xl rounded-lg border border-border-subtle bg-bg-surface shadow-lg max-h-[90vh] overflow-y-auto",
@@ -343,7 +382,7 @@ function k() {
343
382
  children: "Order Details"
344
383
  }), /* @__PURE__ */ w("button", {
345
384
  type: "button",
346
- onClick: () => B(!1),
385
+ onClick: () => H(!1),
347
386
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-accent transition-colors",
348
387
  children: /* @__PURE__ */ w(S, { className: "h-5 w-5" })
349
388
  })]
@@ -361,28 +400,28 @@ function k() {
361
400
  children: "Order ID"
362
401
  }), /* @__PURE__ */ w("p", {
363
402
  className: "font-medium text-text-primary font-mono text-sm break-all",
364
- children: L.id
403
+ children: z.id
365
404
  })] }),
366
405
  /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
367
406
  className: "text-sm text-text-secondary",
368
407
  children: "Status"
369
408
  }), /* @__PURE__ */ w("span", {
370
- className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", W(L.status)),
371
- children: L.status.replace(/_/g, " ")
409
+ className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", Y(z.status)),
410
+ children: z.status.replace(/_/g, " ")
372
411
  })] }),
373
412
  /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
374
413
  className: "text-sm text-text-secondary",
375
414
  children: "Order Date"
376
415
  }), /* @__PURE__ */ w("p", {
377
416
  className: "font-medium text-text-primary",
378
- children: H(L.orderDate)
417
+ children: W(z.orderDate)
379
418
  })] }),
380
- L.estimatedDeliveryTime && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
419
+ z.estimatedDeliveryTime && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
381
420
  className: "text-sm text-text-secondary",
382
421
  children: "Estimated Delivery"
383
422
  }), /* @__PURE__ */ w("p", {
384
423
  className: "font-medium text-text-primary",
385
- children: H(L.estimatedDeliveryTime)
424
+ children: W(z.estimatedDeliveryTime)
386
425
  })] })
387
426
  ]
388
427
  })] }),
@@ -391,23 +430,23 @@ function k() {
391
430
  children: [/* @__PURE__ */ w(b, { className: "h-4 w-4" }), " Cart"]
392
431
  }), /* @__PURE__ */ w("p", {
393
432
  className: "font-medium text-text-primary",
394
- children: L.cartName
433
+ children: z.cartName
395
434
  })] }),
396
- J(L) !== "—" && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
435
+ $(z) !== "—" && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
397
436
  className: "font-semibold text-text-primary mb-3",
398
437
  children: "Delivery Address"
399
438
  }), /* @__PURE__ */ T("p", {
400
439
  className: "font-medium text-text-primary flex items-start gap-1",
401
- children: [/* @__PURE__ */ w(g, { className: "h-3 w-3 mt-1 shrink-0" }), J(L)]
440
+ children: [/* @__PURE__ */ w(g, { className: "h-3 w-3 mt-1 shrink-0" }), $(z)]
402
441
  })] }),
403
442
  /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
404
443
  className: "font-semibold text-text-primary mb-3",
405
444
  children: "Order Items"
406
445
  }), /* @__PURE__ */ T("div", {
407
446
  className: "rounded-lg bg-bg-sunken/50 p-4",
408
- children: [L.items.length > 0 ? /* @__PURE__ */ w("ul", {
447
+ children: [z.items.length > 0 ? /* @__PURE__ */ w("ul", {
409
448
  className: "space-y-2",
410
- children: L.items.map((e) => /* @__PURE__ */ T("li", {
449
+ children: z.items.map((e) => /* @__PURE__ */ T("li", {
411
450
  className: "flex justify-between text-sm text-text-primary",
412
451
  children: [/* @__PURE__ */ T("span", { children: [
413
452
  e.name,
@@ -415,7 +454,7 @@ function k() {
415
454
  e.quantity
416
455
  ] }), /* @__PURE__ */ w("span", {
417
456
  className: "font-medium",
418
- children: V(e.price * e.quantity)
457
+ children: U(e.price * e.quantity)
419
458
  })]
420
459
  }, e.id))
421
460
  }) : /* @__PURE__ */ w("p", {
@@ -426,23 +465,23 @@ function k() {
426
465
  children: [
427
466
  /* @__PURE__ */ T("div", {
428
467
  className: "flex justify-between text-text-secondary",
429
- children: [/* @__PURE__ */ w("span", { children: "Subtotal" }), /* @__PURE__ */ w("span", { children: V(L.subtotal) })]
468
+ children: [/* @__PURE__ */ w("span", { children: "Subtotal" }), /* @__PURE__ */ w("span", { children: U(z.subtotal) })]
430
469
  }),
431
470
  /* @__PURE__ */ T("div", {
432
471
  className: "flex justify-between text-text-secondary",
433
- children: [/* @__PURE__ */ w("span", { children: "Taxes" }), /* @__PURE__ */ w("span", { children: V(L.taxes) })]
472
+ children: [/* @__PURE__ */ w("span", { children: "Taxes" }), /* @__PURE__ */ w("span", { children: U(z.taxes) })]
434
473
  }),
435
474
  /* @__PURE__ */ T("div", {
436
475
  className: "flex justify-between text-text-secondary",
437
- children: [/* @__PURE__ */ w("span", { children: "Delivery Fee" }), /* @__PURE__ */ w("span", { children: V(L.deliveryFee) })]
476
+ children: [/* @__PURE__ */ w("span", { children: "Delivery Fee" }), /* @__PURE__ */ w("span", { children: U(z.deliveryFee) })]
438
477
  }),
439
- L.discount ? /* @__PURE__ */ T("div", {
478
+ z.discount ? /* @__PURE__ */ T("div", {
440
479
  className: "flex justify-between text-text-secondary",
441
- children: [/* @__PURE__ */ w("span", { children: "Discount" }), /* @__PURE__ */ T("span", { children: ["-", V(L.discount)] })]
480
+ children: [/* @__PURE__ */ w("span", { children: "Discount" }), /* @__PURE__ */ T("span", { children: ["-", U(z.discount)] })]
442
481
  }) : null,
443
482
  /* @__PURE__ */ T("div", {
444
483
  className: "flex justify-between pt-2 border-t border-border-subtle font-semibold text-text-primary text-base",
445
- children: [/* @__PURE__ */ w("span", { children: "Total" }), /* @__PURE__ */ w("span", { children: V(L.total) })]
484
+ children: [/* @__PURE__ */ w("span", { children: "Total" }), /* @__PURE__ */ w("span", { children: U(z.total) })]
446
485
  })
447
486
  ]
448
487
  })]
@@ -457,38 +496,38 @@ function k() {
457
496
  children: "Method"
458
497
  }), /* @__PURE__ */ w("p", {
459
498
  className: "font-medium text-text-primary",
460
- children: L.paymentMethod
499
+ children: z.paymentMethod
461
500
  })] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
462
501
  className: "text-sm text-text-secondary",
463
502
  children: "Status"
464
503
  }), /* @__PURE__ */ T("div", {
465
504
  className: "flex items-center gap-2",
466
- children: [G(L.paymentStatus), /* @__PURE__ */ w("span", {
505
+ children: [X(z.paymentStatus), /* @__PURE__ */ w("span", {
467
506
  className: "font-medium text-text-primary capitalize",
468
- children: L.paymentStatus
507
+ children: z.paymentStatus
469
508
  })]
470
509
  })] })]
471
510
  })] }),
472
- L.customerNotes && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
511
+ z.customerNotes && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
473
512
  className: "font-semibold text-text-primary mb-3",
474
513
  children: "Special Instructions"
475
514
  }), /* @__PURE__ */ w("p", {
476
515
  className: "text-sm rounded-lg bg-bg-sunken/50 p-3 text-text-primary",
477
- children: L.customerNotes
516
+ children: z.customerNotes
478
517
  })] }),
479
518
  /* @__PURE__ */ T("div", {
480
519
  className: "flex flex-col sm:flex-row sm:justify-end gap-3 pt-2",
481
520
  children: [/* @__PURE__ */ w("button", {
482
521
  type: "button",
483
- onClick: () => B(!1),
522
+ onClick: () => H(!1),
484
523
  className: "rounded-lg border border-border-subtle py-2 px-4 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
485
524
  children: "Close"
486
- }), L.status !== "delivered" && L.status !== "cancelled" && /* @__PURE__ */ w("select", {
487
- disabled: M.isPending,
525
+ }), z.status !== "delivered" && z.status !== "cancelled" && /* @__PURE__ */ w("select", {
526
+ disabled: P.isPending,
488
527
  className: "rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] disabled:opacity-50",
489
- value: L.status,
490
- onChange: (e) => q(L.id, e.target.value),
491
- children: O.map((e) => /* @__PURE__ */ w("option", {
528
+ value: z.status,
529
+ onChange: (e) => Q(z.id, e.target.value),
530
+ children: A.map((e) => /* @__PURE__ */ w("option", {
492
531
  value: e,
493
532
  children: e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase())
494
533
  }, e))
@@ -502,6 +541,6 @@ function k() {
502
541
  });
503
542
  }
504
543
  //#endregion
505
- export { k as AdminOrdersPage };
544
+ export { j as AdminOrdersPage };
506
545
 
507
546
  //# sourceMappingURL=AdminOrdersPage.js.map