@burdenoff/microfe-kadaikodi 2026.625.1 → 2026.626.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 (91) hide show
  1. package/dist/kadaikodi/pages/HomePage.js +19 -14
  2. package/dist/kadaikodi/pages/HomePage.js.map +1 -1
  3. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +118 -83
  4. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  5. package/dist/kadaikodi/pages/admin/AdminDashboard.js +75 -46
  6. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  7. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +144 -128
  8. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  9. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +255 -237
  10. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  11. package/dist/kadaikodi/pages/admin/AdminProfilePage.js +129 -128
  12. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  13. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +178 -150
  14. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  15. package/dist/kadaikodi/pages/admin/CartManagementPage.js +182 -159
  16. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  17. package/dist/kadaikodi/pages/admin/UserManagementPage.js +325 -303
  18. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  19. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +500 -469
  20. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  21. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +534 -503
  22. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  23. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +73 -48
  24. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  25. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +103 -96
  26. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  27. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +130 -129
  28. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  29. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +673 -670
  30. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  31. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +517 -514
  32. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  33. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +140 -125
  34. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  35. package/dist/kadaikodi/pages/common/HelpSupportPage.js +302 -311
  36. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  37. package/dist/kadaikodi/pages/common/NotificationCenterPage.js +102 -91
  38. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  39. package/dist/kadaikodi/pages/common/SettingsPage.js +766 -734
  40. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  41. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +366 -356
  42. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
  43. package/dist/kadaikodi/pages/customer/CartDetailPage.js +243 -213
  44. package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
  45. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +200 -195
  46. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
  47. package/dist/kadaikodi/pages/customer/CheckoutPage.js +95 -89
  48. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  49. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +430 -387
  50. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  51. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +488 -478
  52. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  53. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +523 -512
  54. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  55. package/dist/kadaikodi/pages/customer/FavoritesPage.js +83 -75
  56. package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
  57. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +116 -108
  58. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  59. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +67 -61
  60. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  61. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +90 -73
  62. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
  63. package/dist/kadaikodi/pages/customer/ReviewsPage.js +80 -72
  64. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  65. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +70 -53
  66. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  67. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +289 -255
  68. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  69. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +92 -84
  70. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  71. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +63 -55
  72. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  73. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +339 -311
  74. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  75. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +40 -32
  76. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  77. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +174 -150
  78. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  79. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +385 -381
  80. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  81. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +302 -273
  82. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  83. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +87 -59
  84. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  85. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +82 -75
  86. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  87. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +81 -77
  88. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  89. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +78 -71
  90. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  91. package/package.json +2 -2
@@ -1,12 +1,14 @@
1
1
  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
- import { formatCurrency as r } from "../../utils/formatters.js";
5
- import { useCallback as i, useEffect as a, useState as o } from "react";
6
- import { CheckCircle2 as s, ClipboardCheck as c, Eye as l, Loader2 as u, Pause as d, Search as f, Star as p, Store as m, X as h, XCircle as g } from "lucide-react";
4
+ import { EmptyState as r } from "../../components/EmptyState.js";
5
+ import { formatCurrency as i } from "../../utils/formatters.js";
6
+ import { useCallback as a, useEffect as o, useState as s } from "react";
7
+ import { CheckCircle2 as c, ClipboardCheck as l, Eye as u, Loader2 as d, Pause as f, Search as p, Star as m, X as h, XCircle as g } from "lucide-react";
7
8
  import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
9
+ import { EmphasisPanel as b, PagePurpose as x } from "@burdenoff/fe-libs/ui";
8
10
  //#region src/kadaikodi/pages/admin/CartManagementPage.tsx
9
- var b = [
11
+ var S = [
10
12
  {
11
13
  id: "cart-001",
12
14
  name: "South Indian Express",
@@ -81,15 +83,15 @@ var b = [
81
83
  rejectionReason: "Hygiene standards not met, missing food safety certification"
82
84
  }
83
85
  ];
84
- function x() {
85
- let { navigateTo: x } = e(), [S, C] = o([]), [w, T] = o(!0), [E, D] = o(null), [O, k] = o(!1), [A, j] = o("view"), [M, N] = o(""), [P, F] = o({
86
+ function C() {
87
+ let { navigateTo: C } = e(), [w, T] = s([]), [E, D] = s(!0), [O, k] = s(null), [A, j] = s(!1), [M, N] = s("view"), [P, F] = s(""), [I, L] = s({
86
88
  searchQuery: "",
87
89
  status: "",
88
90
  verificationStatus: "",
89
91
  category: "",
90
92
  location: "",
91
93
  sortBy: "recent"
92
- }), [I] = o({
94
+ }), [R] = s({
93
95
  totalCarts: 156,
94
96
  activeCarts: 134,
95
97
  pendingApproval: 18,
@@ -98,14 +100,14 @@ function x() {
98
100
  averageRating: 4.6,
99
101
  complianceRate: 89,
100
102
  newApplications: 8
101
- }), L = i(() => {
102
- T(!0), setTimeout(() => {
103
- let e = [...b];
104
- if (P.searchQuery) {
105
- let t = P.searchQuery.toLowerCase();
103
+ }), z = a(() => {
104
+ D(!0), setTimeout(() => {
105
+ let e = [...S];
106
+ if (I.searchQuery) {
107
+ let t = I.searchQuery.toLowerCase();
106
108
  e = e.filter((e) => e.name.toLowerCase().includes(t) || e.ownerName.toLowerCase().includes(t) || e.description.toLowerCase().includes(t) || e.address.toLowerCase().includes(t));
107
109
  }
108
- switch (P.status && (P.status === "active" && (e = e.filter((e) => e.isActive)), P.status === "inactive" && (e = e.filter((e) => !e.isActive))), P.verificationStatus && (P.verificationStatus === "verified" && (e = e.filter((e) => e.isVerified)), P.verificationStatus === "pending" && (e = e.filter((e) => !e.isVerified && e.inspectionStatus !== "failed")), P.verificationStatus === "rejected" && (e = e.filter((e) => e.inspectionStatus === "failed"))), P.category && (e = e.filter((e) => e.category === P.category)), P.location && (e = e.filter((e) => e.city.toLowerCase().includes(P.location.toLowerCase()))), P.sortBy) {
110
+ switch (I.status && (I.status === "active" && (e = e.filter((e) => e.isActive)), I.status === "inactive" && (e = e.filter((e) => !e.isActive))), I.verificationStatus && (I.verificationStatus === "verified" && (e = e.filter((e) => e.isVerified)), I.verificationStatus === "pending" && (e = e.filter((e) => !e.isVerified && e.inspectionStatus !== "failed")), I.verificationStatus === "rejected" && (e = e.filter((e) => e.inspectionStatus === "failed"))), I.category && (e = e.filter((e) => e.category === I.category)), I.location && (e = e.filter((e) => e.city.toLowerCase().includes(I.location.toLowerCase()))), I.sortBy) {
109
111
  case "name":
110
112
  e.sort((e, t) => e.name.localeCompare(t.name));
111
113
  break;
@@ -120,46 +122,46 @@ function x() {
120
122
  break;
121
123
  default: e.sort((e, t) => new Date(t.applicationDate).getTime() - new Date(e.applicationDate).getTime());
122
124
  }
123
- C(e), T(!1);
125
+ T(e), D(!1);
124
126
  }, 800);
125
- }, [P]);
126
- a(() => {
127
- L();
128
- }, [L]);
129
- let R = (e, t) => {
130
- F((n) => ({
127
+ }, [I]);
128
+ o(() => {
129
+ z();
130
+ }, [z]);
131
+ let B = (e, t) => {
132
+ L((n) => ({
131
133
  ...n,
132
134
  [e]: t
133
135
  }));
134
- }, z = (e, t) => {
135
- D(e), j(t), N(""), k(!0);
136
- }, B = () => {
137
- if (!E) return;
136
+ }, V = (e, t) => {
137
+ k(e), N(t), F(""), j(!0);
138
+ }, H = () => {
139
+ if (!O) return;
138
140
  let e = "";
139
- switch (A) {
141
+ switch (M) {
140
142
  case "approve":
141
- e = `Cart "${E.name}" approved successfully`;
143
+ e = `Cart "${O.name}" approved successfully`;
142
144
  break;
143
145
  case "reject":
144
- if (!M.trim()) {
146
+ if (!P.trim()) {
145
147
  alert("Please provide a rejection reason");
146
148
  return;
147
149
  }
148
- e = `Cart "${E.name}" rejected`;
150
+ e = `Cart "${O.name}" rejected`;
149
151
  break;
150
152
  case "suspend":
151
- e = `Cart "${E.name}" suspended`;
153
+ e = `Cart "${O.name}" suspended`;
152
154
  break;
153
155
  case "inspect":
154
- e = `Inspection scheduled for "${E.name}"`;
156
+ e = `Inspection scheduled for "${O.name}"`;
155
157
  break;
156
158
  }
157
- alert(e), k(!1), N(""), L();
158
- }, V = (e) => new Date(e).toLocaleDateString("en-IN", {
159
+ alert(e), j(!1), F(""), z();
160
+ }, U = (e) => new Date(e).toLocaleDateString("en-IN", {
159
161
  year: "numeric",
160
162
  month: "short",
161
163
  day: "numeric"
162
- }), H = (e) => e.isVerified ? /* @__PURE__ */ v("span", {
164
+ }), W = (e) => e.isVerified ? /* @__PURE__ */ v("span", {
163
165
  className: "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium bg-status-success-bg-subtle text-status-success-text",
164
166
  children: "Verified"
165
167
  }) : e.inspectionStatus === "pending" ? /* @__PURE__ */ v("span", {
@@ -174,85 +176,95 @@ function x() {
174
176
  }) : /* @__PURE__ */ v("span", {
175
177
  className: "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium bg-secondary text-secondary-foreground",
176
178
  children: "Under Review"
177
- }), U = (e) => e ? /* @__PURE__ */ v("span", {
179
+ }), G = (e) => e ? /* @__PURE__ */ v("span", {
178
180
  className: "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium bg-status-success-bg-subtle text-status-success-text",
179
181
  children: "Active"
180
182
  }) : /* @__PURE__ */ v("span", {
181
183
  className: "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium bg-secondary text-secondary-foreground",
182
184
  children: "Inactive"
183
- }), W = (e) => /* @__PURE__ */ v("div", {
185
+ }), K = (e) => /* @__PURE__ */ v("div", {
184
186
  className: "w-full bg-bg-sunken rounded-full h-2",
185
187
  children: /* @__PURE__ */ v("div", {
186
188
  className: t("h-2 rounded-full", e >= 80 ? "bg-status-success-text" : e >= 60 ? "bg-status-warning-text" : "bg-status-error-text"),
187
189
  style: { width: `${e}%` }
188
190
  })
189
191
  });
190
- return w ? /* @__PURE__ */ v(n, {
192
+ return E ? /* @__PURE__ */ v(n, {
191
193
  title: "Cart Management",
192
194
  description: "Loading carts...",
193
195
  children: /* @__PURE__ */ y("div", {
194
196
  className: "flex flex-col items-center justify-center py-20",
195
- children: [/* @__PURE__ */ v(u, { className: "h-10 w-10 animate-spin text-text-secondary mb-4" }), /* @__PURE__ */ v("p", {
197
+ children: [/* @__PURE__ */ v(d, { className: "h-10 w-10 animate-spin text-text-secondary mb-4" }), /* @__PURE__ */ v("p", {
196
198
  className: "text-text-secondary",
197
199
  children: "Loading carts..."
198
200
  })]
199
201
  })
200
202
  }) : /* @__PURE__ */ y(n, {
201
203
  title: "Cart Management",
202
- description: `${I.totalCarts} service providers on the platform`,
204
+ description: `${R.totalCarts} service providers on the platform`,
203
205
  actions: /* @__PURE__ */ y("span", {
204
206
  className: "text-sm text-text-secondary",
205
- children: [I.pendingApproval, " pending approval"]
207
+ children: [R.pendingApproval, " pending approval"]
206
208
  }),
207
209
  children: [
208
- /* @__PURE__ */ v("div", {
209
- className: "grid grid-cols-2 sm:grid-cols-4 lg:grid-cols-8 gap-3 mb-6",
210
- children: [
211
- {
212
- label: "Total Carts",
213
- value: I.totalCarts,
214
- cls: ""
215
- },
216
- {
217
- label: "Active",
218
- value: I.activeCarts,
219
- cls: "bg-status-success-bg-subtle border-status-success-text/30"
220
- },
221
- {
222
- label: "Pending",
223
- value: I.pendingApproval,
224
- cls: "bg-status-warning-bg-subtle border-status-warning-text/30"
225
- },
226
- {
227
- label: "Rejected",
228
- value: I.rejectedCarts,
229
- cls: "bg-status-error-bg-subtle border-status-error-text/30"
230
- },
231
- {
232
- label: "Total Revenue",
233
- value: r(I.totalRevenue, { minimumFractionDigits: 0 }),
234
- cls: "col-span-2 min-w-fit"
235
- },
236
- {
237
- label: "Avg Rating",
238
- value: `${I.averageRating}`,
239
- cls: ""
240
- },
241
- {
242
- label: "New Apps",
243
- value: I.newApplications,
244
- cls: "bg-[var(--color-accent-soft)] border-border-focus/30"
245
- }
246
- ].map((e) => /* @__PURE__ */ y("div", {
247
- className: t("rounded-lg border border-border-subtle bg-bg-surface p-3", e.cls),
248
- children: [/* @__PURE__ */ v("p", {
249
- className: "text-xs text-text-secondary",
250
- children: e.label
251
- }), /* @__PURE__ */ v("p", {
252
- className: "text-lg font-bold text-text-primary",
253
- children: e.value
254
- })]
255
- }, e.label))
210
+ /* @__PURE__ */ v(x, {
211
+ className: "mb-6",
212
+ children: "Where you onboard and oversee every cart (service provider) on Kadaikodi. Use this page to approve or reject new applications, verify legitimate businesses, suspend ones that break the rules, and keep an eye on each cart's performance and ratings — so customers only ever see trustworthy, active providers. Filter and search to zero in on what needs your attention."
213
+ }),
214
+ /* @__PURE__ */ y(b, {
215
+ className: "mb-6",
216
+ children: [/* @__PURE__ */ v("h2", {
217
+ className: "mb-4 text-lg font-semibold text-text-primary",
218
+ children: "Provider Overview"
219
+ }), /* @__PURE__ */ v("div", {
220
+ className: "grid grid-cols-2 sm:grid-cols-4 lg:grid-cols-8 gap-3",
221
+ children: [
222
+ {
223
+ label: "Total Carts",
224
+ value: R.totalCarts,
225
+ cls: ""
226
+ },
227
+ {
228
+ label: "Active",
229
+ value: R.activeCarts,
230
+ cls: "bg-status-success-bg-subtle border-status-success-text/30"
231
+ },
232
+ {
233
+ label: "Pending",
234
+ value: R.pendingApproval,
235
+ cls: "bg-status-warning-bg-subtle border-status-warning-text/30"
236
+ },
237
+ {
238
+ label: "Rejected",
239
+ value: R.rejectedCarts,
240
+ cls: "bg-status-error-bg-subtle border-status-error-text/30"
241
+ },
242
+ {
243
+ label: "Total Revenue",
244
+ value: i(R.totalRevenue, { minimumFractionDigits: 0 }),
245
+ cls: "col-span-2 min-w-fit"
246
+ },
247
+ {
248
+ label: "Avg Rating",
249
+ value: `${R.averageRating}`,
250
+ cls: ""
251
+ },
252
+ {
253
+ label: "New Apps",
254
+ value: R.newApplications,
255
+ cls: "bg-[var(--color-accent-soft)] border-border-focus/30"
256
+ }
257
+ ].map((e) => /* @__PURE__ */ y("div", {
258
+ className: t("rounded-lg border border-border-subtle bg-bg-surface p-3", e.cls),
259
+ children: [/* @__PURE__ */ v("p", {
260
+ className: "text-xs text-text-secondary",
261
+ children: e.label
262
+ }), /* @__PURE__ */ v("p", {
263
+ className: "text-lg font-bold text-text-primary",
264
+ children: e.value
265
+ })]
266
+ }, e.label))
267
+ })]
256
268
  }),
257
269
  /* @__PURE__ */ v("div", {
258
270
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 mb-6",
@@ -261,17 +273,17 @@ function x() {
261
273
  children: [
262
274
  /* @__PURE__ */ y("div", {
263
275
  className: "relative",
264
- children: [/* @__PURE__ */ v(f, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ v("input", {
276
+ children: [/* @__PURE__ */ v(p, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ v("input", {
265
277
  type: "text",
266
278
  placeholder: "Search carts...",
267
- value: P.searchQuery,
268
- onChange: (e) => R("searchQuery", e.target.value),
279
+ value: I.searchQuery,
280
+ onChange: (e) => B("searchQuery", e.target.value),
269
281
  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)]"
270
282
  })]
271
283
  }),
272
284
  /* @__PURE__ */ y("select", {
273
- value: P.status,
274
- onChange: (e) => R("status", e.target.value),
285
+ value: I.status,
286
+ onChange: (e) => B("status", e.target.value),
275
287
  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)]",
276
288
  children: [
277
289
  /* @__PURE__ */ v("option", {
@@ -289,8 +301,8 @@ function x() {
289
301
  ]
290
302
  }),
291
303
  /* @__PURE__ */ y("select", {
292
- value: P.verificationStatus,
293
- onChange: (e) => R("verificationStatus", e.target.value),
304
+ value: I.verificationStatus,
305
+ onChange: (e) => B("verificationStatus", e.target.value),
294
306
  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)]",
295
307
  children: [
296
308
  /* @__PURE__ */ v("option", {
@@ -312,8 +324,8 @@ function x() {
312
324
  ]
313
325
  }),
314
326
  /* @__PURE__ */ y("select", {
315
- value: P.category,
316
- onChange: (e) => R("category", e.target.value),
327
+ value: I.category,
328
+ onChange: (e) => B("category", e.target.value),
317
329
  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)]",
318
330
  children: [
319
331
  /* @__PURE__ */ v("option", {
@@ -341,13 +353,13 @@ function x() {
341
353
  /* @__PURE__ */ v("input", {
342
354
  type: "text",
343
355
  placeholder: "Location...",
344
- value: P.location,
345
- onChange: (e) => R("location", e.target.value),
356
+ value: I.location,
357
+ onChange: (e) => B("location", e.target.value),
346
358
  className: "rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
347
359
  }),
348
360
  /* @__PURE__ */ y("select", {
349
- value: P.sortBy,
350
- onChange: (e) => R("sortBy", e.target.value),
361
+ value: I.sortBy,
362
+ onChange: (e) => B("sortBy", e.target.value),
351
363
  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)]",
352
364
  children: [
353
365
  /* @__PURE__ */ v("option", {
@@ -380,7 +392,7 @@ function x() {
380
392
  children: [
381
393
  /* @__PURE__ */ v("div", {
382
394
  className: "block md:hidden space-y-4 p-4",
383
- children: S.map((e) => /* @__PURE__ */ y("div", {
395
+ children: w.map((e) => /* @__PURE__ */ y("div", {
384
396
  className: "rounded-lg border border-border-subtle bg-bg-sunken/30 p-4",
385
397
  children: [
386
398
  /* @__PURE__ */ y("div", {
@@ -429,7 +441,7 @@ function x() {
429
441
  }),
430
442
  /* @__PURE__ */ y("p", {
431
443
  className: "text-text-primary",
432
- children: [r(e.monthlyRevenue, { minimumFractionDigits: 0 }), "/mo"]
444
+ children: [i(e.monthlyRevenue, { minimumFractionDigits: 0 }), "/mo"]
433
445
  }),
434
446
  /* @__PURE__ */ y("p", {
435
447
  className: "text-text-secondary text-xs",
@@ -440,12 +452,12 @@ function x() {
440
452
  /* @__PURE__ */ y("div", {
441
453
  className: "flex flex-wrap gap-2 mb-3",
442
454
  children: [
443
- U(e.isActive),
444
- H(e),
455
+ G(e.isActive),
456
+ W(e),
445
457
  e.rating > 0 && /* @__PURE__ */ y("span", {
446
458
  className: "inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium bg-status-warning-bg-subtle text-status-warning-text",
447
459
  children: [
448
- /* @__PURE__ */ v(p, { className: "h-3 w-3 fill-current" }),
460
+ /* @__PURE__ */ v(m, { className: "h-3 w-3 fill-current" }),
449
461
  e.rating,
450
462
  " (",
451
463
  e.reviewCount,
@@ -467,7 +479,7 @@ function x() {
467
479
  children: [e.complianceScore, "%"]
468
480
  })]
469
481
  }),
470
- W(e.complianceScore),
482
+ K(e.complianceScore),
471
483
  /* @__PURE__ */ y("p", {
472
484
  className: "text-xs text-text-secondary mt-1",
473
485
  children: [
@@ -477,7 +489,7 @@ function x() {
477
489
  e.documentsRequired,
478
490
  " • Applied:",
479
491
  " ",
480
- V(e.applicationDate)
492
+ U(e.applicationDate)
481
493
  ]
482
494
  })
483
495
  ]
@@ -487,30 +499,30 @@ function x() {
487
499
  children: [
488
500
  /* @__PURE__ */ v("button", {
489
501
  type: "button",
490
- onClick: () => z(e, "view"),
502
+ onClick: () => V(e, "view"),
491
503
  className: "flex-1 rounded-lg border border-border-subtle px-3 py-1.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
492
504
  children: "View Details"
493
505
  }),
494
506
  !e.isVerified && e.inspectionStatus !== "failed" && /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("button", {
495
507
  type: "button",
496
- onClick: () => z(e, "approve"),
508
+ onClick: () => V(e, "approve"),
497
509
  className: "rounded-lg bg-action-primary-bg px-3 py-1.5 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
498
510
  children: "Approve"
499
511
  }), /* @__PURE__ */ v("button", {
500
512
  type: "button",
501
- onClick: () => z(e, "reject"),
513
+ onClick: () => V(e, "reject"),
502
514
  className: "rounded-lg border border-border-subtle px-3 py-1.5 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle transition-colors",
503
515
  children: "Reject"
504
516
  })] }),
505
517
  e.inspectionStatus === "pending" && /* @__PURE__ */ v("button", {
506
518
  type: "button",
507
- onClick: () => z(e, "inspect"),
519
+ onClick: () => V(e, "inspect"),
508
520
  className: "rounded-lg border border-border-subtle px-3 py-1.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
509
521
  children: "Inspect"
510
522
  }),
511
523
  e.isActive && /* @__PURE__ */ v("button", {
512
524
  type: "button",
513
- onClick: () => z(e, "suspend"),
525
+ onClick: () => V(e, "suspend"),
514
526
  className: "rounded-lg border border-border-subtle px-3 py-1.5 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle transition-colors",
515
527
  children: "Suspend"
516
528
  })
@@ -553,7 +565,7 @@ function x() {
553
565
  ]
554
566
  }) }), /* @__PURE__ */ v("tbody", {
555
567
  className: "divide-y divide-border",
556
- children: S.map((e) => /* @__PURE__ */ y("tr", {
568
+ children: w.map((e) => /* @__PURE__ */ y("tr", {
557
569
  className: "hover:bg-accent/50 transition-colors",
558
570
  children: [
559
571
  /* @__PURE__ */ v("td", {
@@ -605,13 +617,13 @@ function x() {
605
617
  children: /* @__PURE__ */ y("div", {
606
618
  className: "space-y-1",
607
619
  children: [
608
- U(e.isActive),
620
+ G(e.isActive),
609
621
  /* @__PURE__ */ v("br", {}),
610
- H(e),
622
+ W(e),
611
623
  e.rating > 0 && /* @__PURE__ */ y("div", {
612
624
  className: "text-sm flex items-center gap-1 mt-1",
613
625
  children: [
614
- /* @__PURE__ */ v(p, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }),
626
+ /* @__PURE__ */ v(m, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }),
615
627
  e.rating,
616
628
  " ",
617
629
  /* @__PURE__ */ y("span", {
@@ -631,7 +643,7 @@ function x() {
631
643
  className: "px-4 py-3 text-sm",
632
644
  children: [/* @__PURE__ */ y("p", {
633
645
  className: "text-text-primary",
634
- children: [r(e.monthlyRevenue, { minimumFractionDigits: 0 }), "/mo"]
646
+ children: [i(e.monthlyRevenue, { minimumFractionDigits: 0 }), "/mo"]
635
647
  }), /* @__PURE__ */ y("p", {
636
648
  className: "text-text-secondary",
637
649
  children: [e.monthlyOrders, " orders/mo"]
@@ -644,7 +656,7 @@ function x() {
644
656
  className: "flex items-center gap-2 mb-1",
645
657
  children: [/* @__PURE__ */ v("div", {
646
658
  className: "w-16",
647
- children: W(e.complianceScore)
659
+ children: K(e.complianceScore)
648
660
  }), /* @__PURE__ */ y("span", {
649
661
  className: "font-medium text-text-primary",
650
662
  children: [e.complianceScore, "%"]
@@ -661,7 +673,7 @@ function x() {
661
673
  }),
662
674
  /* @__PURE__ */ y("p", {
663
675
  className: "text-xs text-text-secondary",
664
- children: ["Applied: ", V(e.applicationDate)]
676
+ children: ["Applied: ", U(e.applicationDate)]
665
677
  })
666
678
  ]
667
679
  }),
@@ -672,35 +684,35 @@ function x() {
672
684
  children: [
673
685
  /* @__PURE__ */ y("button", {
674
686
  type: "button",
675
- onClick: () => z(e, "view"),
687
+ onClick: () => V(e, "view"),
676
688
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-accent transition-colors inline-flex items-center gap-1 text-xs",
677
- children: [/* @__PURE__ */ v(l, { className: "h-4 w-4" }), " View"]
689
+ children: [/* @__PURE__ */ v(u, { className: "h-4 w-4" }), " View"]
678
690
  }),
679
691
  !e.isVerified && e.inspectionStatus !== "failed" && /* @__PURE__ */ y("div", {
680
692
  className: "flex gap-1",
681
693
  children: [/* @__PURE__ */ v("button", {
682
694
  type: "button",
683
- onClick: () => z(e, "approve"),
695
+ onClick: () => V(e, "approve"),
684
696
  className: "rounded p-1.5 text-text-secondary hover:text-status-success-text hover:bg-status-success-bg-subtle transition-colors",
685
- children: /* @__PURE__ */ v(s, { className: "h-4 w-4" })
697
+ children: /* @__PURE__ */ v(c, { className: "h-4 w-4" })
686
698
  }), /* @__PURE__ */ v("button", {
687
699
  type: "button",
688
- onClick: () => z(e, "reject"),
700
+ onClick: () => V(e, "reject"),
689
701
  className: "rounded p-1.5 text-text-secondary hover:text-status-error-text hover:bg-status-error-bg-subtle transition-colors",
690
702
  children: /* @__PURE__ */ v(g, { className: "h-4 w-4" })
691
703
  })]
692
704
  }),
693
705
  e.inspectionStatus === "pending" && /* @__PURE__ */ y("button", {
694
706
  type: "button",
695
- onClick: () => z(e, "inspect"),
707
+ onClick: () => V(e, "inspect"),
696
708
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-[var(--color-accent-soft)] transition-colors inline-flex items-center gap-1 text-xs",
697
- children: [/* @__PURE__ */ v(c, { className: "h-4 w-4" }), " Inspect"]
709
+ children: [/* @__PURE__ */ v(l, { className: "h-4 w-4" }), " Inspect"]
698
710
  }),
699
711
  e.isActive && /* @__PURE__ */ v("button", {
700
712
  type: "button",
701
- onClick: () => z(e, "suspend"),
713
+ onClick: () => V(e, "suspend"),
702
714
  className: "rounded p-1.5 text-text-secondary hover:text-status-error-text hover:bg-status-error-bg-subtle transition-colors",
703
- children: /* @__PURE__ */ v(d, { className: "h-4 w-4" })
715
+ children: /* @__PURE__ */ v(f, { className: "h-4 w-4" })
704
716
  })
705
717
  ]
706
718
  })
@@ -710,16 +722,27 @@ function x() {
710
722
  })]
711
723
  })
712
724
  }),
713
- S.length === 0 && /* @__PURE__ */ y("div", {
714
- className: "flex flex-col items-center justify-center py-12 px-4",
715
- children: [/* @__PURE__ */ v(m, { className: "h-10 w-10 text-text-secondary/50 mb-3" }), /* @__PURE__ */ v("p", {
716
- className: "text-sm text-text-secondary",
717
- children: "No carts found matching your criteria"
718
- })]
725
+ w.length === 0 && /* @__PURE__ */ v(r, {
726
+ illustration: "empty-search",
727
+ title: "No carts found",
728
+ description: "No service providers match your current filters. Try clearing the filters or searching for a different name.",
729
+ action: /* @__PURE__ */ v("button", {
730
+ type: "button",
731
+ onClick: () => L({
732
+ searchQuery: "",
733
+ status: "",
734
+ verificationStatus: "",
735
+ category: "",
736
+ location: "",
737
+ sortBy: "recent"
738
+ }),
739
+ className: "rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
740
+ children: "Clear filters"
741
+ })
719
742
  })
720
743
  ]
721
744
  }),
722
- O && E && /* @__PURE__ */ v("div", {
745
+ A && O && /* @__PURE__ */ v("div", {
723
746
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
724
747
  children: /* @__PURE__ */ y("div", {
725
748
  className: "w-full max-w-2xl rounded-lg border border-border-subtle bg-bg-surface shadow-lg max-h-[90vh] overflow-y-auto",
@@ -727,10 +750,10 @@ function x() {
727
750
  className: "flex items-center justify-between p-4 border-b border-border-subtle",
728
751
  children: [/* @__PURE__ */ v("h3", {
729
752
  className: "text-lg font-semibold text-text-primary",
730
- children: A === "view" ? "Cart Details" : A === "approve" ? "Approve Cart" : A === "reject" ? "Reject Cart" : A === "suspend" ? "Suspend Cart" : "Schedule Inspection"
753
+ children: M === "view" ? "Cart Details" : M === "approve" ? "Approve Cart" : M === "reject" ? "Reject Cart" : M === "suspend" ? "Suspend Cart" : "Schedule Inspection"
731
754
  }), /* @__PURE__ */ v("button", {
732
755
  type: "button",
733
- onClick: () => k(!1),
756
+ onClick: () => j(!1),
734
757
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-accent transition-colors",
735
758
  children: /* @__PURE__ */ v(h, { className: "h-5 w-5" })
736
759
  })]
@@ -745,28 +768,28 @@ function x() {
745
768
  children: "Cart Name"
746
769
  }), /* @__PURE__ */ v("p", {
747
770
  className: "font-medium text-text-primary",
748
- children: E.name
771
+ children: O.name
749
772
  })] }),
750
773
  /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
751
774
  className: "text-sm text-text-secondary",
752
775
  children: "Category"
753
776
  }), /* @__PURE__ */ v("p", {
754
777
  className: "font-medium text-text-primary",
755
- children: E.category
778
+ children: O.category
756
779
  })] }),
757
780
  /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
758
781
  className: "text-sm text-text-secondary",
759
782
  children: "Owner"
760
783
  }), /* @__PURE__ */ v("p", {
761
784
  className: "font-medium text-text-primary",
762
- children: E.ownerName
785
+ children: O.ownerName
763
786
  })] }),
764
787
  /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
765
788
  className: "text-sm text-text-secondary",
766
789
  children: "Contact"
767
790
  }), /* @__PURE__ */ v("p", {
768
791
  className: "font-medium text-text-primary",
769
- children: E.ownerPhone
792
+ children: O.ownerPhone
770
793
  })] })
771
794
  ]
772
795
  }),
@@ -775,14 +798,14 @@ function x() {
775
798
  children: "Description"
776
799
  }), /* @__PURE__ */ v("p", {
777
800
  className: "font-medium text-text-primary",
778
- children: E.description
801
+ children: O.description
779
802
  })] }),
780
803
  /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
781
804
  className: "text-sm text-text-secondary",
782
805
  children: "Location"
783
806
  }), /* @__PURE__ */ v("p", {
784
807
  className: "font-medium text-text-primary",
785
- children: E.address
808
+ children: O.address
786
809
  })] }),
787
810
  /* @__PURE__ */ y("div", {
788
811
  className: "grid grid-cols-1 sm:grid-cols-3 gap-4",
@@ -792,7 +815,7 @@ function x() {
792
815
  children: "Compliance Score"
793
816
  }), /* @__PURE__ */ y("p", {
794
817
  className: "font-medium text-text-primary",
795
- children: [E.complianceScore, "%"]
818
+ children: [O.complianceScore, "%"]
796
819
  })] }),
797
820
  /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
798
821
  className: "text-sm text-text-secondary",
@@ -800,9 +823,9 @@ function x() {
800
823
  }), /* @__PURE__ */ y("p", {
801
824
  className: "font-medium text-text-primary",
802
825
  children: [
803
- E.documentsSubmitted,
826
+ O.documentsSubmitted,
804
827
  "/",
805
- E.documentsRequired
828
+ O.documentsRequired
806
829
  ]
807
830
  })] }),
808
831
  /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
@@ -810,31 +833,31 @@ function x() {
810
833
  children: "Monthly Revenue"
811
834
  }), /* @__PURE__ */ v("p", {
812
835
  className: "font-medium text-text-primary",
813
- children: r(E.monthlyRevenue, { minimumFractionDigits: 0 })
836
+ children: i(O.monthlyRevenue, { minimumFractionDigits: 0 })
814
837
  })] })
815
838
  ]
816
839
  }),
817
- E.rejectionReason && /* @__PURE__ */ y("div", {
840
+ O.rejectionReason && /* @__PURE__ */ y("div", {
818
841
  className: "rounded-lg border border-status-error-text/30 bg-status-error-bg-subtle p-4",
819
842
  children: [/* @__PURE__ */ v("p", {
820
843
  className: "text-sm font-medium text-status-error-text",
821
844
  children: "Previous Rejection Reason:"
822
845
  }), /* @__PURE__ */ v("p", {
823
846
  className: "text-sm text-status-error-text/80",
824
- children: E.rejectionReason
847
+ children: O.rejectionReason
825
848
  })]
826
849
  }),
827
- A === "reject" && /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
850
+ M === "reject" && /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
828
851
  className: "block text-sm font-medium text-text-primary mb-2",
829
852
  children: "Rejection Reason *"
830
853
  }), /* @__PURE__ */ v("textarea", {
831
854
  className: "w-full rounded-lg border border-border-subtle bg-bg-surface p-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] min-h-[100px]",
832
855
  rows: 4,
833
- value: M,
834
- onChange: (e) => N(e.target.value),
856
+ value: P,
857
+ onChange: (e) => F(e.target.value),
835
858
  placeholder: "Please provide a detailed reason for rejection..."
836
859
  })] }),
837
- A === "approve" && /* @__PURE__ */ v("div", {
860
+ M === "approve" && /* @__PURE__ */ v("div", {
838
861
  className: "rounded-lg border border-status-success-text/30 bg-status-success-bg-subtle p-4",
839
862
  children: /* @__PURE__ */ v("p", {
840
863
  className: "text-sm text-status-success-text",
@@ -845,15 +868,15 @@ function x() {
845
868
  className: "flex gap-3 pt-2",
846
869
  children: [/* @__PURE__ */ v("button", {
847
870
  type: "button",
848
- onClick: () => k(!1),
871
+ onClick: () => j(!1),
849
872
  className: "flex-1 rounded-lg border border-border-subtle py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
850
873
  children: "Cancel"
851
- }), A !== "view" && /* @__PURE__ */ v("button", {
874
+ }), M !== "view" && /* @__PURE__ */ v("button", {
852
875
  type: "button",
853
- onClick: B,
854
- disabled: A === "reject" && !M.trim(),
876
+ onClick: H,
877
+ disabled: M === "reject" && !P.trim(),
855
878
  className: "flex-1 rounded-lg bg-action-primary-bg py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
856
- children: A === "approve" ? "Approve Cart" : A === "reject" ? "Reject Cart" : A === "suspend" ? "Suspend Cart" : "Schedule Inspection"
879
+ children: M === "approve" ? "Approve Cart" : M === "reject" ? "Reject Cart" : M === "suspend" ? "Suspend Cart" : "Schedule Inspection"
857
880
  })]
858
881
  })
859
882
  ]
@@ -864,6 +887,6 @@ function x() {
864
887
  });
865
888
  }
866
889
  //#endregion
867
- export { x as CartManagementPage };
890
+ export { C as CartManagementPage };
868
891
 
869
892
  //# sourceMappingURL=CartManagementPage.js.map