@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,11 +1,13 @@
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 { useMemo as r, useState as i } from "react";
5
- import { AlertCircle as a, CheckCircle2 as o, Clock as s, Edit2 as c, Mail as l, Phone as u, Search as d, Star as f, Trash2 as p, UserPlus as m, Users as h, X as g } from "lucide-react";
4
+ import { EmptyState as r } from "../../components/EmptyState.js";
5
+ import { useMemo as i, useState as a } from "react";
6
+ import { AlertCircle as o, CheckCircle2 as s, Clock as c, Edit2 as l, Mail as u, Phone as d, Search as f, Star as p, Trash2 as m, UserPlus as h, X as g } from "lucide-react";
6
7
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
8
+ import { EmphasisPanel as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
7
9
  //#region src/kadaikodi/pages/cart-owner/StaffManagementPage.tsx
8
- var y = [
10
+ var x = [
9
11
  {
10
12
  id: "staff-001",
11
13
  firstName: "Ravi",
@@ -134,7 +136,7 @@ var y = [
134
136
  currentShift: "08:00 - 16:00",
135
137
  shiftsThisWeek: 6
136
138
  }
137
- ], b = {
139
+ ], S = {
138
140
  active: {
139
141
  label: "Active",
140
142
  color: "text-status-success-text",
@@ -155,7 +157,7 @@ var y = [
155
157
  color: "text-status-error-text",
156
158
  dot: "bg-status-error-text"
157
159
  }
158
- }, x = {
160
+ }, C = {
159
161
  manager: {
160
162
  label: "Manager",
161
163
  color: "bg-accent-purple-subtle text-text-primary"
@@ -176,15 +178,15 @@ var y = [
176
178
  label: "Cashier",
177
179
  color: "bg-[var(--color-accent-soft)] text-text-primary"
178
180
  }
179
- }, S = {
181
+ }, w = {
180
182
  email: "",
181
183
  firstName: "",
182
184
  lastName: "",
183
185
  phone: "",
184
186
  role: "server",
185
187
  hourlyRate: 150
186
- }, C = () => {
187
- let { navigateTo: C } = e(), [w, T] = i(y), [E, D] = i(""), [O, k] = i(""), [A, j] = i(""), [M, N] = i("name"), [P, F] = i(!1), [I, L] = i(!1), [R, z] = i(null), [B, V] = i(S), [H, U] = i({
188
+ }, T = () => {
189
+ let { navigateTo: T } = e(), [E, D] = a(x), [O, k] = a(""), [A, j] = a(""), [M, N] = a(""), [P, F] = a("name"), [I, L] = a(!1), [R, z] = a(!1), [B, V] = a(null), [H, U] = a(w), [W, G] = a({
188
190
  firstName: "",
189
191
  lastName: "",
190
192
  email: "",
@@ -192,20 +194,20 @@ var y = [
192
194
  role: "server",
193
195
  hourlyRate: 150,
194
196
  status: "active"
195
- }), [W, G] = i(null), K = (e, t) => {
196
- G({
197
+ }), [K, q] = a(null), J = (e, t) => {
198
+ q({
197
199
  text: e,
198
200
  type: t
199
- }), setTimeout(() => G(null), 3e3);
200
- }, q = w.filter((e) => e.status === "active").length, J = w.filter((e) => e.status === "on-leave").length, Y = w.length > 0 ? (w.reduce((e, t) => e + t.performance.rating, 0) / w.length).toFixed(1) : "0";
201
- w.reduce((e, t) => e + t.totalEarnings, 0);
202
- let X = r(() => {
203
- let e = [...w];
204
- if (E) {
205
- let t = E.toLowerCase();
201
+ }), setTimeout(() => q(null), 3e3);
202
+ }, Y = E.filter((e) => e.status === "active").length, X = E.filter((e) => e.status === "on-leave").length, Z = E.length > 0 ? (E.reduce((e, t) => e + t.performance.rating, 0) / E.length).toFixed(1) : "0";
203
+ E.reduce((e, t) => e + t.totalEarnings, 0);
204
+ let Q = i(() => {
205
+ let e = [...E];
206
+ if (O) {
207
+ let t = O.toLowerCase();
206
208
  e = e.filter((e) => `${e.firstName} ${e.lastName}`.toLowerCase().includes(t) || e.email.toLowerCase().includes(t) || e.phone.includes(t));
207
209
  }
208
- switch (O && (e = e.filter((e) => e.role === O)), A && (e = e.filter((e) => e.status === A)), M) {
210
+ switch (A && (e = e.filter((e) => e.role === A)), M && (e = e.filter((e) => e.status === M)), P) {
209
211
  case "name":
210
212
  e.sort((e, t) => `${e.firstName} ${e.lastName}`.localeCompare(`${t.firstName} ${t.lastName}`));
211
213
  break;
@@ -221,19 +223,19 @@ var y = [
221
223
  }
222
224
  return e;
223
225
  }, [
224
- w,
225
226
  E,
226
227
  O,
227
228
  A,
228
- M
229
- ]), Z = () => {
230
- if (!B.email || !B.firstName || !B.lastName) {
231
- K("Please fill in all required fields", "error");
229
+ M,
230
+ P
231
+ ]), $ = () => {
232
+ if (!H.email || !H.firstName || !H.lastName) {
233
+ J("Please fill in all required fields", "error");
232
234
  return;
233
235
  }
234
236
  let e = {
235
237
  id: `staff-${Date.now()}`,
236
- ...B,
238
+ ...H,
237
239
  status: "active",
238
240
  dateJoined: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
239
241
  hoursWorked: 0,
@@ -246,9 +248,9 @@ var y = [
246
248
  },
247
249
  shiftsThisWeek: 0
248
250
  };
249
- T((t) => [...t, e]), F(!1), V(S), K("Staff member invited successfully", "success");
250
- }, Q = (e) => {
251
- z(e), U({
251
+ D((t) => [...t, e]), L(!1), U(w), J("Staff member invited successfully", "success");
252
+ }, ee = (e) => {
253
+ V(e), G({
252
254
  firstName: e.firstName,
253
255
  lastName: e.lastName,
254
256
  email: e.email,
@@ -256,14 +258,14 @@ var y = [
256
258
  role: e.role,
257
259
  hourlyRate: e.hourlyRate,
258
260
  status: e.status
259
- }), L(!0);
260
- }, $ = () => {
261
- R && (T((e) => e.map((e) => e.id === R.id ? {
261
+ }), z(!0);
262
+ }, te = () => {
263
+ B && (D((e) => e.map((e) => e.id === B.id ? {
262
264
  ...e,
263
- ...H
264
- } : e)), L(!1), K("Staff member updated successfully", "success"));
265
- }, ee = (e) => {
266
- T((t) => t.map((t) => {
265
+ ...W
266
+ } : e)), z(!1), J("Staff member updated successfully", "success"));
267
+ }, ne = (e) => {
268
+ D((t) => t.map((t) => {
267
269
  if (t.id === e) {
268
270
  let e = t.status === "active" ? "inactive" : "active";
269
271
  return {
@@ -272,9 +274,9 @@ var y = [
272
274
  };
273
275
  }
274
276
  return t;
275
- })), K("Staff status updated", "success");
276
- }, te = (e) => {
277
- confirm("Are you sure you want to remove this staff member?") && (T((t) => t.filter((t) => t.id !== e)), K("Staff member removed", "success"));
277
+ })), J("Staff status updated", "success");
278
+ }, re = (e) => {
279
+ confirm("Are you sure you want to remove this staff member?") && (D((t) => t.filter((t) => t.id !== e)), J("Staff member removed", "success"));
278
280
  };
279
281
  return /* @__PURE__ */ v(n, {
280
282
  title: "Staff Management",
@@ -282,30 +284,37 @@ var y = [
282
284
  actions: /* @__PURE__ */ v("button", {
283
285
  type: "button",
284
286
  onClick: () => {
285
- V(S), F(!0);
287
+ U(w), L(!0);
286
288
  },
287
289
  className: "inline-flex items-center gap-2 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
288
- children: [/* @__PURE__ */ _(m, { className: "h-4 w-4" }), "Invite Staff"]
290
+ children: [/* @__PURE__ */ _(h, { className: "h-4 w-4" }), "Invite Staff"]
289
291
  }),
290
292
  children: [
293
+ /* @__PURE__ */ _(b, {
294
+ className: "mb-6",
295
+ children: "Your team in one place. Use this page to invite workers and delivery partners, see who's active or on leave right now, manage roles and ratings, and keep shifts covered so orders go out on time. Invite new staff and review performance to build a reliable crew around your cart."
296
+ }),
291
297
  /* @__PURE__ */ v("div", {
292
298
  className: "space-y-4",
293
299
  children: [
294
- W && /* @__PURE__ */ v("div", {
295
- className: t("flex items-center gap-2 rounded-lg border p-3", W.type === "success" ? "border-status-success-text/30 bg-status-success-bg-subtle" : "border-status-error-text/30 bg-status-error-bg-subtle"),
296
- children: [W.type === "success" ? /* @__PURE__ */ _(o, { className: "h-4 w-4 text-status-success-text" }) : /* @__PURE__ */ _(a, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ _("span", {
297
- className: t("text-sm font-medium", W.type === "success" ? "text-status-success-text" : "text-status-error-text"),
298
- children: W.text
300
+ K && /* @__PURE__ */ v("div", {
301
+ className: t("flex items-center gap-2 rounded-lg border p-3", K.type === "success" ? "border-status-success-text/30 bg-status-success-bg-subtle" : "border-status-error-text/30 bg-status-error-bg-subtle"),
302
+ children: [K.type === "success" ? /* @__PURE__ */ _(s, { className: "h-4 w-4 text-status-success-text" }) : /* @__PURE__ */ _(o, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ _("span", {
303
+ className: t("text-sm font-medium", K.type === "success" ? "text-status-success-text" : "text-status-error-text"),
304
+ children: K.text
299
305
  })]
300
306
  }),
301
- /* @__PURE__ */ v("div", {
307
+ /* @__PURE__ */ v(y, { children: [/* @__PURE__ */ _("h2", {
308
+ className: "mb-4 text-base font-semibold text-text-primary",
309
+ children: "Team Overview"
310
+ }), /* @__PURE__ */ v("div", {
302
311
  className: "grid grid-cols-2 sm:grid-cols-4 gap-3",
303
312
  children: [
304
313
  /* @__PURE__ */ v("div", {
305
314
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
306
315
  children: [/* @__PURE__ */ _("p", {
307
316
  className: "text-2xl font-bold text-text-primary",
308
- children: w.length
317
+ children: E.length
309
318
  }), /* @__PURE__ */ _("p", {
310
319
  className: "text-xs text-text-secondary",
311
320
  children: "Total Staff"
@@ -315,7 +324,7 @@ var y = [
315
324
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
316
325
  children: [/* @__PURE__ */ _("p", {
317
326
  className: "text-2xl font-bold text-status-success-text",
318
- children: q
327
+ children: Y
319
328
  }), /* @__PURE__ */ _("p", {
320
329
  className: "text-xs text-text-secondary",
321
330
  children: "Active Now"
@@ -325,7 +334,7 @@ var y = [
325
334
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
326
335
  children: [/* @__PURE__ */ _("p", {
327
336
  className: "text-2xl font-bold text-status-warning-text",
328
- children: J
337
+ children: X
329
338
  }), /* @__PURE__ */ _("p", {
330
339
  className: "text-xs text-text-secondary",
331
340
  children: "On Leave"
@@ -335,14 +344,14 @@ var y = [
335
344
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
336
345
  children: [/* @__PURE__ */ _("p", {
337
346
  className: "text-2xl font-bold text-text-primary",
338
- children: Y
347
+ children: Z
339
348
  }), /* @__PURE__ */ _("p", {
340
349
  className: "text-xs text-text-secondary",
341
350
  children: "Avg. Rating"
342
351
  })]
343
352
  })
344
353
  ]
345
- }),
354
+ })] }),
346
355
  /* @__PURE__ */ _("div", {
347
356
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
348
357
  children: /* @__PURE__ */ v("div", {
@@ -350,41 +359,41 @@ var y = [
350
359
  children: [
351
360
  /* @__PURE__ */ v("div", {
352
361
  className: "relative",
353
- children: [/* @__PURE__ */ _(d, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ _("input", {
362
+ children: [/* @__PURE__ */ _(f, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ _("input", {
354
363
  type: "text",
355
364
  placeholder: "Search staff...",
356
- value: E,
357
- onChange: (e) => D(e.target.value),
365
+ value: O,
366
+ onChange: (e) => k(e.target.value),
358
367
  className: "w-full rounded-md border border-border-subtle bg-bg-surface pl-10 pr-4 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
359
368
  })]
360
369
  }),
361
370
  /* @__PURE__ */ v("select", {
362
- value: O,
363
- onChange: (e) => k(e.target.value),
371
+ value: A,
372
+ onChange: (e) => j(e.target.value),
364
373
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
365
374
  children: [/* @__PURE__ */ _("option", {
366
375
  value: "",
367
376
  children: "All Roles"
368
- }), Object.entries(x).map(([e, t]) => /* @__PURE__ */ _("option", {
377
+ }), Object.entries(C).map(([e, t]) => /* @__PURE__ */ _("option", {
369
378
  value: e,
370
379
  children: t.label
371
380
  }, e))]
372
381
  }),
373
382
  /* @__PURE__ */ v("select", {
374
- value: A,
375
- onChange: (e) => j(e.target.value),
383
+ value: M,
384
+ onChange: (e) => N(e.target.value),
376
385
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
377
386
  children: [/* @__PURE__ */ _("option", {
378
387
  value: "",
379
388
  children: "All Status"
380
- }), Object.entries(b).map(([e, t]) => /* @__PURE__ */ _("option", {
389
+ }), Object.entries(S).map(([e, t]) => /* @__PURE__ */ _("option", {
381
390
  value: e,
382
391
  children: t.label
383
392
  }, e))]
384
393
  }),
385
394
  /* @__PURE__ */ v("select", {
386
- value: M,
387
- onChange: (e) => N(e.target.value),
395
+ value: P,
396
+ onChange: (e) => F(e.target.value),
388
397
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
389
398
  children: [
390
399
  /* @__PURE__ */ _("option", {
@@ -408,23 +417,29 @@ var y = [
408
417
  ]
409
418
  })
410
419
  }),
411
- X.length === 0 ? /* @__PURE__ */ v("div", {
412
- className: "flex flex-col items-center justify-center py-16 rounded-lg border border-border-subtle bg-bg-surface shadow-sm text-center",
413
- children: [
414
- /* @__PURE__ */ _(h, { className: "h-12 w-12 text-text-secondary opacity-40 mb-3" }),
415
- /* @__PURE__ */ _("p", {
416
- className: "text-sm font-medium text-text-primary",
417
- children: "No staff members found"
418
- }),
419
- /* @__PURE__ */ _("p", {
420
- className: "text-xs text-text-secondary mt-1",
421
- children: "Try adjusting your filters"
422
- })
423
- ]
420
+ Q.length === 0 ? /* @__PURE__ */ _(r, {
421
+ illustration: O || A || M ? "empty-search" : "empty-people",
422
+ title: "No staff members found",
423
+ description: O || A || M ? "No team members match your current filters. Try clearing them or searching for a different name." : "You have no staff yet. Invite your first worker or delivery partner to start building your team.",
424
+ action: O || A || M ? /* @__PURE__ */ _("button", {
425
+ type: "button",
426
+ onClick: () => {
427
+ k(""), j(""), N(""), F("name");
428
+ },
429
+ className: "rounded-md border border-border-subtle px-4 py-2 text-sm text-text-primary hover:bg-bg-sunken",
430
+ children: "Clear filters"
431
+ }) : /* @__PURE__ */ v("button", {
432
+ type: "button",
433
+ onClick: () => {
434
+ U(w), L(!0);
435
+ },
436
+ className: "inline-flex items-center gap-2 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80",
437
+ children: [/* @__PURE__ */ _(h, { className: "h-4 w-4" }), "Invite Staff"]
438
+ })
424
439
  }) : /* @__PURE__ */ _("div", {
425
440
  className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm divide-y divide-border",
426
- children: X.map((e) => {
427
- let n = b[e.status], r = x[e.role];
441
+ children: Q.map((e) => {
442
+ let n = S[e.status], r = C[e.role];
428
443
  return /* @__PURE__ */ v("div", {
429
444
  className: "p-4 sm:p-5 hover:bg-bg-sunken/30 transition-colors",
430
445
  children: [/* @__PURE__ */ v("div", {
@@ -463,10 +478,10 @@ var y = [
463
478
  className: "flex items-center gap-3 mt-1 text-xs text-text-secondary flex-wrap",
464
479
  children: [/* @__PURE__ */ v("span", {
465
480
  className: "flex items-center gap-1",
466
- children: [/* @__PURE__ */ _(l, { className: "h-3 w-3" }), e.email]
481
+ children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), e.email]
467
482
  }), /* @__PURE__ */ v("span", {
468
483
  className: "flex items-center gap-1",
469
- children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), e.phone]
484
+ children: [/* @__PURE__ */ _(d, { className: "h-3 w-3" }), e.phone]
470
485
  })]
471
486
  })]
472
487
  })]
@@ -479,7 +494,7 @@ var y = [
479
494
  className: "text-center",
480
495
  children: [/* @__PURE__ */ v("p", {
481
496
  className: "font-bold text-text-primary flex items-center gap-0.5 justify-center",
482
- children: [/* @__PURE__ */ _(f, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.performance.rating]
497
+ children: [/* @__PURE__ */ _(p, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.performance.rating]
483
498
  }), /* @__PURE__ */ _("p", {
484
499
  className: "text-text-secondary",
485
500
  children: "Rating"
@@ -509,7 +524,7 @@ var y = [
509
524
  className: "text-center",
510
525
  children: [/* @__PURE__ */ v("p", {
511
526
  className: "font-bold text-text-primary flex items-center gap-0.5 justify-center",
512
- children: [/* @__PURE__ */ _(s, { className: "h-3 w-3 text-text-secondary" }), e.currentShift]
527
+ children: [/* @__PURE__ */ _(c, { className: "h-3 w-3 text-text-secondary" }), e.currentShift]
513
528
  }), /* @__PURE__ */ _("p", {
514
529
  className: "text-text-secondary",
515
530
  children: "Shift"
@@ -521,24 +536,24 @@ var y = [
521
536
  children: [
522
537
  /* @__PURE__ */ _("button", {
523
538
  type: "button",
524
- onClick: () => ee(e.id),
539
+ onClick: () => ne(e.id),
525
540
  className: t("h-6 w-11 rounded-full transition-colors relative", e.status === "active" ? "bg-status-success-text" : "bg-muted-foreground/30"),
526
541
  title: e.status === "active" ? "Deactivate" : "Activate",
527
542
  children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", e.status === "active" ? "translate-x-5" : "translate-x-0.5") })
528
543
  }),
529
544
  /* @__PURE__ */ _("button", {
530
545
  type: "button",
531
- onClick: () => Q(e),
546
+ onClick: () => ee(e),
532
547
  className: "rounded p-1.5 text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
533
548
  title: "Edit",
534
- children: /* @__PURE__ */ _(c, { className: "h-4 w-4" })
549
+ children: /* @__PURE__ */ _(l, { className: "h-4 w-4" })
535
550
  }),
536
551
  /* @__PURE__ */ _("button", {
537
552
  type: "button",
538
- onClick: () => te(e.id),
553
+ onClick: () => re(e.id),
539
554
  className: "rounded p-1.5 text-text-secondary hover:bg-status-error-bg-subtle hover:text-status-error-text transition-colors",
540
555
  title: "Remove",
541
- children: /* @__PURE__ */ _(p, { className: "h-4 w-4" })
556
+ children: /* @__PURE__ */ _(m, { className: "h-4 w-4" })
542
557
  })
543
558
  ]
544
559
  })]
@@ -548,13 +563,13 @@ var y = [
548
563
  children: [
549
564
  /* @__PURE__ */ v("span", {
550
565
  className: "flex items-center gap-0.5",
551
- children: [/* @__PURE__ */ _(f, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.performance.rating]
566
+ children: [/* @__PURE__ */ _(p, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.performance.rating]
552
567
  }),
553
568
  /* @__PURE__ */ v("span", { children: [e.performance.tasksCompleted, " tasks"] }),
554
569
  /* @__PURE__ */ v("span", { children: [e.performance.punctuality, "% on time"] }),
555
570
  e.currentShift && /* @__PURE__ */ v("span", {
556
571
  className: "flex items-center gap-0.5",
557
- children: [/* @__PURE__ */ _(s, { className: "h-3 w-3" }), e.currentShift]
572
+ children: [/* @__PURE__ */ _(c, { className: "h-3 w-3" }), e.currentShift]
558
573
  }),
559
574
  /* @__PURE__ */ v("span", { children: [e.shiftsThisWeek, " shifts/wk"] })
560
575
  ]
@@ -564,7 +579,7 @@ var y = [
564
579
  })
565
580
  ]
566
581
  }),
567
- P && /* @__PURE__ */ _("div", {
582
+ I && /* @__PURE__ */ _("div", {
568
583
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
569
584
  children: /* @__PURE__ */ _("div", {
570
585
  className: "w-full max-w-lg rounded-lg border border-border-subtle bg-bg-surface shadow-xl",
@@ -578,7 +593,7 @@ var y = [
578
593
  children: "Invite Staff Member"
579
594
  }), /* @__PURE__ */ _("button", {
580
595
  type: "button",
581
- onClick: () => F(!1),
596
+ onClick: () => L(!1),
582
597
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken",
583
598
  children: /* @__PURE__ */ _(g, { className: "h-5 w-5" })
584
599
  })]
@@ -593,8 +608,8 @@ var y = [
593
608
  children: "First Name *"
594
609
  }), /* @__PURE__ */ _("input", {
595
610
  type: "text",
596
- value: B.firstName,
597
- onChange: (e) => V((t) => ({
611
+ value: H.firstName,
612
+ onChange: (e) => U((t) => ({
598
613
  ...t,
599
614
  firstName: e.target.value
600
615
  })),
@@ -604,8 +619,8 @@ var y = [
604
619
  children: "Last Name *"
605
620
  }), /* @__PURE__ */ _("input", {
606
621
  type: "text",
607
- value: B.lastName,
608
- onChange: (e) => V((t) => ({
622
+ value: H.lastName,
623
+ onChange: (e) => U((t) => ({
609
624
  ...t,
610
625
  lastName: e.target.value
611
626
  })),
@@ -617,8 +632,8 @@ var y = [
617
632
  children: "Email *"
618
633
  }), /* @__PURE__ */ _("input", {
619
634
  type: "email",
620
- value: B.email,
621
- onChange: (e) => V((t) => ({
635
+ value: H.email,
636
+ onChange: (e) => U((t) => ({
622
637
  ...t,
623
638
  email: e.target.value
624
639
  })),
@@ -629,8 +644,8 @@ var y = [
629
644
  children: "Phone"
630
645
  }), /* @__PURE__ */ _("input", {
631
646
  type: "tel",
632
- value: B.phone,
633
- onChange: (e) => V((t) => ({
647
+ value: H.phone,
648
+ onChange: (e) => U((t) => ({
634
649
  ...t,
635
650
  phone: e.target.value
636
651
  })),
@@ -642,13 +657,13 @@ var y = [
642
657
  className: "block text-sm font-medium text-text-primary mb-1",
643
658
  children: "Role"
644
659
  }), /* @__PURE__ */ _("select", {
645
- value: B.role,
646
- onChange: (e) => V((t) => ({
660
+ value: H.role,
661
+ onChange: (e) => U((t) => ({
647
662
  ...t,
648
663
  role: e.target.value
649
664
  })),
650
665
  className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
651
- children: Object.entries(x).map(([e, t]) => /* @__PURE__ */ _("option", {
666
+ children: Object.entries(C).map(([e, t]) => /* @__PURE__ */ _("option", {
652
667
  value: e,
653
668
  children: t.label
654
669
  }, e))
@@ -657,8 +672,8 @@ var y = [
657
672
  children: "Hourly Rate (₹)"
658
673
  }), /* @__PURE__ */ _("input", {
659
674
  type: "number",
660
- value: B.hourlyRate,
661
- onChange: (e) => V((t) => ({
675
+ value: H.hourlyRate,
676
+ onChange: (e) => U((t) => ({
662
677
  ...t,
663
678
  hourlyRate: parseInt(e.target.value) || 0
664
679
  })),
@@ -671,12 +686,12 @@ var y = [
671
686
  className: "flex gap-3 mt-6",
672
687
  children: [/* @__PURE__ */ _("button", {
673
688
  type: "button",
674
- onClick: () => F(!1),
689
+ onClick: () => L(!1),
675
690
  className: "flex-1 rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
676
691
  children: "Cancel"
677
692
  }), /* @__PURE__ */ _("button", {
678
693
  type: "button",
679
- onClick: Z,
694
+ onClick: $,
680
695
  className: "flex-1 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80",
681
696
  children: "Send Invite"
682
697
  })]
@@ -685,7 +700,7 @@ var y = [
685
700
  })
686
701
  })
687
702
  }),
688
- I && R && /* @__PURE__ */ _("div", {
703
+ R && B && /* @__PURE__ */ _("div", {
689
704
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
690
705
  children: /* @__PURE__ */ _("div", {
691
706
  className: "w-full max-w-lg rounded-lg border border-border-subtle bg-bg-surface shadow-xl",
@@ -699,7 +714,7 @@ var y = [
699
714
  children: "Edit Staff Member"
700
715
  }), /* @__PURE__ */ _("button", {
701
716
  type: "button",
702
- onClick: () => L(!1),
717
+ onClick: () => z(!1),
703
718
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken",
704
719
  children: /* @__PURE__ */ _(g, { className: "h-5 w-5" })
705
720
  })]
@@ -714,8 +729,8 @@ var y = [
714
729
  children: "First Name"
715
730
  }), /* @__PURE__ */ _("input", {
716
731
  type: "text",
717
- value: H.firstName,
718
- onChange: (e) => U((t) => ({
732
+ value: W.firstName,
733
+ onChange: (e) => G((t) => ({
719
734
  ...t,
720
735
  firstName: e.target.value
721
736
  })),
@@ -725,8 +740,8 @@ var y = [
725
740
  children: "Last Name"
726
741
  }), /* @__PURE__ */ _("input", {
727
742
  type: "text",
728
- value: H.lastName,
729
- onChange: (e) => U((t) => ({
743
+ value: W.lastName,
744
+ onChange: (e) => G((t) => ({
730
745
  ...t,
731
746
  lastName: e.target.value
732
747
  })),
@@ -738,8 +753,8 @@ var y = [
738
753
  children: "Email"
739
754
  }), /* @__PURE__ */ _("input", {
740
755
  type: "email",
741
- value: H.email,
742
- onChange: (e) => U((t) => ({
756
+ value: W.email,
757
+ onChange: (e) => G((t) => ({
743
758
  ...t,
744
759
  email: e.target.value
745
760
  })),
@@ -750,8 +765,8 @@ var y = [
750
765
  children: "Phone"
751
766
  }), /* @__PURE__ */ _("input", {
752
767
  type: "tel",
753
- value: H.phone,
754
- onChange: (e) => U((t) => ({
768
+ value: W.phone,
769
+ onChange: (e) => G((t) => ({
755
770
  ...t,
756
771
  phone: e.target.value
757
772
  })),
@@ -764,13 +779,13 @@ var y = [
764
779
  className: "block text-sm font-medium text-text-primary mb-1",
765
780
  children: "Role"
766
781
  }), /* @__PURE__ */ _("select", {
767
- value: H.role,
768
- onChange: (e) => U((t) => ({
782
+ value: W.role,
783
+ onChange: (e) => G((t) => ({
769
784
  ...t,
770
785
  role: e.target.value
771
786
  })),
772
787
  className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
773
- children: Object.entries(x).map(([e, t]) => /* @__PURE__ */ _("option", {
788
+ children: Object.entries(C).map(([e, t]) => /* @__PURE__ */ _("option", {
774
789
  value: e,
775
790
  children: t.label
776
791
  }, e))
@@ -780,8 +795,8 @@ var y = [
780
795
  children: "Rate (₹/hr)"
781
796
  }), /* @__PURE__ */ _("input", {
782
797
  type: "number",
783
- value: H.hourlyRate,
784
- onChange: (e) => U((t) => ({
798
+ value: W.hourlyRate,
799
+ onChange: (e) => G((t) => ({
785
800
  ...t,
786
801
  hourlyRate: parseInt(e.target.value) || 0
787
802
  })),
@@ -791,13 +806,13 @@ var y = [
791
806
  className: "block text-sm font-medium text-text-primary mb-1",
792
807
  children: "Status"
793
808
  }), /* @__PURE__ */ _("select", {
794
- value: H.status,
795
- onChange: (e) => U((t) => ({
809
+ value: W.status,
810
+ onChange: (e) => G((t) => ({
796
811
  ...t,
797
812
  status: e.target.value
798
813
  })),
799
814
  className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
800
- children: Object.entries(b).map(([e, t]) => /* @__PURE__ */ _("option", {
815
+ children: Object.entries(S).map(([e, t]) => /* @__PURE__ */ _("option", {
801
816
  value: e,
802
817
  children: t.label
803
818
  }, e))
@@ -810,12 +825,12 @@ var y = [
810
825
  className: "flex gap-3 mt-6",
811
826
  children: [/* @__PURE__ */ _("button", {
812
827
  type: "button",
813
- onClick: () => L(!1),
828
+ onClick: () => z(!1),
814
829
  className: "flex-1 rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
815
830
  children: "Cancel"
816
831
  }), /* @__PURE__ */ _("button", {
817
832
  type: "button",
818
- onClick: $,
833
+ onClick: te,
819
834
  className: "flex-1 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80",
820
835
  children: "Save Changes"
821
836
  })]
@@ -828,6 +843,6 @@ var y = [
828
843
  });
829
844
  };
830
845
  //#endregion
831
- export { C as StaffManagementPage };
846
+ export { T as StaffManagementPage };
832
847
 
833
848
  //# sourceMappingURL=StaffManagementPage.js.map