@burdenoff/microfe-kadaikodi 2026.626.2 → 2026.704.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/kadaikodi/hooks/useKadaikodiApi.js +260 -105
  2. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  3. package/dist/kadaikodi/pages/HomePage.js +4 -4
  4. package/dist/kadaikodi/pages/HomePage.js.map +1 -1
  5. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
  6. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  7. package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
  8. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  9. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
  10. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  11. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
  12. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  13. package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
  14. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  15. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
  16. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  17. package/dist/kadaikodi/pages/admin/CartManagementPage.js +279 -333
  18. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  19. package/dist/kadaikodi/pages/admin/UserManagementPage.js +299 -372
  20. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  21. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
  22. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  23. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
  24. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  25. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +329 -432
  26. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  27. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -384
  28. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  29. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
  30. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  31. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +276 -279
  32. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  33. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +229 -447
  34. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  35. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
  36. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  37. package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
  38. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  39. package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
  40. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  41. package/dist/kadaikodi/pages/common/SettingsPage.js +34 -46
  42. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  43. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +193 -447
  44. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
  45. package/dist/kadaikodi/pages/customer/CartDetailPage.js +6 -6
  46. package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
  47. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +2 -2
  48. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
  49. package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
  50. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  51. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
  52. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  53. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
  54. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  55. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +255 -215
  56. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  57. package/dist/kadaikodi/pages/customer/FavoritesPage.js +141 -178
  58. package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
  59. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  60. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +155 -161
  61. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  62. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
  63. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
  64. package/dist/kadaikodi/pages/customer/ReviewsPage.js +14 -140
  65. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  66. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
  67. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  68. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
  69. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  70. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +258 -523
  71. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  72. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
  73. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  74. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +128 -295
  75. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  76. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +205 -291
  77. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  78. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
  79. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  80. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +426 -514
  81. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  82. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +231 -225
  83. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  84. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +197 -301
  85. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  86. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +247 -399
  87. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  88. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +294 -327
  89. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  90. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +179 -397
  91. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  92. package/package.json +1 -1
  93. package/dist/kadaikodi/mocks/data.js +0 -1517
  94. package/dist/kadaikodi/mocks/data.js.map +0 -1
  95. package/dist/kadaikodi/mocks/users.js +0 -34
  96. package/dist/kadaikodi/mocks/users.js.map +0 -1
@@ -2,24 +2,29 @@ import { useKadaikodi as e } from "../../context/KadaikodiContext.js";
2
2
  import { cn as t } from "../../utils/cn.js";
3
3
  import { PageLayout as n } from "../../components/PageLayout.js";
4
4
  import { EmptyState as r } from "../../components/EmptyState.js";
5
- import { formatCurrency as i } from "../../utils/formatters.js";
6
- import { useEffect as a, useMemo as o, useState as s } from "react";
7
- import { Calendar as c, CalendarDays as l, CheckCircle2 as u, ChevronLeft as d, ChevronRight as f, Loader2 as p, LogIn as m, LogOut as h, MapPin as g, PlayCircle as _, Save as v, Send as y, ShoppingCart as b, Star as x, Timer as S } from "lucide-react";
8
- import { jsx as C, jsxs as w } from "react/jsx-runtime";
9
- import { EmphasisPanel as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
5
+ import { useWorkerClockInOut as i, useWorkerSchedules as a } from "../../hooks/useKadaikodiApi.js";
6
+ import { formatCurrency as o } from "../../utils/formatters.js";
7
+ import { useMemo as s, useState as c } from "react";
8
+ import { Calendar as l, CalendarDays as u, CheckCircle2 as d, ChevronLeft as f, ChevronRight as p, Loader2 as m, LogIn as h, LogOut as g, PlayCircle as _, Save as v, Send as y, ShoppingCart as b, Timer as x } from "lucide-react";
9
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
10
+ import { EmphasisPanel as w, PagePurpose as T } from "@burdenoff/fe-libs/ui";
10
11
  //#region src/kadaikodi/pages/worker/WorkerSchedulePage.tsx
11
- function D(e) {
12
- return new Date(e).toLocaleDateString("en-US", {
12
+ function E(e) {
13
+ let t = new Date(e);
14
+ return Number.isNaN(t.getTime()) ? e : t.toLocaleDateString("en-US", {
13
15
  weekday: "short",
14
16
  month: "short",
15
17
  day: "numeric"
16
18
  });
17
19
  }
18
- function O(e) {
19
- let [t, n] = e.split(":"), r = parseInt(t), i = r >= 12 ? "PM" : "AM";
20
- return `${r % 12 || 12}:${n} ${i}`;
20
+ function D(e) {
21
+ if (!e) return "";
22
+ let [t, n] = e.split(":"), r = parseInt(t, 10);
23
+ if (Number.isNaN(r)) return e;
24
+ let i = r >= 12 ? "PM" : "AM";
25
+ return `${r % 12 || 12}:${n ?? "00"} ${i}`;
21
26
  }
22
- function k(e) {
27
+ function O(e) {
23
28
  let t = /* @__PURE__ */ new Date(), n = t.getDay(), r = new Date(t);
24
29
  r.setDate(t.getDate() - n + e * 7);
25
30
  let i = new Date(r);
@@ -35,541 +40,318 @@ function k(e) {
35
40
  })
36
41
  };
37
42
  }
38
- function A(e) {
43
+ function k(e) {
39
44
  switch (e) {
40
45
  case "scheduled": return "bg-[var(--color-accent-soft)] text-text-primary";
41
- case "ongoing": return "bg-status-success-bg-subtle text-status-success-text";
42
- case "completed": return "bg-secondary text-secondary-foreground";
46
+ case "in_progress": return "bg-status-success-bg-subtle text-status-success-text";
47
+ case "completed": return "bg-bg-sunken text-text-secondary";
43
48
  case "cancelled": return "bg-status-error-bg-subtle text-status-error-text";
44
- default: return "bg-secondary text-secondary-foreground";
49
+ default: return "bg-bg-sunken text-text-secondary";
45
50
  }
46
51
  }
47
- function j(e) {
48
- switch (e) {
49
- case "pending": return "bg-status-warning-bg-subtle text-status-warning-text";
50
- case "approved": return "bg-status-success-bg-subtle text-status-success-text";
51
- case "rejected": return "bg-status-error-bg-subtle text-status-error-text";
52
- default: return "bg-secondary text-secondary-foreground";
53
- }
52
+ function A(e, t) {
53
+ if (!e || !t) return 0;
54
+ let n = /* @__PURE__ */ new Date(`2024-01-01T${e}`), r = /* @__PURE__ */ new Date(`2024-01-01T${t}`);
55
+ return Number.isNaN(n.getTime()) || Number.isNaN(r.getTime()) ? 0 : Math.max(0, (r.getTime() - n.getTime()) / (1e3 * 60 * 60));
54
56
  }
55
- var M = () => {
56
- let { navigateTo: M } = e(), [N, P] = s(!0), [F, I] = s("schedule"), [L, R] = s(0), [z, B] = s([]), [V, H] = s([]), [U, W] = s([]);
57
- a(() => {
58
- P(!0);
59
- let e = setTimeout(() => {
60
- B([
61
- {
62
- id: "shift-001",
63
- date: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
64
- startTime: "09:00",
65
- endTime: "14:00",
66
- cartId: "cart-001",
67
- cartName: "South Indian Express",
68
- location: "MG Road, Bangalore",
69
- status: "ongoing",
70
- earnings: 1200,
71
- tasksCompleted: 8
72
- },
73
- {
74
- id: "shift-002",
75
- date: new Date(Date.now() + 1440 * 60 * 1e3).toISOString().split("T")[0],
76
- startTime: "14:00",
77
- endTime: "20:00",
78
- cartId: "cart-002",
79
- cartName: "Chaat Corner",
80
- location: "Brigade Road, Bangalore",
81
- status: "scheduled",
82
- earnings: 1500
83
- },
84
- {
85
- id: "shift-003",
86
- date: (/* @__PURE__ */ new Date(Date.now() - 1440 * 60 * 1e3)).toISOString().split("T")[0],
87
- startTime: "10:00",
88
- endTime: "16:00",
89
- cartId: "cart-001",
90
- cartName: "South Indian Express",
91
- location: "MG Road, Bangalore",
92
- status: "completed",
93
- earnings: 1350,
94
- tasksCompleted: 12,
95
- rating: 4.8
96
- },
97
- {
98
- id: "shift-004",
99
- date: new Date(Date.now() + 4320 * 60 * 1e3).toISOString().split("T")[0],
100
- startTime: "08:00",
101
- endTime: "14:00",
102
- cartId: "cart-003",
103
- cartName: "Biryani Pot",
104
- location: "Frazer Town, Bangalore",
105
- status: "scheduled",
106
- earnings: 0
107
- }
108
- ]), H([
109
- {
110
- id: "req-001",
111
- date: new Date(Date.now() + 2880 * 60 * 1e3).toISOString().split("T")[0],
112
- startTime: "08:00",
113
- endTime: "14:00",
114
- cartName: "Burger Bliss",
115
- location: "Koramangala, Bangalore",
116
- status: "pending",
117
- requestedOn: (/* @__PURE__ */ new Date(Date.now() - 7200 * 1e3)).toISOString()
118
- },
119
- {
120
- id: "req-002",
121
- date: new Date(Date.now() + 4320 * 60 * 1e3).toISOString().split("T")[0],
122
- startTime: "16:00",
123
- endTime: "22:00",
124
- cartName: "Pizza Paradise",
125
- location: "Indiranagar, Bangalore",
126
- status: "approved",
127
- requestedOn: (/* @__PURE__ */ new Date(Date.now() - 1440 * 60 * 1e3)).toISOString()
128
- },
129
- {
130
- id: "req-003",
131
- date: (/* @__PURE__ */ new Date(Date.now() - 2880 * 60 * 1e3)).toISOString().split("T")[0],
132
- startTime: "10:00",
133
- endTime: "16:00",
134
- cartName: "Dosa Express",
135
- location: "BTM Layout, Bangalore",
136
- status: "rejected",
137
- requestedOn: (/* @__PURE__ */ new Date(Date.now() - 4320 * 60 * 1e3)).toISOString()
138
- }
139
- ]), W([
140
- {
141
- dayOfWeek: "Monday",
142
- isAvailable: !0,
143
- preferredStartTime: "09:00",
144
- preferredEndTime: "18:00"
145
- },
146
- {
147
- dayOfWeek: "Tuesday",
148
- isAvailable: !0,
149
- preferredStartTime: "09:00",
150
- preferredEndTime: "18:00"
151
- },
152
- {
153
- dayOfWeek: "Wednesday",
154
- isAvailable: !0,
155
- preferredStartTime: "09:00",
156
- preferredEndTime: "18:00"
157
- },
158
- {
159
- dayOfWeek: "Thursday",
160
- isAvailable: !0,
161
- preferredStartTime: "09:00",
162
- preferredEndTime: "18:00"
163
- },
164
- {
165
- dayOfWeek: "Friday",
166
- isAvailable: !0,
167
- preferredStartTime: "09:00",
168
- preferredEndTime: "20:00"
169
- },
170
- {
171
- dayOfWeek: "Saturday",
172
- isAvailable: !0,
173
- preferredStartTime: "10:00",
174
- preferredEndTime: "20:00"
175
- },
176
- {
177
- dayOfWeek: "Sunday",
178
- isAvailable: !1,
179
- preferredStartTime: "09:00",
180
- preferredEndTime: "18:00"
181
- }
182
- ]), P(!1);
183
- }, 600);
184
- return () => clearTimeout(e);
185
- }, [L]);
186
- let G = o(() => {
187
- let e = z.filter((e) => e.status !== "cancelled"), t = e.reduce((e, t) => {
188
- let n = /* @__PURE__ */ new Date(`2024-01-01T${t.startTime}`);
189
- return e + ((/* @__PURE__ */ new Date(`2024-01-01T${t.endTime}`)).getTime() - n.getTime()) / (1e3 * 60 * 60);
190
- }, 0), n = e.reduce((e, t) => e + t.earnings, 0), r = z.find((e) => e.status === "scheduled");
57
+ var j = [
58
+ "Monday",
59
+ "Tuesday",
60
+ "Wednesday",
61
+ "Thursday",
62
+ "Friday",
63
+ "Saturday",
64
+ "Sunday"
65
+ ].map((e) => ({
66
+ dayOfWeek: e,
67
+ isAvailable: e !== "Sunday",
68
+ preferredStartTime: "09:00",
69
+ preferredEndTime: "18:00"
70
+ })), M = () => {
71
+ let { currentUser: M } = e(), N = M?.id ?? "", { data: P = [], isLoading: F } = a(N), I = i(), [L, R] = c("schedule"), [z, B] = c(0), [V, H] = c(j), U = s(() => {
72
+ let e = P.filter((e) => e.status !== "cancelled"), t = e.reduce((e, t) => e + A(t.startTime, t.endTime), 0), n = e.reduce((e, t) => e + (t.totalEarnings ?? 0), 0), r = P.find((e) => e.status === "scheduled");
191
73
  return {
192
- hoursThisWeek: t,
74
+ hoursThisWeek: Math.round(t * 10) / 10,
193
75
  shiftsThisWeek: e.length,
194
76
  earningsThisWeek: n,
195
77
  nextShift: r
196
78
  };
197
- }, [z]), K = V.filter((e) => e.status === "pending").length, q = k(L), J = (e) => {
198
- B((t) => t.map((t) => t.id === e ? {
199
- ...t,
200
- status: "ongoing"
201
- } : t)), alert("Checked in successfully");
202
- }, Y = (e) => {
203
- B((t) => t.map((t) => t.id === e ? {
204
- ...t,
205
- status: "completed"
206
- } : t)), alert("Checked out successfully");
207
- }, X = (e) => {
208
- H((t) => t.map((t) => t.id === e ? {
209
- ...t,
210
- status: "approved"
211
- } : t)), alert("Shift accepted");
212
- }, Z = (e) => {
213
- H((t) => t.map((t) => t.id === e ? {
214
- ...t,
215
- status: "rejected"
216
- } : t)), alert("Shift rejected");
217
- }, Q = (e, t, n) => {
218
- W((r) => r.map((r) => r.dayOfWeek === e ? {
79
+ }, [P]), W = O(z), G = (e) => {
80
+ I.mutate({
81
+ workerId: N,
82
+ action: "CLOCK_IN"
83
+ });
84
+ }, K = (e) => {
85
+ I.mutate({
86
+ workerId: N,
87
+ action: "CLOCK_OUT"
88
+ });
89
+ }, q = (e, t, n) => {
90
+ H((r) => r.map((r) => r.dayOfWeek === e ? {
219
91
  ...r,
220
92
  [t]: n
221
93
  } : r));
222
94
  };
223
- return N ? /* @__PURE__ */ C(n, {
95
+ return F ? /* @__PURE__ */ S(n, {
224
96
  title: "Schedule",
225
97
  description: "Manage your work schedule",
226
- children: /* @__PURE__ */ C("div", {
98
+ children: /* @__PURE__ */ S("div", {
227
99
  className: "flex items-center justify-center py-24",
228
- children: /* @__PURE__ */ w("div", {
100
+ children: /* @__PURE__ */ C("div", {
229
101
  className: "text-center",
230
- children: [/* @__PURE__ */ C(p, { className: "h-10 w-10 animate-spin text-text-secondary mx-auto mb-4" }), /* @__PURE__ */ C("p", {
102
+ children: [/* @__PURE__ */ S(m, { className: "h-10 w-10 animate-spin text-text-secondary mx-auto mb-4" }), /* @__PURE__ */ S("p", {
231
103
  className: "text-sm text-text-secondary",
232
104
  children: "Loading schedule..."
233
105
  })]
234
106
  })
235
107
  })
236
- }) : /* @__PURE__ */ w(n, {
108
+ }) : /* @__PURE__ */ C(n, {
237
109
  title: "Schedule",
238
110
  description: "Manage your work schedule",
239
- children: [/* @__PURE__ */ C(E, {
111
+ children: [/* @__PURE__ */ S(T, {
240
112
  className: "mb-6",
241
- children: "Your shifts, hours and pay in one place. Use this page to see your upcoming shifts, request time off or swaps, and set the days and hours you're available — so your cart owner can roster you fairly and you always know when (and how much) you're working. Keep an eye on your weekly hours and next shift at the top."
242
- }), /* @__PURE__ */ w("div", {
113
+ children: "Your shifts, hours and pay in one place. Use this page to see your upcoming shifts, check in and out, and set the days and hours you're available — so your cart owner can roster you fairly and you always know when (and how much) you're working. Keep an eye on your weekly hours and next shift at the top."
114
+ }), /* @__PURE__ */ C("div", {
243
115
  className: "space-y-6",
244
- children: [/* @__PURE__ */ w(T, { children: [/* @__PURE__ */ C("h2", {
116
+ children: [/* @__PURE__ */ C(w, { children: [/* @__PURE__ */ S("h2", {
245
117
  className: "mb-4 text-base font-semibold text-text-primary",
246
118
  children: "This Week"
247
- }), /* @__PURE__ */ w("div", {
119
+ }), /* @__PURE__ */ C("div", {
248
120
  className: "grid grid-cols-2 md:grid-cols-4 gap-3",
249
121
  children: [
250
- /* @__PURE__ */ w("div", {
122
+ /* @__PURE__ */ C("div", {
251
123
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
252
- children: [/* @__PURE__ */ C("p", {
124
+ children: [/* @__PURE__ */ S("p", {
253
125
  className: "text-xs text-text-secondary",
254
126
  children: "Hours This Week"
255
- }), /* @__PURE__ */ w("p", {
127
+ }), /* @__PURE__ */ C("p", {
256
128
  className: "text-2xl font-bold text-text-primary",
257
- children: [G.hoursThisWeek, "h"]
129
+ children: [U.hoursThisWeek, "h"]
258
130
  })]
259
131
  }),
260
- /* @__PURE__ */ w("div", {
132
+ /* @__PURE__ */ C("div", {
261
133
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
262
- children: [/* @__PURE__ */ C("p", {
134
+ children: [/* @__PURE__ */ S("p", {
263
135
  className: "text-xs text-text-secondary",
264
136
  children: "Shifts This Week"
265
- }), /* @__PURE__ */ C("p", {
137
+ }), /* @__PURE__ */ S("p", {
266
138
  className: "text-2xl font-bold text-text-primary",
267
- children: G.shiftsThisWeek
139
+ children: U.shiftsThisWeek
268
140
  })]
269
141
  }),
270
- /* @__PURE__ */ w("div", {
142
+ /* @__PURE__ */ C("div", {
271
143
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
272
- children: [/* @__PURE__ */ C("p", {
144
+ children: [/* @__PURE__ */ S("p", {
273
145
  className: "text-xs text-text-secondary",
274
146
  children: "Week Earnings"
275
- }), /* @__PURE__ */ C("p", {
147
+ }), /* @__PURE__ */ S("p", {
276
148
  className: "text-2xl font-bold text-text-primary",
277
- children: i(G.earningsThisWeek, { minimumFractionDigits: 0 })
149
+ children: o(U.earningsThisWeek, { minimumFractionDigits: 0 })
278
150
  })]
279
151
  }),
280
- /* @__PURE__ */ w("div", {
152
+ /* @__PURE__ */ C("div", {
281
153
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
282
- children: [/* @__PURE__ */ C("p", {
154
+ children: [/* @__PURE__ */ S("p", {
283
155
  className: "text-xs text-text-secondary",
284
156
  children: "Next Shift"
285
- }), /* @__PURE__ */ C("p", {
157
+ }), /* @__PURE__ */ S("p", {
286
158
  className: "text-sm font-bold text-text-primary",
287
- children: G.nextShift ? `${D(G.nextShift.date)} ${O(G.nextShift.startTime)}` : "None scheduled"
159
+ children: U.nextShift ? `${E(U.nextShift.date)} ${D(U.nextShift.startTime)}` : "None scheduled"
288
160
  })]
289
161
  })
290
162
  ]
291
- })] }), /* @__PURE__ */ w("div", {
163
+ })] }), /* @__PURE__ */ C("div", {
292
164
  className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm overflow-hidden",
293
- children: [/* @__PURE__ */ w("div", {
165
+ children: [/* @__PURE__ */ C("div", {
294
166
  className: "flex border-b border-border-subtle",
295
167
  children: [
296
- /* @__PURE__ */ w("button", {
168
+ /* @__PURE__ */ C("button", {
297
169
  type: "button",
298
- onClick: () => I("schedule"),
299
- className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2", F === "schedule" ? "border-b-2 border-border-focus text-text-primary bg-[var(--color-accent-soft)]" : "text-text-secondary hover:text-text-primary"),
300
- children: [/* @__PURE__ */ C(l, { className: "h-4 w-4" }), "My Schedule"]
170
+ onClick: () => R("schedule"),
171
+ className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2", L === "schedule" ? "border-b-2 border-border-focus text-text-primary bg-[var(--color-accent-soft)]" : "text-text-secondary hover:text-text-primary"),
172
+ children: [/* @__PURE__ */ S(u, { className: "h-4 w-4" }), "My Schedule"]
301
173
  }),
302
- /* @__PURE__ */ w("button", {
174
+ /* @__PURE__ */ C("button", {
303
175
  type: "button",
304
- onClick: () => I("requests"),
305
- className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2", F === "requests" ? "border-b-2 border-border-focus text-text-primary bg-[var(--color-accent-soft)]" : "text-text-secondary hover:text-text-primary"),
306
- children: [
307
- /* @__PURE__ */ C(y, { className: "h-4 w-4" }),
308
- "Shift Requests",
309
- K > 0 && /* @__PURE__ */ C("span", {
310
- className: "ml-1 inline-flex items-center justify-center rounded-full bg-status-error-text px-1.5 py-0.5 text-[10px] font-medium text-white",
311
- children: K
312
- })
313
- ]
176
+ onClick: () => R("requests"),
177
+ className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2", L === "requests" ? "border-b-2 border-border-focus text-text-primary bg-[var(--color-accent-soft)]" : "text-text-secondary hover:text-text-primary"),
178
+ children: [/* @__PURE__ */ S(y, { className: "h-4 w-4" }), "Shift Requests"]
314
179
  }),
315
- /* @__PURE__ */ w("button", {
180
+ /* @__PURE__ */ C("button", {
316
181
  type: "button",
317
- onClick: () => I("availability"),
318
- className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2", F === "availability" ? "border-b-2 border-border-focus text-text-primary bg-[var(--color-accent-soft)]" : "text-text-secondary hover:text-text-primary"),
319
- children: [/* @__PURE__ */ C(S, { className: "h-4 w-4" }), "Availability"]
182
+ onClick: () => R("availability"),
183
+ className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2", L === "availability" ? "border-b-2 border-border-focus text-text-primary bg-[var(--color-accent-soft)]" : "text-text-secondary hover:text-text-primary"),
184
+ children: [/* @__PURE__ */ S(x, { className: "h-4 w-4" }), "Availability"]
320
185
  })
321
186
  ]
322
- }), /* @__PURE__ */ w("div", {
187
+ }), /* @__PURE__ */ C("div", {
323
188
  className: "p-5",
324
189
  children: [
325
- F === "schedule" && /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
190
+ L === "schedule" && /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
326
191
  className: "flex items-center justify-between mb-5",
327
192
  children: [
328
- /* @__PURE__ */ w("button", {
193
+ /* @__PURE__ */ C("button", {
329
194
  type: "button",
330
- onClick: () => R((e) => e - 1),
195
+ onClick: () => B((e) => e - 1),
331
196
  className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent/80 transition-colors",
332
- children: [/* @__PURE__ */ C(d, { className: "h-3.5 w-3.5" }), "Previous Week"]
197
+ children: [/* @__PURE__ */ S(f, { className: "h-3.5 w-3.5" }), "Previous Week"]
333
198
  }),
334
- /* @__PURE__ */ w("h3", {
199
+ /* @__PURE__ */ C("h3", {
335
200
  className: "text-sm font-medium text-text-primary",
336
201
  children: [
337
- q.start,
202
+ W.start,
338
203
  " - ",
339
- q.end
204
+ W.end
340
205
  ]
341
206
  }),
342
- /* @__PURE__ */ w("button", {
207
+ /* @__PURE__ */ C("button", {
343
208
  type: "button",
344
- onClick: () => R((e) => e + 1),
209
+ onClick: () => B((e) => e + 1),
345
210
  className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent/80 transition-colors",
346
- children: ["Next Week", /* @__PURE__ */ C(f, { className: "h-3.5 w-3.5" })]
211
+ children: ["Next Week", /* @__PURE__ */ S(p, { className: "h-3.5 w-3.5" })]
347
212
  })
348
213
  ]
349
- }), z.length === 0 ? /* @__PURE__ */ C(r, {
350
- icon: /* @__PURE__ */ C(c, { className: "h-12 w-12" }),
214
+ }), P.length === 0 ? /* @__PURE__ */ S(r, {
215
+ icon: /* @__PURE__ */ S(l, { className: "h-12 w-12" }),
351
216
  title: "No shifts scheduled",
352
- description: "No shifts scheduled for this week"
353
- }) : /* @__PURE__ */ C("div", {
217
+ description: "You have no shifts on the roster yet. New shifts will appear here once assigned."
218
+ }) : /* @__PURE__ */ S("div", {
354
219
  className: "space-y-3",
355
- children: z.map((e) => /* @__PURE__ */ w("div", {
356
- className: t("rounded-lg border p-4 transition-colors", e.status === "ongoing" ? "border-status-success-text/30 bg-status-success-bg-subtle" : "border-border-subtle hover:bg-bg-sunken/30"),
220
+ children: P.map((e) => /* @__PURE__ */ C("div", {
221
+ className: t("rounded-lg border p-4 transition-colors", e.status === "in_progress" ? "border-status-success-text/30 bg-status-success-bg-subtle" : "border-border-subtle hover:bg-bg-sunken/30"),
357
222
  children: [
358
- /* @__PURE__ */ w("div", {
223
+ /* @__PURE__ */ C("div", {
359
224
  className: "flex items-center justify-between mb-3",
360
- children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
225
+ children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
361
226
  className: "flex items-center gap-2 flex-wrap",
362
- children: [/* @__PURE__ */ C("h4", {
227
+ children: [/* @__PURE__ */ S("h4", {
363
228
  className: "text-sm font-semibold text-text-primary",
364
- children: D(e.date)
365
- }), /* @__PURE__ */ C("span", {
366
- className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize", A(e.status)),
367
- children: e.status === "ongoing" ? "Ongoing" : e.status
229
+ children: E(e.date)
230
+ }), /* @__PURE__ */ S("span", {
231
+ className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize", k(e.status)),
232
+ children: e.status === "in_progress" ? "Ongoing" : e.status
368
233
  })]
369
- }), /* @__PURE__ */ w("p", {
234
+ }), /* @__PURE__ */ C("p", {
370
235
  className: "text-xs text-text-secondary mt-1",
371
- children: [
372
- O(e.startTime),
373
- " - ",
374
- O(e.endTime)
375
- ]
376
- })] }), /* @__PURE__ */ w("div", {
236
+ children: [D(e.startTime), e.endTime ? ` - ${D(e.endTime)}` : ""]
237
+ })] }), e.totalEarnings > 0 && /* @__PURE__ */ S("div", {
377
238
  className: "text-right",
378
- children: [/* @__PURE__ */ C("p", {
239
+ children: /* @__PURE__ */ S("p", {
379
240
  className: "text-lg font-bold text-text-primary",
380
- children: i(e.earnings, { minimumFractionDigits: 0 })
381
- }), e.rating != null && /* @__PURE__ */ w("p", {
382
- className: "text-xs text-text-secondary flex items-center gap-1 justify-end",
383
- children: [/* @__PURE__ */ C(x, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.rating]
384
- })]
385
- })]
386
- }),
387
- /* @__PURE__ */ w("div", {
388
- className: "grid grid-cols-1 md:grid-cols-3 gap-3 text-sm",
389
- children: [
390
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
391
- className: "text-xs text-text-secondary",
392
- children: "Cart"
393
- }), /* @__PURE__ */ w("p", {
394
- className: "text-xs font-medium text-text-primary flex items-center gap-1",
395
- children: [/* @__PURE__ */ C(b, { className: "h-3 w-3 text-text-secondary" }), e.cartName]
396
- })] }),
397
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
398
- className: "text-xs text-text-secondary",
399
- children: "Location"
400
- }), /* @__PURE__ */ w("p", {
401
- className: "text-xs font-medium text-text-primary flex items-center gap-1",
402
- children: [/* @__PURE__ */ C(g, { className: "h-3 w-3 text-text-secondary" }), e.location]
403
- })] }),
404
- e.tasksCompleted != null && /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
405
- className: "text-xs text-text-secondary",
406
- children: "Tasks Completed"
407
- }), /* @__PURE__ */ w("p", {
408
- className: "text-xs font-medium text-text-primary flex items-center gap-1",
409
- children: [/* @__PURE__ */ C(u, { className: "h-3 w-3 text-text-secondary" }), e.tasksCompleted]
410
- })] })
411
- ]
412
- }),
413
- e.status === "scheduled" && /* @__PURE__ */ C("div", {
414
- className: "mt-3 pt-3 border-t border-border-subtle",
415
- children: /* @__PURE__ */ w("button", {
416
- type: "button",
417
- onClick: () => J(e.id),
418
- className: "inline-flex items-center gap-1.5 rounded-md bg-[var(--color-accent-soft)] px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-[var(--color-accent-soft)] transition-colors",
419
- children: [/* @__PURE__ */ C(m, { className: "h-3.5 w-3.5" }), "Check In"]
420
- })
421
- }),
422
- e.status === "ongoing" && /* @__PURE__ */ w("div", {
423
- className: "mt-3 pt-3 border-t border-status-success-text/20 flex items-center justify-between",
424
- children: [/* @__PURE__ */ w("span", {
425
- className: "text-xs font-medium text-status-success-text flex items-center gap-1",
426
- children: [/* @__PURE__ */ C(_, { className: "h-3.5 w-3.5" }), "Shift in progress"]
427
- }), /* @__PURE__ */ w("button", {
428
- type: "button",
429
- onClick: () => Y(e.id),
430
- className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent/80 transition-colors",
431
- children: [/* @__PURE__ */ C(h, { className: "h-3.5 w-3.5" }), "Check Out"]
432
- })]
433
- })
434
- ]
435
- }, e.id))
436
- })] }),
437
- F === "requests" && /* @__PURE__ */ C("div", { children: V.length === 0 ? /* @__PURE__ */ C(r, {
438
- icon: /* @__PURE__ */ C(y, { className: "h-12 w-12" }),
439
- title: "No shift requests",
440
- description: "No shift requests available"
441
- }) : /* @__PURE__ */ C("div", {
442
- className: "space-y-3",
443
- children: V.map((e) => /* @__PURE__ */ w("div", {
444
- className: "rounded-lg border border-border-subtle p-4",
445
- children: [
446
- /* @__PURE__ */ w("div", {
447
- className: "flex items-center justify-between mb-3",
448
- children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("h4", {
449
- className: "text-sm font-semibold text-text-primary",
450
- children: D(e.date)
451
- }), /* @__PURE__ */ w("p", {
452
- className: "text-xs text-text-secondary mt-0.5",
453
- children: [
454
- O(e.startTime),
455
- " - ",
456
- O(e.endTime)
457
- ]
458
- })] }), /* @__PURE__ */ C("span", {
459
- className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize", j(e.status)),
460
- children: e.status
241
+ children: o(e.totalEarnings, { minimumFractionDigits: 0 })
242
+ })
461
243
  })]
462
244
  }),
463
- /* @__PURE__ */ w("div", {
464
- className: "grid grid-cols-1 md:grid-cols-2 gap-3 text-sm mb-3",
465
- children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
245
+ /* @__PURE__ */ C("div", {
246
+ className: "grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",
247
+ children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
466
248
  className: "text-xs text-text-secondary",
467
249
  children: "Cart"
468
250
  }), /* @__PURE__ */ C("p", {
469
- className: "text-xs font-medium text-text-primary",
470
- children: e.cartName
471
- })] }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
251
+ className: "text-xs font-medium text-text-primary flex items-center gap-1",
252
+ children: [/* @__PURE__ */ S(b, { className: "h-3 w-3 text-text-secondary" }), e.cartName]
253
+ })] }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
472
254
  className: "text-xs text-text-secondary",
473
- children: "Location"
255
+ children: "Tasks Completed"
474
256
  }), /* @__PURE__ */ C("p", {
475
- className: "text-xs font-medium text-text-primary",
476
- children: e.location
257
+ className: "text-xs font-medium text-text-primary flex items-center gap-1",
258
+ children: [/* @__PURE__ */ S(d, { className: "h-3 w-3 text-text-secondary" }), e.tasksCompleted]
477
259
  })] })]
478
260
  }),
479
- /* @__PURE__ */ w("p", {
480
- className: "text-[10px] text-text-secondary mb-3",
481
- children: [
482
- "Requested",
483
- " ",
484
- new Date(e.requestedOn).toLocaleString("en-IN", {
485
- day: "numeric",
486
- month: "short",
487
- hour: "2-digit",
488
- minute: "2-digit",
489
- hour12: !0
490
- })
491
- ]
492
- }),
493
- e.status === "pending" && /* @__PURE__ */ w("div", {
494
- className: "flex gap-2",
495
- children: [/* @__PURE__ */ w("button", {
261
+ e.status === "scheduled" && /* @__PURE__ */ S("div", {
262
+ className: "mt-3 pt-3 border-t border-border-subtle",
263
+ children: /* @__PURE__ */ C("button", {
496
264
  type: "button",
497
- onClick: () => X(e.id),
498
- className: "inline-flex items-center gap-1.5 rounded-md bg-status-success-bg-subtle px-3 py-1.5 text-xs font-medium text-status-success-text hover:bg-status-success-bg-subtle transition-colors",
499
- children: [/* @__PURE__ */ C(u, { className: "h-3.5 w-3.5" }), "Accept"]
265
+ onClick: () => G(e),
266
+ disabled: I.isPending,
267
+ className: "inline-flex items-center gap-1.5 rounded-md bg-[var(--color-accent-soft)] px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-[var(--color-accent-soft)] transition-colors disabled:opacity-50",
268
+ children: [/* @__PURE__ */ S(h, { className: "h-3.5 w-3.5" }), "Check In"]
269
+ })
270
+ }),
271
+ e.status === "in_progress" && /* @__PURE__ */ C("div", {
272
+ className: "mt-3 pt-3 border-t border-status-success-text/20 flex items-center justify-between",
273
+ children: [/* @__PURE__ */ C("span", {
274
+ className: "text-xs font-medium text-status-success-text flex items-center gap-1",
275
+ children: [/* @__PURE__ */ S(_, { className: "h-3.5 w-3.5" }), "Shift in progress"]
500
276
  }), /* @__PURE__ */ C("button", {
501
277
  type: "button",
502
- onClick: () => Z(e.id),
503
- className: "inline-flex items-center gap-1.5 rounded-md bg-status-error-bg-subtle px-3 py-1.5 text-xs font-medium text-status-error-text hover:bg-status-error-bg-subtle transition-colors",
504
- children: "Reject"
278
+ onClick: () => K(e),
279
+ disabled: I.isPending,
280
+ className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent/80 transition-colors disabled:opacity-50",
281
+ children: [/* @__PURE__ */ S(g, { className: "h-3.5 w-3.5" }), "Check Out"]
505
282
  })]
506
283
  })
507
284
  ]
508
285
  }, e.id))
509
- }) }),
510
- F === "availability" && /* @__PURE__ */ w("div", { children: [
511
- /* @__PURE__ */ C("p", {
286
+ })] }),
287
+ L === "requests" && /* @__PURE__ */ S(r, {
288
+ icon: /* @__PURE__ */ S(y, { className: "h-12 w-12" }),
289
+ title: "No shift requests",
290
+ description: "Shift swap and time-off requests will appear here. This feature is coming soon."
291
+ }),
292
+ L === "availability" && /* @__PURE__ */ C("div", { children: [
293
+ /* @__PURE__ */ S("p", {
512
294
  className: "text-xs text-text-secondary mb-5",
513
295
  children: "Set your preferred working hours for each day of the week"
514
296
  }),
515
- /* @__PURE__ */ C("div", {
297
+ /* @__PURE__ */ S("div", {
516
298
  className: "space-y-3",
517
- children: U.map((e) => /* @__PURE__ */ w("div", {
299
+ children: V.map((e) => /* @__PURE__ */ C("div", {
518
300
  className: t("flex flex-col sm:flex-row sm:items-center gap-3 p-3 rounded-lg border", e.isAvailable ? "border-border-subtle bg-bg-surface" : "border-border-subtle/50 bg-bg-sunken/30"),
519
- children: [/* @__PURE__ */ C("div", {
301
+ children: [/* @__PURE__ */ S("div", {
520
302
  className: "w-32 shrink-0",
521
- children: /* @__PURE__ */ w("label", {
303
+ children: /* @__PURE__ */ C("label", {
522
304
  className: "flex items-center gap-2 cursor-pointer",
523
- children: [/* @__PURE__ */ C("input", {
305
+ children: [/* @__PURE__ */ S("input", {
524
306
  type: "checkbox",
525
307
  checked: e.isAvailable,
526
- onChange: (t) => Q(e.dayOfWeek, "isAvailable", t.target.checked),
308
+ onChange: (t) => q(e.dayOfWeek, "isAvailable", t.target.checked),
527
309
  className: "h-4 w-4 rounded border-border-subtle text-text-primary focus:ring-border-focus/40"
528
- }), /* @__PURE__ */ C("span", {
310
+ }), /* @__PURE__ */ S("span", {
529
311
  className: "text-sm font-medium text-text-primary",
530
312
  children: e.dayOfWeek
531
313
  })]
532
314
  })
533
- }), e.isAvailable ? /* @__PURE__ */ w("div", {
315
+ }), e.isAvailable ? /* @__PURE__ */ C("div", {
534
316
  className: "flex flex-col sm:flex-row gap-3 flex-1",
535
- children: [/* @__PURE__ */ w("div", {
317
+ children: [/* @__PURE__ */ C("div", {
536
318
  className: "flex items-center gap-2",
537
- children: [/* @__PURE__ */ C("span", {
319
+ children: [/* @__PURE__ */ S("span", {
538
320
  className: "text-xs text-text-secondary w-10",
539
321
  children: "From"
540
- }), /* @__PURE__ */ C("input", {
322
+ }), /* @__PURE__ */ S("input", {
541
323
  type: "time",
542
324
  value: e.preferredStartTime,
543
- onChange: (t) => Q(e.dayOfWeek, "preferredStartTime", t.target.value),
325
+ onChange: (t) => q(e.dayOfWeek, "preferredStartTime", t.target.value),
544
326
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-1.5 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-border-focus/40"
545
327
  })]
546
- }), /* @__PURE__ */ w("div", {
328
+ }), /* @__PURE__ */ C("div", {
547
329
  className: "flex items-center gap-2",
548
- children: [/* @__PURE__ */ C("span", {
330
+ children: [/* @__PURE__ */ S("span", {
549
331
  className: "text-xs text-text-secondary w-10",
550
332
  children: "To"
551
- }), /* @__PURE__ */ C("input", {
333
+ }), /* @__PURE__ */ S("input", {
552
334
  type: "time",
553
335
  value: e.preferredEndTime,
554
- onChange: (t) => Q(e.dayOfWeek, "preferredEndTime", t.target.value),
336
+ onChange: (t) => q(e.dayOfWeek, "preferredEndTime", t.target.value),
555
337
  className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-1.5 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-border-focus/40"
556
338
  })]
557
339
  })]
558
- }) : /* @__PURE__ */ C("span", {
340
+ }) : /* @__PURE__ */ S("span", {
559
341
  className: "text-xs text-text-secondary",
560
342
  children: "Not available"
561
343
  })]
562
344
  }, e.dayOfWeek))
563
345
  }),
564
- /* @__PURE__ */ C("div", {
346
+ /* @__PURE__ */ S("div", {
565
347
  className: "mt-5",
566
- children: /* @__PURE__ */ w("button", {
348
+ children: /* @__PURE__ */ C("button", {
567
349
  type: "button",
568
350
  onClick: () => {
569
- alert("Availability updated successfully");
351
+ alert("Availability preferences saved");
570
352
  },
571
353
  className: "inline-flex items-center gap-2 rounded-md bg-[var(--color-accent-soft)] px-4 py-2 text-sm font-medium text-text-primary hover:bg-[var(--color-accent-soft)] transition-colors",
572
- children: [/* @__PURE__ */ C(v, { className: "h-4 w-4" }), "Save Availability"]
354
+ children: [/* @__PURE__ */ S(v, { className: "h-4 w-4" }), "Save Availability"]
573
355
  })
574
356
  })
575
357
  ] })