@burdenoff/microfe-atheletebridge 2026.624.1 → 2026.625.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 (99) hide show
  1. package/dist/atheletebridge/components/EmptyState.js +18 -11
  2. package/dist/atheletebridge/components/EmptyState.js.map +1 -1
  3. package/dist/atheletebridge/components/InvestmentCard.js +7 -7
  4. package/dist/atheletebridge/components/InvestmentCard.js.map +1 -1
  5. package/dist/atheletebridge/components/MetricsCard.js +20 -14
  6. package/dist/atheletebridge/components/MetricsCard.js.map +1 -1
  7. package/dist/atheletebridge/components/PageLayout.js +30 -19
  8. package/dist/atheletebridge/components/PageLayout.js.map +1 -1
  9. package/dist/atheletebridge/pages/HomePage.js +210 -195
  10. package/dist/atheletebridge/pages/HomePage.js.map +1 -1
  11. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
  12. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
  13. package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
  14. package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
  15. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
  16. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
  17. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
  18. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
  19. package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
  20. package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
  21. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
  22. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
  23. package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
  24. package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
  25. package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
  26. package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
  27. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
  28. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  29. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
  30. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  31. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
  32. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  33. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
  34. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  35. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
  36. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  37. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
  38. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  39. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
  40. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
  41. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
  42. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
  43. package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
  44. package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
  45. package/dist/atheletebridge/pages/common/NotificationCenterPage.js +100 -91
  46. package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
  47. package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
  48. package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
  49. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +365 -356
  50. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
  51. package/dist/atheletebridge/pages/customer/CartDetailPage.js +277 -241
  52. package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
  53. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +261 -250
  54. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
  55. package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
  56. package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
  57. package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
  58. package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
  59. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
  60. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
  61. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +524 -512
  62. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
  63. package/dist/atheletebridge/pages/customer/FavoritesPage.js +84 -75
  64. package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
  65. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +117 -108
  66. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
  67. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +66 -61
  68. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
  69. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +81 -75
  70. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
  71. package/dist/atheletebridge/pages/customer/ReviewsPage.js +81 -72
  72. package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
  73. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +63 -55
  74. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
  75. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
  76. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
  77. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +90 -84
  78. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  79. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
  80. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  81. package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
  82. package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
  83. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +38 -32
  84. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  85. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
  86. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
  87. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
  88. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
  89. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +353 -319
  90. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
  91. package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
  92. package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
  93. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +134 -128
  94. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
  95. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
  96. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
  97. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -342
  98. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
  99. package/package.json +3 -3
@@ -1,11 +1,13 @@
1
1
  import { useAthleteBridge as e } from "../../context/AthleteBridgeContext.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/atheletebridge/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-green-600 dark:text-green-400",
@@ -155,7 +157,7 @@ var y = [
155
157
  color: "text-red-600 dark:text-red-400",
156
158
  dot: "bg-red-500"
157
159
  }
158
- }, x = {
160
+ }, C = {
159
161
  manager: {
160
162
  label: "Manager",
161
163
  color: "bg-purple-500/20 text-purple-600 dark:text-purple-400"
@@ -176,15 +178,15 @@ var y = [
176
178
  label: "Cashier",
177
179
  color: "bg-cyan-500/20 text-cyan-600 dark:text-cyan-400"
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,66 +284,70 @@ 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: [
291
293
  /* @__PURE__ */ v("div", {
292
294
  className: "space-y-4",
293
295
  children: [
294
- W && /* @__PURE__ */ v("div", {
295
- className: t("flex items-center gap-2 rounded-lg border p-3", W.type === "success" ? "border-green-500/30 bg-green-500/10" : "border-red-500/30 bg-red-500/10"),
296
- children: [W.type === "success" ? /* @__PURE__ */ _(o, { className: "h-4 w-4 text-green-600 dark:text-green-400" }) : /* @__PURE__ */ _(a, { className: "h-4 w-4 text-red-600 dark:text-red-400" }), /* @__PURE__ */ _("span", {
297
- className: t("text-sm font-medium", W.type === "success" ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400"),
298
- children: W.text
296
+ K && /* @__PURE__ */ v("div", {
297
+ className: t("flex items-center gap-2 rounded-lg border p-3", K.type === "success" ? "border-green-500/30 bg-green-500/10" : "border-red-500/30 bg-red-500/10"),
298
+ children: [K.type === "success" ? /* @__PURE__ */ _(s, { className: "h-4 w-4 text-green-600 dark:text-green-400" }) : /* @__PURE__ */ _(o, { className: "h-4 w-4 text-red-600 dark:text-red-400" }), /* @__PURE__ */ _("span", {
299
+ className: t("text-sm font-medium", K.type === "success" ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400"),
300
+ children: K.text
299
301
  })]
300
302
  }),
301
- /* @__PURE__ */ v("div", {
302
- className: "grid grid-cols-2 sm:grid-cols-4 gap-3",
303
- children: [
304
- /* @__PURE__ */ v("div", {
305
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
306
- children: [/* @__PURE__ */ _("p", {
307
- className: "text-2xl font-bold text-text-primary",
308
- children: w.length
309
- }), /* @__PURE__ */ _("p", {
310
- className: "text-xs text-text-secondary",
311
- children: "Total Staff"
312
- })]
313
- }),
314
- /* @__PURE__ */ v("div", {
315
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
316
- children: [/* @__PURE__ */ _("p", {
317
- className: "text-2xl font-bold text-green-600 dark:text-green-400",
318
- children: q
319
- }), /* @__PURE__ */ _("p", {
320
- className: "text-xs text-text-secondary",
321
- children: "Active Now"
322
- })]
323
- }),
324
- /* @__PURE__ */ v("div", {
325
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
326
- children: [/* @__PURE__ */ _("p", {
327
- className: "text-2xl font-bold text-yellow-600 dark:text-yellow-400",
328
- children: J
329
- }), /* @__PURE__ */ _("p", {
330
- className: "text-xs text-text-secondary",
331
- children: "On Leave"
332
- })]
333
- }),
334
- /* @__PURE__ */ v("div", {
335
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
336
- children: [/* @__PURE__ */ _("p", {
337
- className: "text-2xl font-bold text-text-primary",
338
- children: Y
339
- }), /* @__PURE__ */ _("p", {
340
- className: "text-xs text-text-secondary",
341
- children: "Avg. Rating"
342
- })]
343
- })
344
- ]
303
+ /* @__PURE__ */ _(b, { children: "Build and manage your team. Invite workers and delivery partners, see who's active or on leave, track ratings, and manage shifts. A well-staffed, well-rated team keeps orders flowing and customers happy." }),
304
+ /* @__PURE__ */ _(y, {
305
+ className: "p-5",
306
+ children: /* @__PURE__ */ v("div", {
307
+ className: "grid grid-cols-2 sm:grid-cols-4 gap-3",
308
+ children: [
309
+ /* @__PURE__ */ v("div", {
310
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
311
+ children: [/* @__PURE__ */ _("p", {
312
+ className: "text-2xl font-bold text-text-primary",
313
+ children: E.length
314
+ }), /* @__PURE__ */ _("p", {
315
+ className: "text-xs text-text-secondary",
316
+ children: "Total Staff"
317
+ })]
318
+ }),
319
+ /* @__PURE__ */ v("div", {
320
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
321
+ children: [/* @__PURE__ */ _("p", {
322
+ className: "text-2xl font-bold text-green-600 dark:text-green-400",
323
+ children: Y
324
+ }), /* @__PURE__ */ _("p", {
325
+ className: "text-xs text-text-secondary",
326
+ children: "Active Now"
327
+ })]
328
+ }),
329
+ /* @__PURE__ */ v("div", {
330
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
331
+ children: [/* @__PURE__ */ _("p", {
332
+ className: "text-2xl font-bold text-yellow-600 dark:text-yellow-400",
333
+ children: X
334
+ }), /* @__PURE__ */ _("p", {
335
+ className: "text-xs text-text-secondary",
336
+ children: "On Leave"
337
+ })]
338
+ }),
339
+ /* @__PURE__ */ v("div", {
340
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
341
+ children: [/* @__PURE__ */ _("p", {
342
+ className: "text-2xl font-bold text-text-primary",
343
+ children: Z
344
+ }), /* @__PURE__ */ _("p", {
345
+ className: "text-xs text-text-secondary",
346
+ children: "Avg. Rating"
347
+ })]
348
+ })
349
+ ]
350
+ })
345
351
  }),
346
352
  /* @__PURE__ */ _("div", {
347
353
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
@@ -350,41 +356,41 @@ var y = [
350
356
  children: [
351
357
  /* @__PURE__ */ v("div", {
352
358
  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", {
359
+ children: [/* @__PURE__ */ _(f, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ _("input", {
354
360
  type: "text",
355
361
  placeholder: "Search staff...",
356
- value: E,
357
- onChange: (e) => D(e.target.value),
362
+ value: O,
363
+ onChange: (e) => k(e.target.value),
358
364
  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
365
  })]
360
366
  }),
361
367
  /* @__PURE__ */ v("select", {
362
- value: O,
363
- onChange: (e) => k(e.target.value),
368
+ value: A,
369
+ onChange: (e) => j(e.target.value),
364
370
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
365
371
  children: [/* @__PURE__ */ _("option", {
366
372
  value: "",
367
373
  children: "All Roles"
368
- }), Object.entries(x).map(([e, t]) => /* @__PURE__ */ _("option", {
374
+ }), Object.entries(C).map(([e, t]) => /* @__PURE__ */ _("option", {
369
375
  value: e,
370
376
  children: t.label
371
377
  }, e))]
372
378
  }),
373
379
  /* @__PURE__ */ v("select", {
374
- value: A,
375
- onChange: (e) => j(e.target.value),
380
+ value: M,
381
+ onChange: (e) => N(e.target.value),
376
382
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
377
383
  children: [/* @__PURE__ */ _("option", {
378
384
  value: "",
379
385
  children: "All Status"
380
- }), Object.entries(b).map(([e, t]) => /* @__PURE__ */ _("option", {
386
+ }), Object.entries(S).map(([e, t]) => /* @__PURE__ */ _("option", {
381
387
  value: e,
382
388
  children: t.label
383
389
  }, e))]
384
390
  }),
385
391
  /* @__PURE__ */ v("select", {
386
- value: M,
387
- onChange: (e) => N(e.target.value),
392
+ value: P,
393
+ onChange: (e) => F(e.target.value),
388
394
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
389
395
  children: [
390
396
  /* @__PURE__ */ _("option", {
@@ -408,23 +414,25 @@ var y = [
408
414
  ]
409
415
  })
410
416
  }),
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"
417
+ Q.length === 0 ? /* @__PURE__ */ _("div", {
418
+ className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm",
419
+ children: /* @__PURE__ */ _(r, {
420
+ illustration: "empty-people",
421
+ title: "No staff members found",
422
+ description: "No team members match your filters. Adjust your search, or invite your first staff member to get started.",
423
+ action: /* @__PURE__ */ v("button", {
424
+ type: "button",
425
+ onClick: () => {
426
+ U(w), L(!0);
427
+ },
428
+ className: "inline-flex items-center gap-1.5 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
429
+ children: [/* @__PURE__ */ _(h, { className: "h-4 w-4" }), "Invite Staff"]
422
430
  })
423
- ]
431
+ })
424
432
  }) : /* @__PURE__ */ _("div", {
425
433
  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];
434
+ children: Q.map((e) => {
435
+ let n = S[e.status], r = C[e.role];
428
436
  return /* @__PURE__ */ v("div", {
429
437
  className: "p-4 sm:p-5 hover:bg-bg-sunken/30 transition-colors",
430
438
  children: [/* @__PURE__ */ v("div", {
@@ -463,10 +471,10 @@ var y = [
463
471
  className: "flex items-center gap-3 mt-1 text-xs text-text-secondary flex-wrap",
464
472
  children: [/* @__PURE__ */ v("span", {
465
473
  className: "flex items-center gap-1",
466
- children: [/* @__PURE__ */ _(l, { className: "h-3 w-3" }), e.email]
474
+ children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), e.email]
467
475
  }), /* @__PURE__ */ v("span", {
468
476
  className: "flex items-center gap-1",
469
- children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), e.phone]
477
+ children: [/* @__PURE__ */ _(d, { className: "h-3 w-3" }), e.phone]
470
478
  })]
471
479
  })]
472
480
  })]
@@ -479,7 +487,7 @@ var y = [
479
487
  className: "text-center",
480
488
  children: [/* @__PURE__ */ v("p", {
481
489
  className: "font-bold text-text-primary flex items-center gap-0.5 justify-center",
482
- children: [/* @__PURE__ */ _(f, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }), e.performance.rating]
490
+ children: [/* @__PURE__ */ _(p, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }), e.performance.rating]
483
491
  }), /* @__PURE__ */ _("p", {
484
492
  className: "text-text-secondary",
485
493
  children: "Rating"
@@ -509,7 +517,7 @@ var y = [
509
517
  className: "text-center",
510
518
  children: [/* @__PURE__ */ v("p", {
511
519
  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]
520
+ children: [/* @__PURE__ */ _(c, { className: "h-3 w-3 text-text-secondary" }), e.currentShift]
513
521
  }), /* @__PURE__ */ _("p", {
514
522
  className: "text-text-secondary",
515
523
  children: "Shift"
@@ -521,24 +529,24 @@ var y = [
521
529
  children: [
522
530
  /* @__PURE__ */ _("button", {
523
531
  type: "button",
524
- onClick: () => ee(e.id),
532
+ onClick: () => ne(e.id),
525
533
  className: t("h-6 w-11 rounded-full transition-colors relative", e.status === "active" ? "bg-green-500" : "bg-muted-foreground/30"),
526
534
  title: e.status === "active" ? "Deactivate" : "Activate",
527
535
  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
536
  }),
529
537
  /* @__PURE__ */ _("button", {
530
538
  type: "button",
531
- onClick: () => Q(e),
539
+ onClick: () => ee(e),
532
540
  className: "rounded p-1.5 text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
533
541
  title: "Edit",
534
- children: /* @__PURE__ */ _(c, { className: "h-4 w-4" })
542
+ children: /* @__PURE__ */ _(l, { className: "h-4 w-4" })
535
543
  }),
536
544
  /* @__PURE__ */ _("button", {
537
545
  type: "button",
538
- onClick: () => te(e.id),
546
+ onClick: () => re(e.id),
539
547
  className: "rounded p-1.5 text-text-secondary hover:bg-red-500/10 hover:text-red-600 transition-colors",
540
548
  title: "Remove",
541
- children: /* @__PURE__ */ _(p, { className: "h-4 w-4" })
549
+ children: /* @__PURE__ */ _(m, { className: "h-4 w-4" })
542
550
  })
543
551
  ]
544
552
  })]
@@ -548,13 +556,13 @@ var y = [
548
556
  children: [
549
557
  /* @__PURE__ */ v("span", {
550
558
  className: "flex items-center gap-0.5",
551
- children: [/* @__PURE__ */ _(f, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }), e.performance.rating]
559
+ children: [/* @__PURE__ */ _(p, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }), e.performance.rating]
552
560
  }),
553
561
  /* @__PURE__ */ v("span", { children: [e.performance.tasksCompleted, " tasks"] }),
554
562
  /* @__PURE__ */ v("span", { children: [e.performance.punctuality, "% on time"] }),
555
563
  e.currentShift && /* @__PURE__ */ v("span", {
556
564
  className: "flex items-center gap-0.5",
557
- children: [/* @__PURE__ */ _(s, { className: "h-3 w-3" }), e.currentShift]
565
+ children: [/* @__PURE__ */ _(c, { className: "h-3 w-3" }), e.currentShift]
558
566
  }),
559
567
  /* @__PURE__ */ v("span", { children: [e.shiftsThisWeek, " shifts/wk"] })
560
568
  ]
@@ -564,7 +572,7 @@ var y = [
564
572
  })
565
573
  ]
566
574
  }),
567
- P && /* @__PURE__ */ _("div", {
575
+ I && /* @__PURE__ */ _("div", {
568
576
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
569
577
  children: /* @__PURE__ */ _("div", {
570
578
  className: "w-full max-w-lg rounded-lg border border-border-subtle bg-bg-surface shadow-xl",
@@ -578,7 +586,7 @@ var y = [
578
586
  children: "Invite Staff Member"
579
587
  }), /* @__PURE__ */ _("button", {
580
588
  type: "button",
581
- onClick: () => F(!1),
589
+ onClick: () => L(!1),
582
590
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken",
583
591
  children: /* @__PURE__ */ _(g, { className: "h-5 w-5" })
584
592
  })]
@@ -593,8 +601,8 @@ var y = [
593
601
  children: "First Name *"
594
602
  }), /* @__PURE__ */ _("input", {
595
603
  type: "text",
596
- value: B.firstName,
597
- onChange: (e) => V((t) => ({
604
+ value: H.firstName,
605
+ onChange: (e) => U((t) => ({
598
606
  ...t,
599
607
  firstName: e.target.value
600
608
  })),
@@ -604,8 +612,8 @@ var y = [
604
612
  children: "Last Name *"
605
613
  }), /* @__PURE__ */ _("input", {
606
614
  type: "text",
607
- value: B.lastName,
608
- onChange: (e) => V((t) => ({
615
+ value: H.lastName,
616
+ onChange: (e) => U((t) => ({
609
617
  ...t,
610
618
  lastName: e.target.value
611
619
  })),
@@ -617,8 +625,8 @@ var y = [
617
625
  children: "Email *"
618
626
  }), /* @__PURE__ */ _("input", {
619
627
  type: "email",
620
- value: B.email,
621
- onChange: (e) => V((t) => ({
628
+ value: H.email,
629
+ onChange: (e) => U((t) => ({
622
630
  ...t,
623
631
  email: e.target.value
624
632
  })),
@@ -629,8 +637,8 @@ var y = [
629
637
  children: "Phone"
630
638
  }), /* @__PURE__ */ _("input", {
631
639
  type: "tel",
632
- value: B.phone,
633
- onChange: (e) => V((t) => ({
640
+ value: H.phone,
641
+ onChange: (e) => U((t) => ({
634
642
  ...t,
635
643
  phone: e.target.value
636
644
  })),
@@ -642,13 +650,13 @@ var y = [
642
650
  className: "block text-sm font-medium text-text-primary mb-1",
643
651
  children: "Role"
644
652
  }), /* @__PURE__ */ _("select", {
645
- value: B.role,
646
- onChange: (e) => V((t) => ({
653
+ value: H.role,
654
+ onChange: (e) => U((t) => ({
647
655
  ...t,
648
656
  role: e.target.value
649
657
  })),
650
658
  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", {
659
+ children: Object.entries(C).map(([e, t]) => /* @__PURE__ */ _("option", {
652
660
  value: e,
653
661
  children: t.label
654
662
  }, e))
@@ -657,8 +665,8 @@ var y = [
657
665
  children: "Hourly Rate (₹)"
658
666
  }), /* @__PURE__ */ _("input", {
659
667
  type: "number",
660
- value: B.hourlyRate,
661
- onChange: (e) => V((t) => ({
668
+ value: H.hourlyRate,
669
+ onChange: (e) => U((t) => ({
662
670
  ...t,
663
671
  hourlyRate: parseInt(e.target.value) || 0
664
672
  })),
@@ -671,12 +679,12 @@ var y = [
671
679
  className: "flex gap-3 mt-6",
672
680
  children: [/* @__PURE__ */ _("button", {
673
681
  type: "button",
674
- onClick: () => F(!1),
682
+ onClick: () => L(!1),
675
683
  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
684
  children: "Cancel"
677
685
  }), /* @__PURE__ */ _("button", {
678
686
  type: "button",
679
- onClick: Z,
687
+ onClick: $,
680
688
  className: "flex-1 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80",
681
689
  children: "Send Invite"
682
690
  })]
@@ -685,7 +693,7 @@ var y = [
685
693
  })
686
694
  })
687
695
  }),
688
- I && R && /* @__PURE__ */ _("div", {
696
+ R && B && /* @__PURE__ */ _("div", {
689
697
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
690
698
  children: /* @__PURE__ */ _("div", {
691
699
  className: "w-full max-w-lg rounded-lg border border-border-subtle bg-bg-surface shadow-xl",
@@ -699,7 +707,7 @@ var y = [
699
707
  children: "Edit Staff Member"
700
708
  }), /* @__PURE__ */ _("button", {
701
709
  type: "button",
702
- onClick: () => L(!1),
710
+ onClick: () => z(!1),
703
711
  className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken",
704
712
  children: /* @__PURE__ */ _(g, { className: "h-5 w-5" })
705
713
  })]
@@ -714,8 +722,8 @@ var y = [
714
722
  children: "First Name"
715
723
  }), /* @__PURE__ */ _("input", {
716
724
  type: "text",
717
- value: H.firstName,
718
- onChange: (e) => U((t) => ({
725
+ value: W.firstName,
726
+ onChange: (e) => G((t) => ({
719
727
  ...t,
720
728
  firstName: e.target.value
721
729
  })),
@@ -725,8 +733,8 @@ var y = [
725
733
  children: "Last Name"
726
734
  }), /* @__PURE__ */ _("input", {
727
735
  type: "text",
728
- value: H.lastName,
729
- onChange: (e) => U((t) => ({
736
+ value: W.lastName,
737
+ onChange: (e) => G((t) => ({
730
738
  ...t,
731
739
  lastName: e.target.value
732
740
  })),
@@ -738,8 +746,8 @@ var y = [
738
746
  children: "Email"
739
747
  }), /* @__PURE__ */ _("input", {
740
748
  type: "email",
741
- value: H.email,
742
- onChange: (e) => U((t) => ({
749
+ value: W.email,
750
+ onChange: (e) => G((t) => ({
743
751
  ...t,
744
752
  email: e.target.value
745
753
  })),
@@ -750,8 +758,8 @@ var y = [
750
758
  children: "Phone"
751
759
  }), /* @__PURE__ */ _("input", {
752
760
  type: "tel",
753
- value: H.phone,
754
- onChange: (e) => U((t) => ({
761
+ value: W.phone,
762
+ onChange: (e) => G((t) => ({
755
763
  ...t,
756
764
  phone: e.target.value
757
765
  })),
@@ -764,13 +772,13 @@ var y = [
764
772
  className: "block text-sm font-medium text-text-primary mb-1",
765
773
  children: "Role"
766
774
  }), /* @__PURE__ */ _("select", {
767
- value: H.role,
768
- onChange: (e) => U((t) => ({
775
+ value: W.role,
776
+ onChange: (e) => G((t) => ({
769
777
  ...t,
770
778
  role: e.target.value
771
779
  })),
772
780
  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", {
781
+ children: Object.entries(C).map(([e, t]) => /* @__PURE__ */ _("option", {
774
782
  value: e,
775
783
  children: t.label
776
784
  }, e))
@@ -780,8 +788,8 @@ var y = [
780
788
  children: "Rate (₹/hr)"
781
789
  }), /* @__PURE__ */ _("input", {
782
790
  type: "number",
783
- value: H.hourlyRate,
784
- onChange: (e) => U((t) => ({
791
+ value: W.hourlyRate,
792
+ onChange: (e) => G((t) => ({
785
793
  ...t,
786
794
  hourlyRate: parseInt(e.target.value) || 0
787
795
  })),
@@ -791,13 +799,13 @@ var y = [
791
799
  className: "block text-sm font-medium text-text-primary mb-1",
792
800
  children: "Status"
793
801
  }), /* @__PURE__ */ _("select", {
794
- value: H.status,
795
- onChange: (e) => U((t) => ({
802
+ value: W.status,
803
+ onChange: (e) => G((t) => ({
796
804
  ...t,
797
805
  status: e.target.value
798
806
  })),
799
807
  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", {
808
+ children: Object.entries(S).map(([e, t]) => /* @__PURE__ */ _("option", {
801
809
  value: e,
802
810
  children: t.label
803
811
  }, e))
@@ -810,12 +818,12 @@ var y = [
810
818
  className: "flex gap-3 mt-6",
811
819
  children: [/* @__PURE__ */ _("button", {
812
820
  type: "button",
813
- onClick: () => L(!1),
821
+ onClick: () => z(!1),
814
822
  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
823
  children: "Cancel"
816
824
  }), /* @__PURE__ */ _("button", {
817
825
  type: "button",
818
- onClick: $,
826
+ onClick: te,
819
827
  className: "flex-1 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80",
820
828
  children: "Save Changes"
821
829
  })]
@@ -828,6 +836,6 @@ var y = [
828
836
  });
829
837
  };
830
838
  //#endregion
831
- export { C as StaffManagementPage };
839
+ export { T as StaffManagementPage };
832
840
 
833
841
  //# sourceMappingURL=StaffManagementPage.js.map