@burdenoff/microfe-kadaikodi 2026.704.1 → 2026.704.2

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 (76) hide show
  1. package/dist/kadaikodi/hooks/useKadaikodiApi.js +77 -26
  2. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  3. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
  4. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  5. package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
  6. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  7. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
  8. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  9. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
  10. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  11. package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
  12. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  13. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
  14. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  15. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  16. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  17. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
  18. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  19. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
  20. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  21. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +323 -422
  22. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  23. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -383
  24. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  25. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
  26. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  27. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +1 -1
  28. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  29. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +1 -1
  30. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  31. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
  32. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  33. package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
  34. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  35. package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
  36. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  37. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  38. package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
  39. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  40. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
  41. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  42. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
  43. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  44. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  45. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  46. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  47. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
  48. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
  49. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  50. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
  51. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  52. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
  53. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  54. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +232 -343
  55. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  56. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
  57. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  58. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +127 -294
  59. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  60. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +204 -290
  61. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  62. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
  63. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  64. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +399 -487
  65. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  66. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +13 -13
  67. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  68. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +192 -296
  69. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  70. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +245 -397
  71. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  72. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +85 -117
  73. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  74. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +177 -395
  75. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  76. package/package.json +1 -1
@@ -2,108 +2,22 @@ import { useKadaikodi as e } from "../../context/KadaikodiContext.js";
2
2
  import { cn as t } from "../../utils/cn.js";
3
3
  import { PageLayout as n } from "../../components/PageLayout.js";
4
4
  import { MetricsCard as r } from "../../components/MetricsCard.js";
5
- import { useEffect as i, useState as a } from "react";
6
- import { Activity as o, AlertTriangle as s, ArrowRight as c, BarChart3 as l, CheckCircle2 as u, Clock as d, CreditCard as f, Database as p, FileText as m, IndianRupee as h, Loader2 as g, Server as _, Settings as v, ShieldCheck as y, ShoppingBag as b, Store as x, UserPlus as S, Users as C, Wifi as w } from "lucide-react";
5
+ import { EmptyState as i } from "../../components/EmptyState.js";
6
+ import { useAdminAnalytics as a, useDashboardStats as o, useOrders as s, useProviders as c } from "../../hooks/useKadaikodiApi.js";
7
+ import { formatCurrency as l, formatRelativeTime as u } from "../../utils/formatters.js";
8
+ import { useMemo as d } from "react";
9
+ import { Activity as f, AlertTriangle as p, ArrowRight as m, Award as h, BarChart3 as g, FileText as _, IndianRupee as v, Loader2 as y, Settings as b, ShoppingBag as x, Star as S, Store as C, Users as w } from "lucide-react";
7
10
  import { jsx as T, jsxs as E } from "react/jsx-runtime";
8
11
  import { CTAOverflowMenu as D, EmphasisPanel as O, NextSteps as k, PagePurpose as A } from "@burdenoff/fe-libs/ui";
9
12
  //#region src/kadaikodi/pages/admin/AdminDashboard.tsx
10
13
  function j() {
11
- let { navigateTo: j, currentUser: M } = e(), N = M?.firstName ?? M?.name ?? "Admin", [P, F] = a(null), [I, L] = a([]), [R, z] = a(null), [B, V] = a(!0);
12
- i(() => {
13
- let e = setTimeout(() => {
14
- F({
15
- totalUsers: 12847,
16
- totalCarts: 2934,
17
- totalOrders: 45621,
18
- totalInvestments: 1256,
19
- activeUsers: 8934,
20
- pendingApprovals: 47,
21
- totalRevenue: 245e4,
22
- platformCommission: 122500
23
- }), z({
24
- customers: 8934,
25
- cartOwners: 2456,
26
- workers: 1245,
27
- investors: 212,
28
- growth: 15.7
29
- }), L([
30
- {
31
- id: "ACT-001",
32
- type: "user_registration",
33
- description: "New cart owner registered: Rajesh Kumar",
34
- timestamp: "2 minutes ago",
35
- status: "completed",
36
- user: "Rajesh Kumar"
37
- },
38
- {
39
- id: "ACT-002",
40
- type: "cart_approval",
41
- description: "Cart approval request from Mumbai Chaat Corner",
42
- timestamp: "5 minutes ago",
43
- status: "pending",
44
- user: "Priya Sharma"
45
- },
46
- {
47
- id: "ACT-003",
48
- type: "investment",
49
- description: "New investment in Dosa Express",
50
- timestamp: "12 minutes ago",
51
- status: "completed",
52
- user: "Amit Patel",
53
- amount: 75e3
54
- },
55
- {
56
- id: "ACT-004",
57
- type: "order",
58
- description: "Large order placed: ₹2,500",
59
- timestamp: "18 minutes ago",
60
- status: "completed",
61
- amount: 2500
62
- },
63
- {
64
- id: "ACT-005",
65
- type: "dispute",
66
- description: "Payment dispute raised by customer",
67
- timestamp: "25 minutes ago",
68
- status: "pending",
69
- user: "Suresh Nair",
70
- amount: 450
71
- },
72
- {
73
- id: "ACT-006",
74
- type: "user_registration",
75
- description: "New investor registered: Fatima Ali",
76
- timestamp: "32 minutes ago",
77
- status: "completed",
78
- user: "Fatima Ali"
79
- }
80
- ]), V(!1);
81
- }, 1e3);
82
- return () => clearTimeout(e);
83
- }, []);
84
- let H = (e) => /* @__PURE__ */ T({
85
- user_registration: S,
86
- cart_approval: x,
87
- investment: h,
88
- order: b,
89
- dispute: s
90
- }[e] ?? o, { className: "h-4 w-4" }), U = (e) => ({
91
- user_registration: "text-text-primary",
92
- cart_approval: "text-text-primary",
93
- investment: "text-status-success-text",
94
- order: "text-status-success-text",
95
- dispute: "text-status-warning-text"
96
- })[e] ?? "text-text-secondary", W = (e) => ({
97
- completed: "bg-status-success-bg-subtle text-status-success-text",
98
- pending: "bg-status-warning-bg-subtle text-status-warning-text",
99
- failed: "bg-status-error-bg-subtle text-status-error-text"
100
- })[e] ?? "bg-bg-sunken text-text-secondary";
101
- return B ? /* @__PURE__ */ T(n, {
14
+ let { navigateTo: j, currentUser: M } = e(), N = M?.firstName ?? M?.name ?? "Admin", { data: P, isLoading: F } = o(), { data: I = [], isLoading: L } = c(), { data: R = [], isLoading: z } = s({}), { data: B } = a(), V = F || L || z, H = (e) => l(e, { minimumFractionDigits: 0 }), U = d(() => I.filter((e) => !e.isOpen).length, [I]), W = d(() => [...R].sort((e, t) => new Date(t.orderDate).getTime() - new Date(e.orderDate).getTime()).slice(0, 6), [R]), G = (e) => e === "delivered" ? "bg-status-success-bg-subtle text-status-success-text" : e === "cancelled" ? "bg-status-error-bg-subtle text-status-error-text" : "bg-status-warning-bg-subtle text-status-warning-text";
15
+ return V ? /* @__PURE__ */ T(n, {
102
16
  title: "Admin Dashboard",
103
17
  description: "Loading...",
104
18
  children: /* @__PURE__ */ E("div", {
105
19
  className: "flex flex-col items-center justify-center py-20",
106
- children: [/* @__PURE__ */ T(g, { className: "h-10 w-10 animate-spin text-text-secondary mb-4" }), /* @__PURE__ */ T("p", {
20
+ children: [/* @__PURE__ */ T(y, { className: "h-10 w-10 animate-spin text-text-secondary mb-4" }), /* @__PURE__ */ T("p", {
107
21
  className: "text-text-secondary",
108
22
  children: "Loading admin dashboard..."
109
23
  })]
@@ -111,11 +25,11 @@ function j() {
111
25
  }) : /* @__PURE__ */ E(n, {
112
26
  title: "Admin Dashboard",
113
27
  description: `Welcome, ${N}! Monitor and manage the platform.`,
114
- actions: P?.pendingApprovals && P.pendingApprovals > 0 ? /* @__PURE__ */ E("div", {
28
+ actions: U > 0 ? /* @__PURE__ */ E("div", {
115
29
  className: "flex items-center gap-2 rounded-lg border border-status-error-text/30 bg-status-error-bg-subtle px-3 py-2",
116
- children: [/* @__PURE__ */ T(s, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ E("span", {
30
+ children: [/* @__PURE__ */ T(p, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ E("span", {
117
31
  className: "text-sm font-medium text-status-error-text",
118
- children: [P.pendingApprovals, " pending approvals"]
32
+ children: [U, " carts awaiting review"]
119
33
  })]
120
34
  }) : void 0,
121
35
  children: [
@@ -132,7 +46,7 @@ function j() {
132
46
  label: "Review pending cart approvals",
133
47
  description: "Vet and approve new carts waiting to go live.",
134
48
  onClick: () => j("/admin/carts"),
135
- done: !P?.pendingApprovals
49
+ done: U === 0
136
50
  },
137
51
  {
138
52
  id: "users",
@@ -157,47 +71,47 @@ function j() {
157
71
  children: "Quick Actions"
158
72
  }), /* @__PURE__ */ T("p", {
159
73
  className: "mt-1 text-sm text-text-secondary",
160
- children: P?.pendingApprovals ? `${P.pendingApprovals} carts awaiting your approval.` : "All caught up — nothing pending review."
74
+ children: U > 0 ? `${U} carts awaiting your review.` : "All caught up — nothing pending review."
161
75
  })] }), /* @__PURE__ */ T(D, {
162
76
  primary: {
163
- label: `Approve Carts${P?.pendingApprovals ? ` (${P.pendingApprovals})` : ""}`,
164
- icon: /* @__PURE__ */ T(s, { className: "h-4 w-4" }),
77
+ label: `Review Carts${U > 0 ? ` (${U})` : ""}`,
78
+ icon: /* @__PURE__ */ T(C, { className: "h-4 w-4" }),
165
79
  onSelect: () => j("/admin/carts")
166
80
  },
167
81
  actions: [
168
82
  {
169
83
  label: "Manage Carts",
170
- icon: /* @__PURE__ */ T(x, { className: "h-4 w-4" }),
84
+ icon: /* @__PURE__ */ T(C, { className: "h-4 w-4" }),
171
85
  onSelect: () => j("/admin/carts")
172
86
  },
173
87
  {
174
88
  label: "User Management",
175
- icon: /* @__PURE__ */ T(C, { className: "h-4 w-4" }),
89
+ icon: /* @__PURE__ */ T(w, { className: "h-4 w-4" }),
176
90
  onSelect: () => j("/admin/users")
177
91
  },
178
92
  {
179
93
  label: "Order Management",
180
- icon: /* @__PURE__ */ T(b, { className: "h-4 w-4" }),
94
+ icon: /* @__PURE__ */ T(x, { className: "h-4 w-4" }),
181
95
  onSelect: () => j("/admin/orders")
182
96
  },
183
97
  {
184
98
  label: "Financial Analytics",
185
- icon: /* @__PURE__ */ T(h, { className: "h-4 w-4" }),
99
+ icon: /* @__PURE__ */ T(v, { className: "h-4 w-4" }),
186
100
  onSelect: () => j("/admin/financial")
187
101
  },
188
102
  {
189
103
  label: "Analytics",
190
- icon: /* @__PURE__ */ T(l, { className: "h-4 w-4" }),
104
+ icon: /* @__PURE__ */ T(g, { className: "h-4 w-4" }),
191
105
  onSelect: () => j("/admin/analytics")
192
106
  },
193
107
  {
194
108
  label: "Settings",
195
- icon: /* @__PURE__ */ T(v, { className: "h-4 w-4" }),
109
+ icon: /* @__PURE__ */ T(b, { className: "h-4 w-4" }),
196
110
  onSelect: () => j("/admin/settings")
197
111
  },
198
112
  {
199
113
  label: "Reports",
200
- icon: /* @__PURE__ */ T(m, { className: "h-4 w-4" }),
114
+ icon: /* @__PURE__ */ T(_, { className: "h-4 w-4" }),
201
115
  onSelect: () => j("/admin/analytics")
202
116
  }
203
117
  ]
@@ -215,33 +129,25 @@ function j() {
215
129
  className: "grid grid-cols-2 lg:grid-cols-4 gap-4",
216
130
  children: [
217
131
  /* @__PURE__ */ T(r, {
218
- icon: /* @__PURE__ */ T(C, { className: "h-5 w-5" }),
219
- value: P.totalUsers.toLocaleString("en-IN"),
220
- label: "Total Users",
221
- trend: "up",
222
- trendValue: "+15.7%"
132
+ icon: /* @__PURE__ */ T(w, { className: "h-5 w-5" }),
133
+ value: P.activeCustomers.toLocaleString("en-IN"),
134
+ label: "Active Customers"
223
135
  }),
224
136
  /* @__PURE__ */ T(r, {
225
- icon: /* @__PURE__ */ T(x, { className: "h-5 w-5" }),
226
- value: P.totalCarts.toLocaleString("en-IN"),
227
- label: "Active Carts",
228
- trend: "up",
229
- trendValue: "+8 this week"
137
+ icon: /* @__PURE__ */ T(C, { className: "h-5 w-5" }),
138
+ value: P.activeProviders.toLocaleString("en-IN"),
139
+ label: "Active Carts"
230
140
  }),
231
141
  /* @__PURE__ */ T(r, {
232
- icon: /* @__PURE__ */ T(b, { className: "h-5 w-5" }),
142
+ icon: /* @__PURE__ */ T(x, { className: "h-5 w-5" }),
233
143
  value: P.totalOrders.toLocaleString("en-IN"),
234
- label: "Total Orders",
235
- trend: "up",
236
- trendValue: "+12.3%"
144
+ label: "Total Orders"
237
145
  }),
238
146
  /* @__PURE__ */ T(r, {
239
147
  featured: !0,
240
- icon: /* @__PURE__ */ T(h, { className: "h-5 w-5" }),
241
- value: `₹${(P.totalRevenue / 1e5).toFixed(1)}L`,
242
- label: "Total Revenue",
243
- trend: "up",
244
- trendValue: "+8.5%"
148
+ icon: /* @__PURE__ */ T(v, { className: "h-5 w-5" }),
149
+ value: H(P.totalRevenue),
150
+ label: "Total Revenue"
245
151
  })
246
152
  ]
247
153
  }),
@@ -252,199 +158,90 @@ function j() {
252
158
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
253
159
  children: [/* @__PURE__ */ T("p", {
254
160
  className: "text-xs text-text-secondary",
255
- children: "Active Users (24h)"
161
+ children: "Total Carts"
256
162
  }), /* @__PURE__ */ T("p", {
257
- className: "text-xl font-bold text-status-success-text",
258
- children: P.activeUsers.toLocaleString("en-IN")
163
+ className: "text-xl font-bold text-text-primary",
164
+ children: I.length.toLocaleString("en-IN")
259
165
  })]
260
166
  }),
261
167
  /* @__PURE__ */ E("div", {
262
168
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
263
169
  children: [/* @__PURE__ */ T("p", {
264
170
  className: "text-xs text-text-secondary",
265
- children: "Pending Approvals"
171
+ children: "Pending Cart Approvals"
266
172
  }), /* @__PURE__ */ T("p", {
267
173
  className: "text-xl font-bold text-status-error-text",
268
- children: P.pendingApprovals
174
+ children: U.toLocaleString("en-IN")
269
175
  })]
270
176
  }),
271
177
  /* @__PURE__ */ E("div", {
272
178
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
273
179
  children: [/* @__PURE__ */ T("p", {
274
180
  className: "text-xs text-text-secondary",
275
- children: "Total Investments"
181
+ children: "Pending Orders"
276
182
  }), /* @__PURE__ */ T("p", {
277
- className: "text-xl font-bold text-text-primary",
278
- children: P.totalInvestments.toLocaleString("en-IN")
183
+ className: "text-xl font-bold text-status-warning-text",
184
+ children: P.pendingOrders.toLocaleString("en-IN")
279
185
  })]
280
186
  }),
281
187
  /* @__PURE__ */ E("div", {
282
188
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
283
189
  children: [/* @__PURE__ */ T("p", {
284
190
  className: "text-xs text-text-secondary",
285
- children: "Platform Commission"
191
+ children: "Average Rating"
286
192
  }), /* @__PURE__ */ E("p", {
287
- className: "text-xl font-bold text-text-primary",
288
- children: [
289
- "₹",
290
- (P.platformCommission / 1e3).toFixed(0),
291
- "K"
292
- ]
193
+ className: "text-xl font-bold text-text-primary flex items-center gap-1",
194
+ children: [/* @__PURE__ */ T(S, { className: "h-4 w-4 fill-status-warning-text text-status-warning-text" }), P.avgRating > 0 ? P.avgRating.toFixed(1) : "—"]
293
195
  })]
294
196
  })
295
197
  ]
296
198
  })
297
199
  ]
298
200
  }),
299
- R && /* @__PURE__ */ E("div", {
300
- className: "mb-8",
301
- children: [/* @__PURE__ */ T("h2", {
302
- className: "text-lg font-semibold text-text-primary mb-4",
303
- children: "User Distribution"
304
- }), /* @__PURE__ */ E("div", {
305
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
306
- children: [/* @__PURE__ */ E("div", {
307
- className: "grid grid-cols-2 lg:grid-cols-4 gap-6",
308
- children: [
309
- /* @__PURE__ */ E("div", {
310
- className: "text-center",
311
- children: [
312
- /* @__PURE__ */ T("div", {
313
- className: "text-2xl sm:text-3xl font-bold text-text-primary",
314
- children: R.customers.toLocaleString("en-IN")
315
- }),
316
- /* @__PURE__ */ T("div", {
317
- className: "text-sm text-text-secondary",
318
- children: "Customers"
319
- }),
320
- /* @__PURE__ */ T("div", {
321
- className: "text-xs text-text-secondary",
322
- children: "69.5%"
323
- })
324
- ]
325
- }),
326
- /* @__PURE__ */ E("div", {
327
- className: "text-center",
328
- children: [
329
- /* @__PURE__ */ T("div", {
330
- className: "text-2xl sm:text-3xl font-bold text-status-success-text",
331
- children: R.cartOwners.toLocaleString("en-IN")
332
- }),
333
- /* @__PURE__ */ T("div", {
334
- className: "text-sm text-text-secondary",
335
- children: "Cart Owners"
336
- }),
337
- /* @__PURE__ */ T("div", {
338
- className: "text-xs text-text-secondary",
339
- children: "19.1%"
340
- })
341
- ]
342
- }),
343
- /* @__PURE__ */ E("div", {
344
- className: "text-center",
345
- children: [
346
- /* @__PURE__ */ T("div", {
347
- className: "text-2xl sm:text-3xl font-bold text-status-warning-text",
348
- children: R.workers.toLocaleString("en-IN")
349
- }),
350
- /* @__PURE__ */ T("div", {
351
- className: "text-sm text-text-secondary",
352
- children: "Workers"
353
- }),
354
- /* @__PURE__ */ T("div", {
355
- className: "text-xs text-text-secondary",
356
- children: "9.7%"
357
- })
358
- ]
359
- }),
360
- /* @__PURE__ */ E("div", {
361
- className: "text-center",
362
- children: [
363
- /* @__PURE__ */ T("div", {
364
- className: "text-2xl sm:text-3xl font-bold text-text-primary",
365
- children: R.investors.toLocaleString("en-IN")
366
- }),
367
- /* @__PURE__ */ T("div", {
368
- className: "text-sm text-text-secondary",
369
- children: "Investors"
370
- }),
371
- /* @__PURE__ */ T("div", {
372
- className: "text-xs text-text-secondary",
373
- children: "1.7%"
374
- })
375
- ]
376
- })
377
- ]
378
- }), /* @__PURE__ */ T("div", {
379
- className: "mt-4 pt-4 border-t border-border-subtle",
380
- children: /* @__PURE__ */ E("div", {
381
- className: "flex justify-between items-center",
382
- children: [/* @__PURE__ */ T("span", {
383
- className: "text-sm text-text-secondary",
384
- children: "User Growth (This Month)"
385
- }), /* @__PURE__ */ E("span", {
386
- className: "text-sm font-medium text-status-success-text",
387
- children: [
388
- "+",
389
- R.growth,
390
- "%"
391
- ]
392
- })]
393
- })
394
- })]
395
- })]
396
- }),
397
201
  /* @__PURE__ */ E("div", {
398
202
  className: "mb-8",
399
203
  children: [/* @__PURE__ */ E("div", {
400
204
  className: "flex items-center justify-between mb-4",
401
205
  children: [/* @__PURE__ */ T("h2", {
402
206
  className: "text-lg font-semibold text-text-primary",
403
- children: "Recent Platform Activity"
207
+ children: "Recent Orders"
404
208
  }), /* @__PURE__ */ E("button", {
405
209
  type: "button",
406
- onClick: () => j("/admin/analytics"),
210
+ onClick: () => j("/admin/orders"),
407
211
  className: "flex items-center gap-1 text-sm font-medium text-text-secondary hover:text-text-primary transition-colors",
408
- children: ["View all activities", /* @__PURE__ */ T(c, { className: "h-4 w-4" })]
212
+ children: ["View all orders", /* @__PURE__ */ T(m, { className: "h-4 w-4" })]
409
213
  })]
410
- }), /* @__PURE__ */ T("div", {
214
+ }), W.length > 0 ? /* @__PURE__ */ T("div", {
411
215
  className: "rounded-lg border border-border-subtle bg-bg-surface divide-y divide-border",
412
- children: I.map((e) => /* @__PURE__ */ E("div", {
216
+ children: W.map((e) => /* @__PURE__ */ E("div", {
413
217
  className: "flex items-start gap-3 px-4 py-3",
414
218
  children: [/* @__PURE__ */ T("div", {
415
- className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken mt-0.5", U(e.type)),
416
- children: H(e.type)
219
+ className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken mt-0.5 text-text-secondary",
220
+ children: /* @__PURE__ */ T(x, { className: "h-4 w-4" })
417
221
  }), /* @__PURE__ */ E("div", {
418
222
  className: "flex-1 min-w-0",
419
223
  children: [/* @__PURE__ */ E("div", {
420
224
  className: "flex flex-col sm:flex-row sm:items-center justify-between gap-2",
421
- children: [/* @__PURE__ */ T("p", {
225
+ children: [/* @__PURE__ */ E("p", {
422
226
  className: "text-sm font-medium text-text-primary",
423
- children: e.description
227
+ children: ["Order from ", e.cartName]
424
228
  }), /* @__PURE__ */ T("span", {
425
- className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit", W(e.status)),
426
- children: e.status
229
+ className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit", G(e.status)),
230
+ children: e.status.replace(/_/g, " ")
427
231
  })]
428
232
  }), /* @__PURE__ */ E("div", {
429
233
  className: "flex flex-wrap items-center mt-1 text-xs text-text-secondary gap-3",
430
- children: [
431
- /* @__PURE__ */ T("span", { children: e.timestamp }),
432
- e.user && /* @__PURE__ */ E("span", {
433
- className: "flex items-center gap-1",
434
- children: [/* @__PURE__ */ T(C, { className: "h-3 w-3" }), e.user]
435
- }),
436
- e.amount && /* @__PURE__ */ E("span", {
437
- className: "flex items-center gap-1",
438
- children: [
439
- /* @__PURE__ */ T(h, { className: "h-3 w-3" }),
440
- "₹",
441
- e.amount.toLocaleString("en-IN")
442
- ]
443
- })
444
- ]
234
+ children: [/* @__PURE__ */ T("span", { children: u(e.orderDate) }), /* @__PURE__ */ E("span", {
235
+ className: "flex items-center gap-1",
236
+ children: [/* @__PURE__ */ T(v, { className: "h-3 w-3" }), e.total.toLocaleString("en-IN")]
237
+ })]
445
238
  })]
446
239
  })]
447
240
  }, e.id))
241
+ }) : /* @__PURE__ */ T(i, {
242
+ illustration: "empty-data",
243
+ title: "No orders yet",
244
+ description: "Orders placed across the platform will appear here as they come in."
448
245
  })]
449
246
  }),
450
247
  /* @__PURE__ */ E("div", {
@@ -453,79 +250,28 @@ function j() {
453
250
  className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
454
251
  children: [/* @__PURE__ */ E("div", {
455
252
  className: "flex items-center gap-2 mb-4",
456
- children: [/* @__PURE__ */ T(y, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
253
+ children: [/* @__PURE__ */ T(g, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
457
254
  className: "text-lg font-semibold text-text-primary",
458
- children: "System Health"
255
+ children: "Revenue by Category"
459
256
  })]
460
- }), /* @__PURE__ */ E("div", {
461
- className: "space-y-4",
462
- children: [
463
- /* @__PURE__ */ E("div", {
464
- className: "flex items-center justify-between",
465
- children: [/* @__PURE__ */ E("div", {
466
- className: "flex items-center gap-3",
467
- children: [/* @__PURE__ */ T(_, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
468
- className: "text-sm text-text-secondary",
469
- children: "Server Status"
470
- })]
471
- }), /* @__PURE__ */ E("span", {
472
- className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-xs font-medium text-status-success-text",
473
- children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Healthy"]
474
- })]
475
- }),
476
- /* @__PURE__ */ E("div", {
477
- className: "flex items-center justify-between",
478
- children: [/* @__PURE__ */ E("div", {
479
- className: "flex items-center gap-3",
480
- children: [/* @__PURE__ */ T(p, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
481
- className: "text-sm text-text-secondary",
482
- children: "Database Performance"
483
- })]
484
- }), /* @__PURE__ */ E("span", {
485
- className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-xs font-medium text-status-success-text",
486
- children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Optimal"]
487
- })]
488
- }),
489
- /* @__PURE__ */ E("div", {
490
- className: "flex items-center justify-between",
491
- children: [/* @__PURE__ */ E("div", {
492
- className: "flex items-center gap-3",
493
- children: [/* @__PURE__ */ T(f, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
494
- className: "text-sm text-text-secondary",
495
- children: "Payment Gateway"
496
- })]
497
- }), /* @__PURE__ */ E("span", {
498
- className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-xs font-medium text-status-success-text",
499
- children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Online"]
500
- })]
501
- }),
502
- /* @__PURE__ */ E("div", {
503
- className: "flex items-center justify-between",
504
- children: [/* @__PURE__ */ E("div", {
505
- className: "flex items-center gap-3",
506
- children: [/* @__PURE__ */ T(w, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
507
- className: "text-sm text-text-secondary",
508
- children: "API Response Time"
509
- })]
510
- }), /* @__PURE__ */ T("span", {
511
- className: "text-sm font-medium text-text-primary",
512
- children: "145ms"
513
- })]
514
- }),
515
- /* @__PURE__ */ E("div", {
516
- className: "flex items-center justify-between",
517
- children: [/* @__PURE__ */ E("div", {
518
- className: "flex items-center gap-3",
519
- children: [/* @__PURE__ */ T(d, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
520
- className: "text-sm text-text-secondary",
521
- children: "Uptime (30 days)"
522
- })]
523
- }), /* @__PURE__ */ T("span", {
524
- className: "text-sm font-medium text-text-primary",
525
- children: "99.8%"
526
- })]
527
- })
528
- ]
257
+ }), B && B.revenueByCategory.length > 0 ? /* @__PURE__ */ T("div", {
258
+ className: "space-y-3",
259
+ children: B.revenueByCategory.map((e) => /* @__PURE__ */ E("div", {
260
+ className: "flex items-center justify-between rounded-lg bg-bg-sunken/50 p-3",
261
+ children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
262
+ className: "text-sm font-medium text-text-primary capitalize",
263
+ children: e.category
264
+ }), /* @__PURE__ */ E("p", {
265
+ className: "text-xs text-text-secondary",
266
+ children: [e.orders.toLocaleString("en-IN"), " orders"]
267
+ })] }), /* @__PURE__ */ T("p", {
268
+ className: "text-sm font-semibold text-text-primary",
269
+ children: H(e.revenue)
270
+ })]
271
+ }, e.category))
272
+ }) : /* @__PURE__ */ T("p", {
273
+ className: "text-sm text-text-secondary",
274
+ children: "Category revenue will appear here once orders are recorded."
529
275
  })]
530
276
  }), /* @__PURE__ */ E("div", {
531
277
  className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
@@ -533,62 +279,32 @@ function j() {
533
279
  className: "flex items-center gap-2 mb-4",
534
280
  children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
535
281
  className: "text-lg font-semibold text-text-primary",
536
- children: "Financial Overview"
282
+ children: "Top Carts"
537
283
  })]
538
- }), /* @__PURE__ */ E("div", {
284
+ }), B && B.topProviders.length > 0 ? /* @__PURE__ */ T("div", {
539
285
  className: "space-y-3",
540
- children: [
541
- /* @__PURE__ */ E("div", {
542
- className: "flex justify-between",
543
- children: [/* @__PURE__ */ T("span", {
544
- className: "text-sm text-text-secondary",
545
- children: "Today's Revenue"
546
- }), /* @__PURE__ */ T("span", {
547
- className: "font-medium text-text-primary",
548
- children: "₹1,45,230"
549
- })]
550
- }),
551
- /* @__PURE__ */ E("div", {
552
- className: "flex justify-between",
553
- children: [/* @__PURE__ */ T("span", {
554
- className: "text-sm text-text-secondary",
555
- children: "This Month"
556
- }), /* @__PURE__ */ T("span", {
557
- className: "font-medium text-text-primary",
558
- children: "₹24,50,000"
559
- })]
560
- }),
561
- /* @__PURE__ */ E("div", {
562
- className: "flex justify-between",
563
- children: [/* @__PURE__ */ T("span", {
564
- className: "text-sm text-text-secondary",
565
- children: "Platform Commission"
566
- }), /* @__PURE__ */ T("span", {
567
- className: "font-medium text-text-primary",
568
- children: "₹1,22,500"
569
- })]
570
- }),
571
- /* @__PURE__ */ E("div", {
572
- className: "flex justify-between",
573
- children: [/* @__PURE__ */ T("span", {
574
- className: "text-sm text-text-secondary",
575
- children: "Active Investments"
576
- }), /* @__PURE__ */ T("span", {
577
- className: "font-medium text-text-primary",
578
- children: "₹1.52Cr"
579
- })]
580
- }),
581
- /* @__PURE__ */ E("div", {
582
- className: "flex justify-between",
583
- children: [/* @__PURE__ */ T("span", {
584
- className: "text-sm text-text-secondary",
585
- children: "Pending Payouts"
586
- }), /* @__PURE__ */ T("span", {
587
- className: "font-medium text-text-primary",
588
- children: "₹45,600"
589
- })]
590
- })
591
- ]
286
+ children: B.topProviders.map((e) => /* @__PURE__ */ E("div", {
287
+ className: "flex items-center justify-between rounded-lg bg-bg-sunken/50 p-3",
288
+ children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
289
+ className: "text-sm font-medium text-text-primary",
290
+ children: e.name
291
+ }), /* @__PURE__ */ E("p", {
292
+ className: "text-xs text-text-secondary flex items-center gap-1",
293
+ children: [
294
+ /* @__PURE__ */ T(S, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }),
295
+ e.rating.toFixed(1),
296
+ " · ",
297
+ e.orders.toLocaleString("en-IN"),
298
+ " orders"
299
+ ]
300
+ })] }), /* @__PURE__ */ T("p", {
301
+ className: "text-sm font-semibold text-text-primary",
302
+ children: H(e.revenue)
303
+ })]
304
+ }, e.id))
305
+ }) : /* @__PURE__ */ T("p", {
306
+ className: "text-sm text-text-secondary",
307
+ children: "Top-performing carts will be ranked here once orders start flowing."
592
308
  })]
593
309
  })]
594
310
  }),
@@ -596,37 +312,37 @@ function j() {
596
312
  className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
597
313
  children: [
598
314
  {
599
- icon: x,
315
+ icon: C,
600
316
  label: "Cart Management",
601
317
  desc: "Approve, manage, and monitor carts",
602
318
  path: "/admin/carts"
603
319
  },
604
320
  {
605
- icon: C,
321
+ icon: w,
606
322
  label: "User Management",
607
323
  desc: "Manage users and permissions",
608
324
  path: "/admin/users"
609
325
  },
610
326
  {
611
- icon: l,
327
+ icon: g,
612
328
  label: "Analytics & Reports",
613
329
  desc: "View detailed platform analytics",
614
330
  path: "/admin/analytics"
615
331
  },
616
332
  {
617
- icon: h,
333
+ icon: v,
618
334
  label: "Financial Analytics",
619
335
  desc: "View revenue, investments, and financial metrics",
620
336
  path: "/admin/financial"
621
337
  },
622
338
  {
623
- icon: s,
624
- label: "Order & Dispute Management",
625
- desc: "Handle orders, disputes, and customer issues",
339
+ icon: f,
340
+ label: "Order Management",
341
+ desc: "Handle orders and customer issues",
626
342
  path: "/admin/orders"
627
343
  },
628
344
  {
629
- icon: v,
345
+ icon: b,
630
346
  label: "Platform Settings",
631
347
  desc: "Configure platform-wide settings",
632
348
  path: "/admin/settings"