@burdenoff/microfe-kadaikodi 2026.704.1 → 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.
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +77 -26
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +323 -422
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -383
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +1 -1
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +232 -343
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +127 -294
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +204 -290
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +399 -487
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +13 -13
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +192 -296
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +245 -397
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +85 -117
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +177 -395
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +1 -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 {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
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
|
|
12
|
-
|
|
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
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
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
|
|
43
|
+
function k(e) {
|
|
39
44
|
switch (e) {
|
|
40
45
|
case "scheduled": return "bg-[var(--color-accent-soft)] text-text-primary";
|
|
41
|
-
case "
|
|
46
|
+
case "in_progress": return "bg-status-success-bg-subtle text-status-success-text";
|
|
42
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
49
|
default: return "bg-bg-sunken text-text-secondary";
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
|
-
function
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
case "rejected": return "bg-status-error-bg-subtle text-status-error-text";
|
|
52
|
-
default: return "bg-bg-sunken text-text-secondary";
|
|
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
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
}, [
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
207
|
-
},
|
|
208
|
-
H((
|
|
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
|
|
95
|
+
return F ? /* @__PURE__ */ S(n, {
|
|
224
96
|
title: "Schedule",
|
|
225
97
|
description: "Manage your work schedule",
|
|
226
|
-
children: /* @__PURE__ */
|
|
98
|
+
children: /* @__PURE__ */ S("div", {
|
|
227
99
|
className: "flex items-center justify-center py-24",
|
|
228
|
-
children: /* @__PURE__ */
|
|
100
|
+
children: /* @__PURE__ */ C("div", {
|
|
229
101
|
className: "text-center",
|
|
230
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
108
|
+
}) : /* @__PURE__ */ C(n, {
|
|
237
109
|
title: "Schedule",
|
|
238
110
|
description: "Manage your work schedule",
|
|
239
|
-
children: [/* @__PURE__ */
|
|
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,
|
|
242
|
-
}), /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
119
|
+
}), /* @__PURE__ */ C("div", {
|
|
248
120
|
className: "grid grid-cols-2 md:grid-cols-4 gap-3",
|
|
249
121
|
children: [
|
|
250
|
-
/* @__PURE__ */
|
|
122
|
+
/* @__PURE__ */ C("div", {
|
|
251
123
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
252
|
-
children: [/* @__PURE__ */
|
|
124
|
+
children: [/* @__PURE__ */ S("p", {
|
|
253
125
|
className: "text-xs text-text-secondary",
|
|
254
126
|
children: "Hours This Week"
|
|
255
|
-
}), /* @__PURE__ */
|
|
127
|
+
}), /* @__PURE__ */ C("p", {
|
|
256
128
|
className: "text-2xl font-bold text-text-primary",
|
|
257
|
-
children: [
|
|
129
|
+
children: [U.hoursThisWeek, "h"]
|
|
258
130
|
})]
|
|
259
131
|
}),
|
|
260
|
-
/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ C("div", {
|
|
261
133
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
262
|
-
children: [/* @__PURE__ */
|
|
134
|
+
children: [/* @__PURE__ */ S("p", {
|
|
263
135
|
className: "text-xs text-text-secondary",
|
|
264
136
|
children: "Shifts This Week"
|
|
265
|
-
}), /* @__PURE__ */
|
|
137
|
+
}), /* @__PURE__ */ S("p", {
|
|
266
138
|
className: "text-2xl font-bold text-text-primary",
|
|
267
|
-
children:
|
|
139
|
+
children: U.shiftsThisWeek
|
|
268
140
|
})]
|
|
269
141
|
}),
|
|
270
|
-
/* @__PURE__ */
|
|
142
|
+
/* @__PURE__ */ C("div", {
|
|
271
143
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
272
|
-
children: [/* @__PURE__ */
|
|
144
|
+
children: [/* @__PURE__ */ S("p", {
|
|
273
145
|
className: "text-xs text-text-secondary",
|
|
274
146
|
children: "Week Earnings"
|
|
275
|
-
}), /* @__PURE__ */
|
|
147
|
+
}), /* @__PURE__ */ S("p", {
|
|
276
148
|
className: "text-2xl font-bold text-text-primary",
|
|
277
|
-
children:
|
|
149
|
+
children: o(U.earningsThisWeek, { minimumFractionDigits: 0 })
|
|
278
150
|
})]
|
|
279
151
|
}),
|
|
280
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ C("div", {
|
|
281
153
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
282
|
-
children: [/* @__PURE__ */
|
|
154
|
+
children: [/* @__PURE__ */ S("p", {
|
|
283
155
|
className: "text-xs text-text-secondary",
|
|
284
156
|
children: "Next Shift"
|
|
285
|
-
}), /* @__PURE__ */
|
|
157
|
+
}), /* @__PURE__ */ S("p", {
|
|
286
158
|
className: "text-sm font-bold text-text-primary",
|
|
287
|
-
children:
|
|
159
|
+
children: U.nextShift ? `${E(U.nextShift.date)} ${D(U.nextShift.startTime)}` : "None scheduled"
|
|
288
160
|
})]
|
|
289
161
|
})
|
|
290
162
|
]
|
|
291
|
-
})] }), /* @__PURE__ */
|
|
163
|
+
})] }), /* @__PURE__ */ C("div", {
|
|
292
164
|
className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm overflow-hidden",
|
|
293
|
-
children: [/* @__PURE__ */
|
|
165
|
+
children: [/* @__PURE__ */ C("div", {
|
|
294
166
|
className: "flex border-b border-border-subtle",
|
|
295
167
|
children: [
|
|
296
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ C("button", {
|
|
297
169
|
type: "button",
|
|
298
|
-
onClick: () =>
|
|
299
|
-
className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2",
|
|
300
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
174
|
+
/* @__PURE__ */ C("button", {
|
|
303
175
|
type: "button",
|
|
304
|
-
onClick: () =>
|
|
305
|
-
className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2",
|
|
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__ */
|
|
180
|
+
/* @__PURE__ */ C("button", {
|
|
316
181
|
type: "button",
|
|
317
|
-
onClick: () =>
|
|
318
|
-
className: t("flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2",
|
|
319
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
187
|
+
}), /* @__PURE__ */ C("div", {
|
|
323
188
|
className: "p-5",
|
|
324
189
|
children: [
|
|
325
|
-
|
|
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__ */
|
|
193
|
+
/* @__PURE__ */ C("button", {
|
|
329
194
|
type: "button",
|
|
330
|
-
onClick: () =>
|
|
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__ */
|
|
197
|
+
children: [/* @__PURE__ */ S(f, { className: "h-3.5 w-3.5" }), "Previous Week"]
|
|
333
198
|
}),
|
|
334
|
-
/* @__PURE__ */
|
|
199
|
+
/* @__PURE__ */ C("h3", {
|
|
335
200
|
className: "text-sm font-medium text-text-primary",
|
|
336
201
|
children: [
|
|
337
|
-
|
|
202
|
+
W.start,
|
|
338
203
|
" - ",
|
|
339
|
-
|
|
204
|
+
W.end
|
|
340
205
|
]
|
|
341
206
|
}),
|
|
342
|
-
/* @__PURE__ */
|
|
207
|
+
/* @__PURE__ */ C("button", {
|
|
343
208
|
type: "button",
|
|
344
|
-
onClick: () =>
|
|
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__ */
|
|
211
|
+
children: ["Next Week", /* @__PURE__ */ S(p, { className: "h-3.5 w-3.5" })]
|
|
347
212
|
})
|
|
348
213
|
]
|
|
349
|
-
}),
|
|
350
|
-
icon: /* @__PURE__ */
|
|
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: "
|
|
353
|
-
}) : /* @__PURE__ */
|
|
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:
|
|
356
|
-
className: t("rounded-lg border p-4 transition-colors", e.status === "
|
|
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__ */
|
|
223
|
+
/* @__PURE__ */ C("div", {
|
|
359
224
|
className: "flex items-center justify-between mb-3",
|
|
360
|
-
children: [/* @__PURE__ */
|
|
225
|
+
children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
|
|
361
226
|
className: "flex items-center gap-2 flex-wrap",
|
|
362
|
-
children: [/* @__PURE__ */
|
|
227
|
+
children: [/* @__PURE__ */ S("h4", {
|
|
363
228
|
className: "text-sm font-semibold text-text-primary",
|
|
364
|
-
children:
|
|
365
|
-
}), /* @__PURE__ */
|
|
366
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize",
|
|
367
|
-
children: 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__ */
|
|
234
|
+
}), /* @__PURE__ */ C("p", {
|
|
370
235
|
className: "text-xs text-text-secondary mt-1",
|
|
371
|
-
children: [
|
|
372
|
-
|
|
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:
|
|
239
|
+
children: /* @__PURE__ */ S("p", {
|
|
379
240
|
className: "text-lg font-bold text-text-primary",
|
|
380
|
-
children:
|
|
381
|
-
})
|
|
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__ */
|
|
464
|
-
className: "grid grid-cols-1 md:grid-cols-2 gap-3 text-sm
|
|
465
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
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: "
|
|
255
|
+
children: "Tasks Completed"
|
|
474
256
|
}), /* @__PURE__ */ C("p", {
|
|
475
|
-
className: "text-xs font-medium text-text-primary",
|
|
476
|
-
children: e.
|
|
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__ */
|
|
480
|
-
className: "
|
|
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: () =>
|
|
498
|
-
|
|
499
|
-
|
|
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: () =>
|
|
503
|
-
|
|
504
|
-
|
|
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
|
-
|
|
511
|
-
/* @__PURE__ */
|
|
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__ */
|
|
297
|
+
/* @__PURE__ */ S("div", {
|
|
516
298
|
className: "space-y-3",
|
|
517
|
-
children:
|
|
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__ */
|
|
301
|
+
children: [/* @__PURE__ */ S("div", {
|
|
520
302
|
className: "w-32 shrink-0",
|
|
521
|
-
children: /* @__PURE__ */
|
|
303
|
+
children: /* @__PURE__ */ C("label", {
|
|
522
304
|
className: "flex items-center gap-2 cursor-pointer",
|
|
523
|
-
children: [/* @__PURE__ */
|
|
305
|
+
children: [/* @__PURE__ */ S("input", {
|
|
524
306
|
type: "checkbox",
|
|
525
307
|
checked: e.isAvailable,
|
|
526
|
-
onChange: (t) =>
|
|
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__ */
|
|
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__ */
|
|
315
|
+
}), e.isAvailable ? /* @__PURE__ */ C("div", {
|
|
534
316
|
className: "flex flex-col sm:flex-row gap-3 flex-1",
|
|
535
|
-
children: [/* @__PURE__ */
|
|
317
|
+
children: [/* @__PURE__ */ C("div", {
|
|
536
318
|
className: "flex items-center gap-2",
|
|
537
|
-
children: [/* @__PURE__ */
|
|
319
|
+
children: [/* @__PURE__ */ S("span", {
|
|
538
320
|
className: "text-xs text-text-secondary w-10",
|
|
539
321
|
children: "From"
|
|
540
|
-
}), /* @__PURE__ */
|
|
322
|
+
}), /* @__PURE__ */ S("input", {
|
|
541
323
|
type: "time",
|
|
542
324
|
value: e.preferredStartTime,
|
|
543
|
-
onChange: (t) =>
|
|
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__ */
|
|
328
|
+
}), /* @__PURE__ */ C("div", {
|
|
547
329
|
className: "flex items-center gap-2",
|
|
548
|
-
children: [/* @__PURE__ */
|
|
330
|
+
children: [/* @__PURE__ */ S("span", {
|
|
549
331
|
className: "text-xs text-text-secondary w-10",
|
|
550
332
|
children: "To"
|
|
551
|
-
}), /* @__PURE__ */
|
|
333
|
+
}), /* @__PURE__ */ S("input", {
|
|
552
334
|
type: "time",
|
|
553
335
|
value: e.preferredEndTime,
|
|
554
|
-
onChange: (t) =>
|
|
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__ */
|
|
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__ */
|
|
346
|
+
/* @__PURE__ */ S("div", {
|
|
565
347
|
className: "mt-5",
|
|
566
|
-
children: /* @__PURE__ */
|
|
348
|
+
children: /* @__PURE__ */ C("button", {
|
|
567
349
|
type: "button",
|
|
568
350
|
onClick: () => {
|
|
569
|
-
alert("Availability
|
|
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__ */
|
|
354
|
+
children: [/* @__PURE__ */ S(v, { className: "h-4 w-4" }), "Save Availability"]
|
|
573
355
|
})
|
|
574
356
|
})
|
|
575
357
|
] })
|