@burdenoff/microfe-coolandlovely 2026.625.2 → 2026.628.1

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 (165) hide show
  1. package/dist/coolandlovely/CoolAndLovelyRoot.js +66 -122
  2. package/dist/coolandlovely/CoolAndLovelyRoot.js.map +1 -1
  3. package/dist/coolandlovely/CoolAndLovelyRoutes.js +87 -175
  4. package/dist/coolandlovely/CoolAndLovelyRoutes.js.map +1 -1
  5. package/dist/coolandlovely/components/Field.js +81 -0
  6. package/dist/coolandlovely/components/Field.js.map +1 -0
  7. package/dist/coolandlovely/components/StateViews.js +34 -0
  8. package/dist/coolandlovely/components/StateViews.js.map +1 -0
  9. package/dist/coolandlovely/components/StatusBadge.js +25 -22
  10. package/dist/coolandlovely/components/StatusBadge.js.map +1 -1
  11. package/dist/coolandlovely/components/TagList.js +21 -0
  12. package/dist/coolandlovely/components/TagList.js.map +1 -0
  13. package/dist/coolandlovely/components/Thumbnail.js +29 -0
  14. package/dist/coolandlovely/components/Thumbnail.js.map +1 -0
  15. package/dist/coolandlovely/context/CoolAndLovelyContext.js +10 -10
  16. package/dist/coolandlovely/context/CoolAndLovelyContext.js.map +1 -1
  17. package/dist/coolandlovely/hooks/index.js +1 -0
  18. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js +462 -169
  19. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js.map +1 -1
  20. package/dist/coolandlovely/pages/HomePage.js +251 -845
  21. package/dist/coolandlovely/pages/HomePage.js.map +1 -1
  22. package/dist/coolandlovely/pages/brands/BrandDetailPage.js +319 -0
  23. package/dist/coolandlovely/pages/brands/BrandDetailPage.js.map +1 -0
  24. package/dist/coolandlovely/pages/brands/BrandFormPage.js +190 -0
  25. package/dist/coolandlovely/pages/brands/BrandFormPage.js.map +1 -0
  26. package/dist/coolandlovely/pages/brands/BrandsListPage.js +158 -0
  27. package/dist/coolandlovely/pages/brands/BrandsListPage.js.map +1 -0
  28. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js +253 -0
  29. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js.map +1 -0
  30. package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.js +206 -0
  31. package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.js.map +1 -0
  32. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js +129 -0
  33. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js.map +1 -0
  34. package/dist/coolandlovely/pages/collections/CollectionDetailPage.js +217 -0
  35. package/dist/coolandlovely/pages/collections/CollectionDetailPage.js.map +1 -0
  36. package/dist/coolandlovely/pages/collections/CollectionFormPage.js +217 -0
  37. package/dist/coolandlovely/pages/collections/CollectionFormPage.js.map +1 -0
  38. package/dist/coolandlovely/pages/collections/CollectionsListPage.js +122 -0
  39. package/dist/coolandlovely/pages/collections/CollectionsListPage.js.map +1 -0
  40. package/dist/coolandlovely/pages/items/StyleItemDetailPage.js +230 -0
  41. package/dist/coolandlovely/pages/items/StyleItemDetailPage.js.map +1 -0
  42. package/dist/coolandlovely/pages/items/StyleItemFormPage.js +276 -0
  43. package/dist/coolandlovely/pages/items/StyleItemFormPage.js.map +1 -0
  44. package/dist/coolandlovely/pages/items/StyleItemsListPage.js +170 -0
  45. package/dist/coolandlovely/pages/items/StyleItemsListPage.js.map +1 -0
  46. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js +124 -0
  47. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js.map +1 -0
  48. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.js +156 -0
  49. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.js.map +1 -0
  50. package/dist/coolandlovely/pages/looks/LookDetailPage.js +238 -0
  51. package/dist/coolandlovely/pages/looks/LookDetailPage.js.map +1 -0
  52. package/dist/coolandlovely/pages/looks/LookFormPage.js +209 -0
  53. package/dist/coolandlovely/pages/looks/LookFormPage.js.map +1 -0
  54. package/dist/coolandlovely/pages/looks/LooksListPage.js +181 -0
  55. package/dist/coolandlovely/pages/looks/LooksListPage.js.map +1 -0
  56. package/dist/coolandlovely/pages/profile/StyleProfilePage.js +224 -0
  57. package/dist/coolandlovely/pages/profile/StyleProfilePage.js.map +1 -0
  58. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.js +173 -0
  59. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.js.map +1 -0
  60. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js +172 -0
  61. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js.map +1 -0
  62. package/dist/coolandlovely/store/coolandlovelyStore.js +2 -6
  63. package/dist/coolandlovely/store/coolandlovelyStore.js.map +1 -1
  64. package/dist/coolandlovely/utils/formatters.js +31 -23
  65. package/dist/coolandlovely/utils/formatters.js.map +1 -1
  66. package/dist/coolandlovely/utils/icons.js +34 -0
  67. package/dist/coolandlovely/utils/icons.js.map +1 -0
  68. package/dist/index.js +4 -4
  69. package/package.json +1 -1
  70. package/dist/coolandlovely/components/InvestmentCard.js +0 -98
  71. package/dist/coolandlovely/components/InvestmentCard.js.map +0 -1
  72. package/dist/coolandlovely/components/RatingDisplay.js +0 -35
  73. package/dist/coolandlovely/components/RatingDisplay.js.map +0 -1
  74. package/dist/coolandlovely/mocks/data.js +0 -1517
  75. package/dist/coolandlovely/mocks/data.js.map +0 -1
  76. package/dist/coolandlovely/mocks/users.js +0 -34
  77. package/dist/coolandlovely/mocks/users.js.map +0 -1
  78. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +0 -651
  79. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +0 -1
  80. package/dist/coolandlovely/pages/admin/AdminDashboard.js +0 -673
  81. package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +0 -1
  82. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +0 -427
  83. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +0 -1
  84. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +0 -665
  85. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +0 -1
  86. package/dist/coolandlovely/pages/admin/AdminProfilePage.js +0 -264
  87. package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +0 -1
  88. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +0 -654
  89. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +0 -1
  90. package/dist/coolandlovely/pages/admin/CartManagementPage.js +0 -874
  91. package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +0 -1
  92. package/dist/coolandlovely/pages/admin/UserManagementPage.js +0 -898
  93. package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +0 -1
  94. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +0 -842
  95. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +0 -1
  96. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +0 -705
  97. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +0 -1
  98. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +0 -802
  99. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +0 -1
  100. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +0 -891
  101. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +0 -1
  102. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +0 -639
  103. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +0 -1
  104. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +0 -914
  105. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +0 -1
  106. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +0 -882
  107. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +0 -1
  108. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +0 -831
  109. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +0 -1
  110. package/dist/coolandlovely/pages/common/HelpSupportPage.js +0 -1325
  111. package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +0 -1
  112. package/dist/coolandlovely/pages/common/NotificationCenterPage.js +0 -671
  113. package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +0 -1
  114. package/dist/coolandlovely/pages/common/SettingsPage.js +0 -973
  115. package/dist/coolandlovely/pages/common/SettingsPage.js.map +0 -1
  116. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +0 -630
  117. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +0 -1
  118. package/dist/coolandlovely/pages/customer/CartDetailPage.js +0 -623
  119. package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +0 -1
  120. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +0 -558
  121. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +0 -1
  122. package/dist/coolandlovely/pages/customer/CheckoutPage.js +0 -529
  123. package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +0 -1
  124. package/dist/coolandlovely/pages/customer/CustomerDashboard.js +0 -538
  125. package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +0 -1
  126. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +0 -658
  127. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +0 -1
  128. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +0 -632
  129. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +0 -1
  130. package/dist/coolandlovely/pages/customer/FavoritesPage.js +0 -487
  131. package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +0 -1
  132. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +0 -447
  133. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +0 -1
  134. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +0 -425
  135. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +0 -1
  136. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +0 -494
  137. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +0 -1
  138. package/dist/coolandlovely/pages/customer/ReviewsPage.js +0 -616
  139. package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +0 -1
  140. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +0 -449
  141. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +0 -1
  142. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +0 -887
  143. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +0 -1
  144. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +0 -945
  145. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +0 -1
  146. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +0 -687
  147. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +0 -1
  148. package/dist/coolandlovely/pages/investor/InvestorDashboard.js +0 -455
  149. package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +0 -1
  150. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +0 -405
  151. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +0 -1
  152. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +0 -602
  153. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +0 -1
  154. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +0 -1070
  155. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +0 -1
  156. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +0 -533
  157. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +0 -1
  158. package/dist/coolandlovely/pages/worker/WorkerDashboard.js +0 -671
  159. package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +0 -1
  160. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +0 -680
  161. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +0 -1
  162. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +0 -692
  163. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +0 -1
  164. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +0 -583
  165. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js.map +0 -1
@@ -1,583 +0,0 @@
1
- import { useCoolAndLovely as e } from "../../context/CoolAndLovelyContext.js";
2
- import { cn as t } from "../../utils/cn.js";
3
- import { PageLayout as n } from "../../components/PageLayout.js";
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";
10
- //#region src/coolandlovely/pages/worker/WorkerSchedulePage.tsx
11
- function D(e) {
12
- return new Date(e).toLocaleDateString("en-US", {
13
- weekday: "short",
14
- month: "short",
15
- day: "numeric"
16
- });
17
- }
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}`;
21
- }
22
- function k(e) {
23
- let t = /* @__PURE__ */ new Date(), n = t.getDay(), r = new Date(t);
24
- r.setDate(t.getDate() - n + e * 7);
25
- let i = new Date(r);
26
- return i.setDate(r.getDate() + 6), {
27
- start: r.toLocaleDateString("en-US", {
28
- month: "short",
29
- day: "numeric"
30
- }),
31
- end: i.toLocaleDateString("en-US", {
32
- month: "short",
33
- day: "numeric",
34
- year: "numeric"
35
- })
36
- };
37
- }
38
- function A(e) {
39
- switch (e) {
40
- case "scheduled": return "bg-accent-blue-subtle/20 text-accent-blue";
41
- case "ongoing": return "bg-status-success-bg-subtle/20 text-status-success-text";
42
- case "completed": return "bg-secondary text-secondary-foreground";
43
- case "cancelled": return "bg-status-error-bg-subtle/20 text-status-error-text";
44
- default: return "bg-secondary text-secondary-foreground";
45
- }
46
- }
47
- function j(e) {
48
- switch (e) {
49
- case "pending": return "bg-status-warning-bg-subtle/20 text-status-warning-text";
50
- case "approved": return "bg-status-success-bg-subtle/20 text-status-success-text";
51
- case "rejected": return "bg-status-error-bg-subtle/20 text-status-error-text";
52
- default: return "bg-secondary text-secondary-foreground";
53
- }
54
- }
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");
191
- return {
192
- hoursThisWeek: t,
193
- shiftsThisWeek: e.length,
194
- earningsThisWeek: n,
195
- nextShift: r
196
- };
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 ? {
219
- ...r,
220
- [t]: n
221
- } : r));
222
- };
223
- return N ? /* @__PURE__ */ C(n, {
224
- title: "Schedule",
225
- description: "Manage your work schedule",
226
- children: /* @__PURE__ */ C("div", {
227
- className: "flex items-center justify-center py-24",
228
- children: /* @__PURE__ */ w("div", {
229
- 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", {
231
- className: "text-sm text-text-secondary",
232
- children: "Loading schedule..."
233
- })]
234
- })
235
- })
236
- }) : /* @__PURE__ */ w(n, {
237
- title: "Schedule",
238
- description: "Manage your work schedule",
239
- children: [/* @__PURE__ */ C(E, {
240
- className: "mb-6",
241
- icon: /* @__PURE__ */ C(c, { className: "h-4 w-4" }),
242
- children: "Your shifts at a glance. See how many hours and shifts you have this week, what you'll earn and when your next shift starts, browse upcoming shifts, and pick up open shift requests to add more work when you want it."
243
- }), /* @__PURE__ */ w("div", {
244
- className: "space-y-6",
245
- children: [/* @__PURE__ */ w(T, {
246
- className: "grid grid-cols-2 md:grid-cols-4 gap-3 p-4",
247
- children: [
248
- /* @__PURE__ */ w("div", {
249
- className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
250
- children: [/* @__PURE__ */ C("p", {
251
- className: "text-xs text-text-secondary",
252
- children: "Hours This Week"
253
- }), /* @__PURE__ */ w("p", {
254
- className: "text-2xl font-bold text-text-primary",
255
- children: [G.hoursThisWeek, "h"]
256
- })]
257
- }),
258
- /* @__PURE__ */ w("div", {
259
- className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
260
- children: [/* @__PURE__ */ C("p", {
261
- className: "text-xs text-text-secondary",
262
- children: "Shifts This Week"
263
- }), /* @__PURE__ */ C("p", {
264
- className: "text-2xl font-bold text-text-primary",
265
- children: G.shiftsThisWeek
266
- })]
267
- }),
268
- /* @__PURE__ */ w("div", {
269
- className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
270
- children: [/* @__PURE__ */ C("p", {
271
- className: "text-xs text-text-secondary",
272
- children: "Week Earnings"
273
- }), /* @__PURE__ */ C("p", {
274
- className: "text-2xl font-bold text-text-primary",
275
- children: i(G.earningsThisWeek, { minimumFractionDigits: 0 })
276
- })]
277
- }),
278
- /* @__PURE__ */ w("div", {
279
- className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
280
- children: [/* @__PURE__ */ C("p", {
281
- className: "text-xs text-text-secondary",
282
- children: "Next Shift"
283
- }), /* @__PURE__ */ C("p", {
284
- className: "text-sm font-bold text-text-primary",
285
- children: G.nextShift ? `${D(G.nextShift.date)} ${O(G.nextShift.startTime)}` : "None scheduled"
286
- })]
287
- })
288
- ]
289
- }), /* @__PURE__ */ w("div", {
290
- className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm overflow-hidden",
291
- children: [/* @__PURE__ */ w("div", {
292
- className: "flex border-b border-border-subtle",
293
- children: [
294
- /* @__PURE__ */ w("button", {
295
- type: "button",
296
- onClick: () => I("schedule"),
297
- 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-accent-blue-subtle text-accent-blue bg-accent-blue-subtle/5" : "text-text-secondary hover:text-text-primary"),
298
- children: [/* @__PURE__ */ C(l, { className: "h-4 w-4" }), "My Schedule"]
299
- }),
300
- /* @__PURE__ */ w("button", {
301
- type: "button",
302
- onClick: () => I("requests"),
303
- 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-accent-blue-subtle text-accent-blue bg-accent-blue-subtle/5" : "text-text-secondary hover:text-text-primary"),
304
- children: [
305
- /* @__PURE__ */ C(y, { className: "h-4 w-4" }),
306
- "Shift Requests",
307
- K > 0 && /* @__PURE__ */ C("span", {
308
- className: "ml-1 inline-flex items-center justify-center rounded-full bg-status-error-bg-subtle px-1.5 py-0.5 text-[10px] font-medium text-white",
309
- children: K
310
- })
311
- ]
312
- }),
313
- /* @__PURE__ */ w("button", {
314
- type: "button",
315
- onClick: () => I("availability"),
316
- 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-accent-blue-subtle text-accent-blue bg-accent-blue-subtle/5" : "text-text-secondary hover:text-text-primary"),
317
- children: [/* @__PURE__ */ C(S, { className: "h-4 w-4" }), "Availability"]
318
- })
319
- ]
320
- }), /* @__PURE__ */ w("div", {
321
- className: "p-5",
322
- children: [
323
- F === "schedule" && /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
324
- className: "flex items-center justify-between mb-5",
325
- children: [
326
- /* @__PURE__ */ w("button", {
327
- type: "button",
328
- onClick: () => R((e) => e - 1),
329
- 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",
330
- children: [/* @__PURE__ */ C(d, { className: "h-3.5 w-3.5" }), "Previous Week"]
331
- }),
332
- /* @__PURE__ */ w("h3", {
333
- className: "text-sm font-medium text-text-primary",
334
- children: [
335
- q.start,
336
- " - ",
337
- q.end
338
- ]
339
- }),
340
- /* @__PURE__ */ w("button", {
341
- type: "button",
342
- onClick: () => R((e) => e + 1),
343
- 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",
344
- children: ["Next Week", /* @__PURE__ */ C(f, { className: "h-3.5 w-3.5" })]
345
- })
346
- ]
347
- }), z.length === 0 ? /* @__PURE__ */ C(r, {
348
- illustration: "empty-data",
349
- title: "No shifts scheduled",
350
- description: "No shifts scheduled for this week"
351
- }) : /* @__PURE__ */ C("div", {
352
- className: "space-y-3",
353
- children: z.map((e) => /* @__PURE__ */ w("div", {
354
- className: t("rounded-lg border p-4 transition-colors", e.status === "ongoing" ? "border-status-success-border/30 bg-status-success-bg-subtle/5" : "border-border-subtle hover:bg-bg-sunken/30"),
355
- children: [
356
- /* @__PURE__ */ w("div", {
357
- className: "flex items-center justify-between mb-3",
358
- children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
359
- className: "flex items-center gap-2 flex-wrap",
360
- children: [/* @__PURE__ */ C("h4", {
361
- className: "text-sm font-semibold text-text-primary",
362
- children: D(e.date)
363
- }), /* @__PURE__ */ C("span", {
364
- className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize", A(e.status)),
365
- children: e.status === "ongoing" ? "Ongoing" : e.status
366
- })]
367
- }), /* @__PURE__ */ w("p", {
368
- className: "text-xs text-text-secondary mt-1",
369
- children: [
370
- O(e.startTime),
371
- " - ",
372
- O(e.endTime)
373
- ]
374
- })] }), /* @__PURE__ */ w("div", {
375
- className: "text-right",
376
- children: [/* @__PURE__ */ C("p", {
377
- className: "text-lg font-bold text-text-primary",
378
- children: i(e.earnings, { minimumFractionDigits: 0 })
379
- }), e.rating != null && /* @__PURE__ */ w("p", {
380
- className: "text-xs text-text-secondary flex items-center gap-1 justify-end",
381
- children: [/* @__PURE__ */ C(x, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.rating]
382
- })]
383
- })]
384
- }),
385
- /* @__PURE__ */ w("div", {
386
- className: "grid grid-cols-1 md:grid-cols-3 gap-3 text-sm",
387
- children: [
388
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
389
- className: "text-xs text-text-secondary",
390
- children: "Cart"
391
- }), /* @__PURE__ */ w("p", {
392
- className: "text-xs font-medium text-text-primary flex items-center gap-1",
393
- children: [/* @__PURE__ */ C(b, { className: "h-3 w-3 text-text-secondary" }), e.cartName]
394
- })] }),
395
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
396
- className: "text-xs text-text-secondary",
397
- children: "Location"
398
- }), /* @__PURE__ */ w("p", {
399
- className: "text-xs font-medium text-text-primary flex items-center gap-1",
400
- children: [/* @__PURE__ */ C(g, { className: "h-3 w-3 text-text-secondary" }), e.location]
401
- })] }),
402
- e.tasksCompleted != null && /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
403
- className: "text-xs text-text-secondary",
404
- children: "Tasks Completed"
405
- }), /* @__PURE__ */ w("p", {
406
- className: "text-xs font-medium text-text-primary flex items-center gap-1",
407
- children: [/* @__PURE__ */ C(u, { className: "h-3 w-3 text-text-secondary" }), e.tasksCompleted]
408
- })] })
409
- ]
410
- }),
411
- e.status === "scheduled" && /* @__PURE__ */ C("div", {
412
- className: "mt-3 pt-3 border-t border-border-subtle",
413
- children: /* @__PURE__ */ w("button", {
414
- type: "button",
415
- onClick: () => J(e.id),
416
- className: "inline-flex items-center gap-1.5 rounded-md bg-accent-blue-subtle/10 px-3 py-1.5 text-xs font-medium text-accent-blue hover:bg-accent-blue-subtle/20 transition-colors",
417
- children: [/* @__PURE__ */ C(m, { className: "h-3.5 w-3.5" }), "Check In"]
418
- })
419
- }),
420
- e.status === "ongoing" && /* @__PURE__ */ w("div", {
421
- className: "mt-3 pt-3 border-t border-status-success-border/20 flex items-center justify-between",
422
- children: [/* @__PURE__ */ w("span", {
423
- className: "text-xs font-medium text-status-success-text flex items-center gap-1",
424
- children: [/* @__PURE__ */ C(_, { className: "h-3.5 w-3.5" }), "Shift in progress"]
425
- }), /* @__PURE__ */ w("button", {
426
- type: "button",
427
- onClick: () => Y(e.id),
428
- 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",
429
- children: [/* @__PURE__ */ C(h, { className: "h-3.5 w-3.5" }), "Check Out"]
430
- })]
431
- })
432
- ]
433
- }, e.id))
434
- })] }),
435
- F === "requests" && /* @__PURE__ */ C("div", { children: V.length === 0 ? /* @__PURE__ */ C(r, {
436
- illustration: "empty-generic",
437
- title: "No shift requests",
438
- description: "No shift requests available"
439
- }) : /* @__PURE__ */ C("div", {
440
- className: "space-y-3",
441
- children: V.map((e) => /* @__PURE__ */ w("div", {
442
- className: "rounded-lg border border-border-subtle p-4",
443
- children: [
444
- /* @__PURE__ */ w("div", {
445
- className: "flex items-center justify-between mb-3",
446
- children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("h4", {
447
- className: "text-sm font-semibold text-text-primary",
448
- children: D(e.date)
449
- }), /* @__PURE__ */ w("p", {
450
- className: "text-xs text-text-secondary mt-0.5",
451
- children: [
452
- O(e.startTime),
453
- " - ",
454
- O(e.endTime)
455
- ]
456
- })] }), /* @__PURE__ */ C("span", {
457
- className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize", j(e.status)),
458
- children: e.status
459
- })]
460
- }),
461
- /* @__PURE__ */ w("div", {
462
- className: "grid grid-cols-1 md:grid-cols-2 gap-3 text-sm mb-3",
463
- children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
464
- className: "text-xs text-text-secondary",
465
- children: "Cart"
466
- }), /* @__PURE__ */ C("p", {
467
- className: "text-xs font-medium text-text-primary",
468
- children: e.cartName
469
- })] }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
470
- className: "text-xs text-text-secondary",
471
- children: "Location"
472
- }), /* @__PURE__ */ C("p", {
473
- className: "text-xs font-medium text-text-primary",
474
- children: e.location
475
- })] })]
476
- }),
477
- /* @__PURE__ */ w("p", {
478
- className: "text-[10px] text-text-secondary mb-3",
479
- children: [
480
- "Requested",
481
- " ",
482
- new Date(e.requestedOn).toLocaleString("en-IN", {
483
- day: "numeric",
484
- month: "short",
485
- hour: "2-digit",
486
- minute: "2-digit",
487
- hour12: !0
488
- })
489
- ]
490
- }),
491
- e.status === "pending" && /* @__PURE__ */ w("div", {
492
- className: "flex gap-2",
493
- children: [/* @__PURE__ */ w("button", {
494
- type: "button",
495
- onClick: () => X(e.id),
496
- className: "inline-flex items-center gap-1.5 rounded-md bg-status-success-bg-subtle/10 px-3 py-1.5 text-xs font-medium text-status-success-text hover:bg-status-success-bg-subtle/20 transition-colors",
497
- children: [/* @__PURE__ */ C(u, { className: "h-3.5 w-3.5" }), "Accept"]
498
- }), /* @__PURE__ */ C("button", {
499
- type: "button",
500
- onClick: () => Z(e.id),
501
- className: "inline-flex items-center gap-1.5 rounded-md bg-status-error-bg-subtle/10 px-3 py-1.5 text-xs font-medium text-status-error-text hover:bg-status-error-bg-subtle/20 transition-colors",
502
- children: "Reject"
503
- })]
504
- })
505
- ]
506
- }, e.id))
507
- }) }),
508
- F === "availability" && /* @__PURE__ */ w("div", { children: [
509
- /* @__PURE__ */ C("p", {
510
- className: "text-xs text-text-secondary mb-5",
511
- children: "Set your preferred working hours for each day of the week"
512
- }),
513
- /* @__PURE__ */ C("div", {
514
- className: "space-y-3",
515
- children: U.map((e) => /* @__PURE__ */ w("div", {
516
- 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"),
517
- children: [/* @__PURE__ */ C("div", {
518
- className: "w-32 shrink-0",
519
- children: /* @__PURE__ */ w("label", {
520
- className: "flex items-center gap-2 cursor-pointer",
521
- children: [/* @__PURE__ */ C("input", {
522
- type: "checkbox",
523
- checked: e.isAvailable,
524
- onChange: (t) => Q(e.dayOfWeek, "isAvailable", t.target.checked),
525
- className: "h-4 w-4 rounded border-border-subtle text-accent-blue focus:ring-accent-blue-subtle/40"
526
- }), /* @__PURE__ */ C("span", {
527
- className: "text-sm font-medium text-text-primary",
528
- children: e.dayOfWeek
529
- })]
530
- })
531
- }), e.isAvailable ? /* @__PURE__ */ w("div", {
532
- className: "flex flex-col sm:flex-row gap-3 flex-1",
533
- children: [/* @__PURE__ */ w("div", {
534
- className: "flex items-center gap-2",
535
- children: [/* @__PURE__ */ C("span", {
536
- className: "text-xs text-text-secondary w-10",
537
- children: "From"
538
- }), /* @__PURE__ */ C("input", {
539
- type: "time",
540
- value: e.preferredStartTime,
541
- onChange: (t) => Q(e.dayOfWeek, "preferredStartTime", t.target.value),
542
- 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-accent-blue-subtle/40"
543
- })]
544
- }), /* @__PURE__ */ w("div", {
545
- className: "flex items-center gap-2",
546
- children: [/* @__PURE__ */ C("span", {
547
- className: "text-xs text-text-secondary w-10",
548
- children: "To"
549
- }), /* @__PURE__ */ C("input", {
550
- type: "time",
551
- value: e.preferredEndTime,
552
- onChange: (t) => Q(e.dayOfWeek, "preferredEndTime", t.target.value),
553
- 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-accent-blue-subtle/40"
554
- })]
555
- })]
556
- }) : /* @__PURE__ */ C("span", {
557
- className: "text-xs text-text-secondary",
558
- children: "Not available"
559
- })]
560
- }, e.dayOfWeek))
561
- }),
562
- /* @__PURE__ */ C("div", {
563
- className: "mt-5",
564
- children: /* @__PURE__ */ w("button", {
565
- type: "button",
566
- onClick: () => {
567
- alert("Availability updated successfully");
568
- },
569
- className: "inline-flex items-center gap-2 rounded-md bg-accent-blue-subtle/10 px-4 py-2 text-sm font-medium text-accent-blue hover:bg-accent-blue-subtle/20 transition-colors",
570
- children: [/* @__PURE__ */ C(v, { className: "h-4 w-4" }), "Save Availability"]
571
- })
572
- })
573
- ] })
574
- ]
575
- })]
576
- })]
577
- })]
578
- });
579
- };
580
- //#endregion
581
- export { M as WorkerSchedulePage };
582
-
583
- //# sourceMappingURL=WorkerSchedulePage.js.map